Customer Engagement Platform for Email, Push Notifications, & SMS
The world's leader for mobile push notifications, web push, SMS, email and in-app messaging. Trusted by 2 million+ businesses to send 12 billion+ messages per…
Turn every visit into a review request. One link and QR code send customers to Google, Facebook, and Yelp, with the same buttons at every rating.
MarketingTypeScript · CSSGitHub @DealPatrolOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
ReputationFlow helps local businesses request honest public reviews, collect optional private feedback, monitor results, and draft responses.
Every customer sees the same Google, Facebook, and Yelp review links regardless of the rating they select. Private feedback is optional and appears alongside those public links. ReputationFlow does not suppress, delay, or discourage public reviews based on sentiment.Read the full README ↗ReputationFlow helps local businesses request honest public reviews, collect optional private feedback, monitor results, and draft responses.
Every customer sees the same Google, Facebook, and Yelp review links regardless of the rating they select. Private feedback is optional and appears alongside those public links. ReputationFlow does not suppress, delay, or discourage public reviews based on sentiment.
npm ci
cp .env.example .env.local
npm run migrate
npm run dev
npm run migrate is the only database initialization path. It applies the idempotent schema in scripts/migrate.sql; there are no public database-init endpoints.
For a keyless demo, omit DATABASE_URL, Stripe, and Groq variables and run npm run dev. Visit /demo, or sign in with:
[email protected]demo-reputationflowDemo mode uses sample data, deterministic AI response drafts, and disables account creation and billing.
Copy .env.example. Production requires:
DATABASE_URLAUTH_SECRET (at least 32 random characters)NEXT_PUBLIC_APP_URLNEXT_PUBLIC_SITE_URL (canonical origin for SEO, sitemap, and shared review links; use the custom domain once it is attached)Pro billing additionally requires:
STRIPE_SECRET_KEY (prefer a restricted key with only the required permissions)STRIPE_PRICE_ID_PROSTRIPE_WEBHOOK_SECRET/api/stripe/webhookAI, email, KV, and Blob credentials are optional and documented in .env.example. ReputationFlow does not send SMS.
Meta Pixel, GA4, and Google Ads load only when the matching NEXT_PUBLIC_ variable is set. See .env.example. Change those variables and redeploy; they are inlined at build time.
?success=true. Closing the tab before then means the browser tag does not fire. There is no server-side Measurement Protocol call.utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, and fbclid are stored on leads and users from the first page that carried them. Run npm run migrate so those columns exist.
/ads/contractors, /ads/restaurants, and /ads/home-services are noindex landing pages with one signup button. Their canonicals point at the matching organic page. They are not in the sitemap.
/google-review-request-templates offers a plain-text pack of in-person, text, and email scripts. The download does not require an email or an account.
If someone submits an email, the app stores a row in the existing leads table with source review-templates. There is no separate mailing list or email vendor beyond Resend. When RESEND_API_KEY and EMAIL_FROM are set, that same request emails the pack. If email is not configured, the signup is still stored and the page tells the person to download the file. Demo mode (no DATABASE_URL) cannot store leads. The download still works.
Never commit real credentials. Keep separate test and live Stripe keys. Configure tax registrations before enabling Stripe Tax; this integration does not enable automatic tax.
npm run lint
npm run type-check
npm run build
npm test
Subscribe the webhook endpoint to:
checkout.session.completedcustomer.subscription.updatedcustomer.subscription.deletedWebhook signatures are verified before processing. Event IDs are persisted in stripe_webhook_events so retries are idempotent.
Next.js 16, React 19, Neon Postgres, Groq, Resend, Stripe, and Vercel.