HelpLocal Build Board

Stripe rail · customer app

What's shipped, what's active, and what's queued for the payments + loyalty app.

Build progress8 of 19 tasks done
Done 8
In progress 1
To do 10
Backlog 4
Done8
#30Prototype

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.

#31Prototype

Member hub page

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.

#15Live

Worker in production

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).

#7Verified

Merchant onboarding (Standard)

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.

#14Verified

Free-trial + fee gating + scoreboard

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.

#12Live

Customer app prototype

Counter + sit-down flows: rewards ask, lookup, join incentive, review, tenders, tip, receipt. Live at helplocal-app.pages.dev.

#11Proven

Stripe Connect money loop

Onboard + direct charge + application fee routed to the platform. Verified end-to-end in the sandbox.

#13Verified

Merchant config + app wiring

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.

In progress1
#8

flavir-api Worker endpoints

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.

To do10
#26Next up

D1 ledger + event log + reporting

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).

#28

Loyalty engine (server-side)

Points ledger + earn/redeem, inactivity expiration, and happy-hour multipliers. Server-authoritative like the fee.

#29

Scheduled sender (Worker Cron)

Time-based messaging the worker can't do yet: points-expiry reminders + automated re-engagement. Respects consent, STOP, quiet hours.

#23

Device pairing + auth token

Pair a device to a merchant at first-run; per-device token required to charge + write settings.

#27

Merchant CSV export

Download customers / transactions as CSV, opens in Excel. Small, DB-agnostic worker endpoint.

#24

Push repo to private GitHub

Off-machine backup + version control. 10+ commits live only on this machine. Needs a gh login.

#16

Thin native Android shell

WebView + Stripe Terminal SDK; discover the M2 reader (BLE/USB) and fire a charge. Verify with the simulated reader. Spec first.

#17

Order M2 + mount; validate card flow

M2 ($59) + roaming mount ($5), paired to a host phone (M2 reads the card, so no NFC needed). Run a real live charge.

#18

Distribution for pilots

Internal-testing track or direct install — no public store needed for direct-sold merchants.

#19Later

Merchant self-serve settings UI

Merchant dashboard to edit their own settings. Build when manual changes become a burden.

Backlog4
#20

Clover App Market path

On-device Clover app — the no-second-device / scale play. Deprioritized: don't let it block launch.

#25

Relocate repo off iCloud

Move to ~/dev for faster git. Optional — only if local git feels slow. Keep Time Machine on the rest.

#21

iOS shell

Swift + WKWebView + Terminal iOS SDK for the App Store. Only if an iPhone-based merchant needs it.

#22

Second rail — Propelr / CardPointe

Single charge + ACH-sweep of fees (no Stripe app fee), optional residual. The Stripe-freeze hedge.