Routes
🤖 This is a generated document — do not edit. Built by
tools/wiki/generate-routes-page.tsfrom both apps'app.routes.tssources + the visual-diff manifests intools/visual-diff/route-manifests.ts. Refresh withbun run wiki:buildand commit; staleness fails the wiki gates in CI and pre-push. About this section: Generated Docs.
See also: Architecture Overview, Auth and Users, Feature Flags
The live sitemap, parsed from both apps' app.routes.ts. Flag-gated
routes use featureFlagCanMatch — flag off means the route doesn't match at
all (the 404 renders, no chunk downloads). Secret routes
(tierSecretGuard) send non-qualifying visitors to / without revealing
the route exists. Visual = screenshot coverage from the drift-gated
manifests (route-manifests.ts): how many shots hit the route, plus the
flags-off / expanded-viewport passes; excluded = a documented exclusion.
Web app (51 routes)​
| Path | Access | Kind | Visual |
|---|---|---|---|
/why-stretched | feature flag | page | 1 shot |
/contact | feature flag | page | 1 shot |
/help | feature flag | page | 1 shot |
/blog | feature flag | page | 1 shot |
/press | feature flag | page | 1 shot |
/merch | feature flag | page | 1 shot |
/careers | feature flag | page | 1 shot |
/chrome-extension | feature flag | page | 1 shot |
/developers | feature flag | page | 1 shot |
/learn | feature flag | page | 1 shot |
/security | feature flag | page | 1 shot |
/ | public | page | 1 shot |
/dashboard | public | page | 1 shot |
/price-translator | authGuard | page | 1 shot |
/times-value | authGuard | page | 1 shot |
/layaway | authGuard | page | 1 shot |
/expenses | authGuard | page | 1 shot |
/news | public | page | 1 shot |
/worth-it | public | redirect → worth-it/travel | — |
/worth-it/:slug | public | page | 20 shots |
/voting | public | page | 1 shot |
/compare | public | page | 1 shot |
/imagine | public | page | 1 shot |
/optimize | public | page | 1 shot |
/quality-of-life | public | page | 1 shot |
/investments | public | page | 1 shot |
/opportunities | public | page | 1 shot |
/projections | public | page | 1 shot |
/remaining-days | public | page | 1 shot |
/adviser | tierSecretGuard, permission adviser.access | page | 1 shot |
/legacy | tierSecretGuard, permission legacy.access | page | 1 shot |
/gathering | tierSecretGuard, permission gathering.access | page | 1 shot |
/settings | public | page | 1 shot |
/account | feature flag | page | 1 shot + flags-off |
/pricing | public | redirect → account | excluded |
/legal/eula | public | page | 1 shot |
/legal/terms | public | page | 1 shot |
/legal/privacy | public | page | 1 shot |
/legal/web-visitor-privacy | public | page | 1 shot |
/legal/cookies | public | page | 1 shot |
/legal/refunds | public | page | 1 shot |
/legal/accessibility | public | page | 1 shot |
/legal/do-not-sell | public | page | 1 shot |
/legal/gdpr | public | page | 1 shot |
/legal/disclaimer | public | page | 1 shot |
/about | feature flag | page | 1 shot |
/partners | feature flag | page | 1 shot |
/stories | feature flag | page | 1 shot |
/admin/partners | adminGuard | page | 1 shot |
/admin/story-builder | adminGuard | page | 1 shot |
/** | public | page | excluded |
Mobile app (13 routes)​
| Path | Access | Kind | Visual |
|---|---|---|---|
/login | public | page | 1 shot |
/ | authGuard | page | excluded |
/onboarding | feature flag | page | 1 shot + expanded |
/unlock | public | page | 1 shot |
/share | public | page | 1 shot + expanded |
/settings | public | page | 1 shot + expanded |
/ | public | page | excluded |
/home | incomeStoryGuard, encryptionGuard | page | 1 shot + expanded |
/dashboard | incomeStoryGuard, encryptionGuard | page | 1 shot + expanded |
/stories | storyFeatureFlagsGuard | page | 1 shot + expanded |
/stories/:name | storyFeatureFlagsGuard | page | 1 shot |
/ | public | redirect → home | excluded |
/** | public | redirect → / | excluded |