#28Next up
Loyalty engine (server-side)
Points/stamp ledger + earn/redeem, inactivity expiration, happy-hour multipliers, and the config-driven stacking earn engine (base + code + streak + happy-hour). Server-authoritative like the fee. Builds on #26; hosts the #36 streak state.
#36Demo live
Streaks + stacking earn engine
Prototype shipped (helplocal-kiosk ?scenario=streak): 🔥 streak badge + stacked-earn breakdown on the check-in confirmation, and the full streak SMS comms series in the preview (ignite → at-risk → milestone), each transactional + neutral link (come-back lives on the hub). Params: streak / streakgoal / streakperiod (day|week|month). Still to do: the layerable config array (cadence/count × day/week/month, %-off reward, per-layer per-visit/milestone) + server-authoritative state in D1, computed like the fee — lands with #28.
#40Spec'd 7/18
Standalone Streak — new-customer capture + consent flow
The streak-led product as its own toggle position + options (top of the demo toggle). NEW customer: phone entry → step 2 consent screen (phone prefilled/greyed + "check for offers & perks" marketing boxes, unchecked = PEWC) → step 3 "reply YES to the text to confirm." Streak credited on step 1 — never gated behind consent; returning customers skip the consent step. Two previewable SMS variants: no opt-in = transactional status + neutral link to a streak-benefits page (details live on the page, not the text); opted-in = more descriptive in-text. Plus the confirmation "Reply YES" text. New streak-benefits webpage = the neutral-link destination.
#38Session tool
Program designer (config surface)
The strategy-session tool: toggle streaks (layerable) + happy-hour + expiration + base earn + bonuses live in front of the merchant and preview the customer experience. Output = the merchant's config record. The consultative sell — not a dumb points app. (Merchant self-serve version = #19, later.)
#39Sales tool
Merchant strategy-session guide
Visual guide + discovery questions + design framework for designing a merchant's program: visit-frequency → streak period, threshold just above the median (incremental, not cannibalizing), reward choice, happy-hour to slow periods, expiration for urgency. Economics guardrails baked in. Usable in a real meeting before the designer UI exists.
#41Validate
Discovery interview guide
The missing "learn" asset. Mom-Test-style questions (Rob Fitzpatrick) to learn a merchant's real pain BEFORE pitching — non-leading, past-behavior-focused. Run alongside the demo so every conversation teaches, not just sells. The demos are the "show"; this is the "learn."
#42Validate
Riskiest-assumption one-pager
Name the single belief that kills this if it's false (e.g. "merchants pay $100/mo for streak differentiation" or "streaks actually change visit frequency"), then design the cheapest test of just that. Aims the effort at the kill-shot instead of building broadly.
#43Distribution
Target list + outreach cadence
15–20 real in-lane shops (signal-filter per vertical-gtm-matrix: anonymous-transaction, <~50 reviews, newer) + how to actually get in the door this week. A demo with no distribution is a painting in a closet.
#44Sales tool
Pilot / design-partner offer
A structured first-yes: free or discounted pilot in exchange for feedback + being a reference. The cheap way to land merchant #1. (Demo narrative / walkthrough script is covered by #39.)
#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.