Customer signup page
The link in the temp-points SMS. Branded, count-up/stamp graphic, expiry countdown, happy-hour, birthday, two-tier consent. Live at helplocal-signup.pages.dev. Worker wiring pending.
What's shipped, what's active, and what's queued for the payments + loyalty app.
The link in the temp-points SMS. Branded, count-up/stamp graphic, expiry countdown, happy-hour, birthday, two-tier consent. Live at helplocal-signup.pages.dev. Worker wiring pending.
Customer "my rewards" home: shared loyalty graphic (balance/progress), expiry + happy-hour chips, and a merchant-controlled specials/deals/events feed. Live at helplocal-hub.pages.dev.
flavir-api deployed with Stripe secrets + Connect webhook; app + onboarding point at the live API. Test mode until live keys flip on (the go-live switch).
Rep tool: create a Stripe Standard account + hosted setup link, configure the app, set the free trial, launch. Verified against the sandbox end-to-end.
Fee computed server-side (client can't lower it); $0 during trial, auto-activates after. Reviews/surveys/customers counted from day one; merchant scoreboard page renders the results.
Counter + sit-down flows: rewards ask, lookup, join incentive, review, tenders, tip, receipt. Live at helplocal-app.pages.dev.
Onboard + direct charge + application fee routed to the platform. Verified end-to-end in the sandbox.
Per-merchant config + billing on the record; two-tier (merchant vs master) enforced server-side; app pulls its config by slug. Tested via wrangler dev.
Audit + extend the worker routes for the full flow. Includes the review-link SMS sender + a tracked redirect (to capture Google click-through) and wiring the signup/hub pages to the backend.
The keystone. Cloudflare D1 as the queryable system-of-record: customers, loyalty, transactions, consent log, and an append-only event log feeding the reporting dashboard (new signups, reviews, bad-reviews-saved, customers brought back).
Points ledger + earn/redeem, inactivity expiration, and happy-hour multipliers. Server-authoritative like the fee.
Time-based messaging the worker can't do yet: points-expiry reminders + automated re-engagement. Respects consent, STOP, quiet hours.
Pair a device to a merchant at first-run; per-device token required to charge + write settings.
Download customers / transactions as CSV, opens in Excel. Small, DB-agnostic worker endpoint.
Off-machine backup + version control. 10+ commits live only on this machine. Needs a gh login.
WebView + Stripe Terminal SDK; discover the M2 reader (BLE/USB) and fire a charge. Verify with the simulated reader. Spec first.
M2 ($59) + roaming mount ($5), paired to a host phone (M2 reads the card, so no NFC needed). Run a real live charge.
Internal-testing track or direct install — no public store needed for direct-sold merchants.
Merchant dashboard to edit their own settings. Build when manual changes become a burden.
On-device Clover app — the no-second-device / scale play. Deprioritized: don't let it block launch.
Move to ~/dev for faster git. Optional — only if local git feels slow. Keep Time Machine on the rest.
Swift + WKWebView + Terminal iOS SDK for the App Store. Only if an iPhone-based merchant needs it.
Single charge + ACH-sweep of fees (no Stripe app fee), optional residual. The Stripe-freeze hedge.