Problem
The product is built around two daily touchpoints — morning intentions and evening wins — that come to the user. Earlier marketing surfaces promoted a tier ladder, streaks, badges, and a Day-66 ceremony that didn’t match the actual behavioral core. The redesign had to strip the gamification and re-center on the real product.
Approach
Two separate Workers — public landing (apps/landing) and authenticated portal (apps/api/apps/portal) — running on Astro 5 + Tailwind v4 with Cloudflare D1, Durable Objects, KV, Workers AI, Twilio, Clerk, and EmDash CMS.
Crisis-language detection runs on every user message: when triggered, the bot automatically presents 988 + Crisis Text Line. The previous “Cadence Steward” human-in-the-loop role was removed; the product is now pure-AI with deterministic crisis routing.
What I shipped
- Edition 03 Pull-First Redesign across 3 PRs:
- Demolish gamification + midday touchpoint
- Rebuild the portal IA around four tabs (Today / Cadence / Winning Cadence / Self)
- Visual fidelity pass (fonts, tokens, sk-box utilities, receipt-style Today, editorial settings)
- Strict TDD on every implementation task; verification report → fix commit → re-verify
- Tenant-audit test suite hardened against typecheck regressions