Welcome-back gate + always-available "Start over"

Fixkamolos
Shipped
May 16, 2026 at 3:14 AM UTC
Author
Kamo
Commit
d37bd49

Returning visitors with persisted IDB state were being dropped straight into whatever stage they last reached — including the estimate-reveal screen, which (without the conversational lead-up) reads as a confusing numbers dump for someone who has never seen the warm conversational intro. This change: 1. Adds resetAndClearStorage() to the persistence store — combines the in-memory zustand reset with the idb-keyval clearState(). 2. Adds WelcomeBackGate component — a deliberate orientation moment when prior progress exists but no AppMortgage has been minted yet. T-Rex greets by name (when known), gives two big choices: "Pick up where I left off" or "Start fresh". 3. ConversationalRoot now requires resumeAcknowledged === true before any auto-stage advancement when hasPriorProgress is true. Brand-new visitors continue to land on the warm conversational greeting as intended; nothing changes for them. 4. CenterStage adds a small, always-visible "Start over" link in the footer of every conversational screen (except loading + welcome-back themselves). Tap-once shows a confirm prompt; tap-again clears everything and reloads. 4-second auto-cancel. Also tightens a stale TS error in **************** (the answers literal needed `as Record<string, unknown>` to allow the 'cash-out-amount' key not present in the prior step's narrowed type). 76/76 tests pass, build clean.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing