Skip to main content
The localized /pitch page is a twelve-slide product and business presentation. It is intentionally excluded from search indexing while its commercial rollout remains under review. It does not change billing or grant product access.

Present

Use the arrow keys or previous/next controls to navigate. Home and End jump to the first and final slides. Space toggles twelve-second autoplay. Playback pauses when the browser tab is hidden, notes are opened, or the presenter navigates manually. The overview lists every slide. Fullscreen uses the browser Fullscreen API and shows a translated error when unavailable. The last slide includes an optional confetti action. Motion and confetti respect reduced-motion preferences. Each slide has a stable hash, such as /pitch#pricing or /vi/pitch#calculator. Copy the current browser URL to share it. Print renders the whole deck using landscape page breaks. Presenter notes are local presentation aids, not a private channel: all notes are included in the public page payload. Never put confidential information in them.

Evolve

Edit narrative and presenter notes under pitch in apps/web/messages/en.json and vi.json, then run bun i18n:sort. Structured arrays are read from server-side getMessages; keep both locale shapes aligned with PitchCopy. Slide identifiers live in apps/web/src/components/pitch/pitch-model.ts; the pricing slide and calculator read the same public catalog API as the pricing page. They refresh every five minutes and show an unavailable state instead of a fallback price. Keep stable slide IDs when reordering so shared links continue to work. Add specialized visualizations in pitch-visual.tsx, with ordinary text labels and reduced-motion support. Financial illustrations must state USD and billing interval, identify proposed allowances separately from current catalog prices, and distinguish annual charges from monthly equivalents. Do not add traction figures, customer logos, savings claims, certifications, launch dates or contractual benefits without evidence and approval. Current pricing proposals require commercial review and do not override the live pricing or Polar catalog.

Verify

Run the focused pitch model tests, bun check, and the real web build through ttr resources run. Inspect desktop/mobile layouts, both locales, keyboard and focus behavior, deep links, reduced motion, notes, autoplay, fullscreen, confetti and print preview. Keep apps/tanstack-web/migration/route-manifest.json accurate when route ownership changes, and retain /pitch in apps/web/src/constants/public_paths.ts.