Skip to main content

Priority Roadmap

Status: Rewritten 2026-07-09 to align with what's actually built (Kaori 3D companion shipped) and the current product vision: launch the companions behind a paywall, then iterate — more tricks, more companions, better UX everywhere.

The vision in one paragraph

Companions are the product's differentiator: a coach in your pocket for every action sport, with a body, a voice, and a memory. Kaori (snowboard) is built — 3D stage, live voice, speech-synced trick demos, unified memory. Next: ship her to users with a free-sample paywall and voice-token allocation, then iterate the companion experience (more tricks, snowy environment, outfit/board unlocks, stance-aware coaching), add the skateboarding companion, refactor Spots into a flagship-quality UX, and instrument the whole app with usage analytics so decisions stop being guesses. Surfing companion after skate + snow are strong.

Priority Matrix

P0 — Ship the companions (now)

The feature is merged and prod-deployed; nothing installable contains it yet. Full audit: Companions Launch.

#TaskRepoEffortStatus
1Secure the voice WebSocket (JWT on upgrade, session caps, text-length cap) — live exposure TODAYBackend1–2 daysPending
2New EAS dev-client build + physical-device validation (MToon, voice, choreography)Mobile1 dayPending
3v3.2.0 TestFlight + Play internal builds (version bump, store pipeline dusted off)Mobile1 dayPending
4Monitoring: Sentry both services, kith-voice in ecosystem.config, ElevenLabs credit alarm, uptime checksBackend1–3 daysPending
5Release notes docs/releases/v3.2.0.md when the build shipsDocs0.5 dayPending

P1 — Monetization foundation (before public launch)

Full model: Monetization: Paywall & Tokens.

#TaskRepoEffortStatus
1COGS levers: Flash-class TTS on stage + OpenRouter prompt cachingBackend0.5 dayPending
2Token metering: user.wallet.voiceTokens, usage_events, requireVoiceTokens middleware, lazy daily grantBackend3–5 daysPending
3Free-sample gating: Kaori-only for free tier, locked companion states + upsell UIBackend + Mobile + Web3–5 daysPending
4Web purchases: extend Stripe payments.js with tier + token-pack prices, site paywall/wallet UIBackend + Web3–5 daysPending
5Mobile IAP via RevenueCat (fold into the companion EAS build)Mobile + Backend5–10 daysPending
6Basic rate caps on bot-chat (interim until metering lands)Backend1 dayPending

P2 — Companion iteration + the skate companion

#TaskRepoEffortStatus
1Regular/goofy stance onboarding — early profile question for boardsports users; feeds stance-aware choreography + coachingMobile + Backend2–3 daysPending
2Better snowboard 3D design (shape, materials, deck art)Mobile1–2 daysPending
3Refine FS360 + expand the snowboard TRICKS registry (bs 180, ollie, butters, grabs…)Mobile~0.5–1 day per trickPending
4Snowy stage environment for Kaori (skybox/terrain/props; per-sport environments pattern)Mobile3–5 daysPending
5Companion models → CDN with device cache (kills the 14MB bundle tax; prerequisite for outfits + roster growth)Mobile + Backend1–2 daysPending
6Unlockables v1: boards + colorways, XP/tier/purchase unlocks collectionMobile + Backend3–5 daysPending
7Tony — skateboarding companion: VRM avatar, persona corpus (skate media), voice, skate TRICKS registry (ollie, kickflip, shuv…), street/park environmentAll2–3 weeksPending
8Analytics events on all companion surfaces (demo opens, voice minutes, trick views) via usage_eventsMobile + Backend2 daysPending

P3 — Platform quality (parallel track)

#TaskRepoEffortStatus
1Spots UX refactor — browsing/filtering/detail flows re-designed to flagship quality; the map overlay work was the startMobile + Web1–2 weeksPending
2Full-app UX audit (web + mobile): intuitiveness/value pass on every flow, informed by analyticsAll1 week audit + fixesPending
3Usage-analytics instrumentation app-wide (PostHog exists on web; add mobile SDK + event taxonomy)Mobile + Web3–5 daysPending
4Surf companion (Rico) — after skate + snow are strongAllLaterBacklog
5Engineering-standards carryover: tests on critical paths, Zod API schemas, structured logging, API versioningAllOngoingPartial

Engineering-standards status (July 2026): Biome + Husky + CI ✅ (mobile, backend, docs) · Node 20 on prod ✅ · Google Play closed alpha ✅ · Push notifications ✅ (v3.1.0) · rate limiting ⚠️ partial (auth/registration only) · Sentry, tests, health endpoint, graceful shutdown still pending — folded into P0#4 and P3#5 above.


Quarterly Plan

Q3 2026 — Launch the companions

  • Kaori 3D stage + live voice + FS360 demos (merged PR #4)
  • Backend persona / unified memory / voice pipeline in prod (2fa8388)
  • Secure voice endpoint + monitoring
  • v3.2.0 TestFlight + Play internal
  • Token metering + free-sample paywall
  • Web purchases live; mobile IAP submitted
  • Public launch with paywall from day one

Q4 2026 — Iterate + second companion

  • Stance onboarding (regular/goofy)
  • Snowboard trick library expansion + snowy environment
  • Unlockables v1 (boards, colorways)
  • Tony (skateboard) alpha
  • Spots UX refactor
  • Full-app UX audit + analytics instrumentation

2027 — Scale the roster

  • Tony launch + skate trick library
  • Outfit VRM variants + per-sport environments
  • Surf companion (Rico) exploration
  • Community/social growth features informed by analytics

Metrics to Track

Companion & business

MetricWhy
Stage opens / DAUIs the flagship discoverable?
Voice replies per user per dayToken-tier tuning input (from usage_events)
Free → paid conversionThe paywall's whole job
Voice COGS per user per monthMust stay under tier price; alarm on drift
Demo → "Learning" trick status liftDoes coaching actually work?
D1/D7/D30 retention, companion users vs notThe differentiation hypothesis

Engineering health

MetricCurrentTarget
Crash-free sessionsUnknown (no Sentry)>99.5%
Mean time to detect errorDays (user report)Minutes (Sentry alert)
CI pass rateGreen on all repos>95%
Test coverage~0%40% on critical paths