Roadmap
Status as of 2026-05-28. Linear is the authoritative tracker — this doc reconciles what’s actually in the code with the planning material in _archive/product/fitkit-product-roadmap.md (which is much older) and the strategic framing in _archive/product-direction.md.
Conventions in this doc:
- ✅ Shipped (in main, customer-visible).
- 🔨 Active development.
- 🟡 Near-term (next 1–3 months).
- 🔵 Longer-term (3–9 months).
- ⛔ Deferred / explicitly not building soon.
Issue IDs (FIT-XXX) link to the Linear backlog. When a code reference is given, treat that as the canonical source.
Shipped recently (last ~2 months)
| Area | What | Notes |
|---|---|---|
| ✅ Spotter Phase 1 | Coach-only AI assistant with tools, RAG, conversation history, rate limit, audit. | apps/api/src/ai/agent/. Per-turn cost + cache hit ratio tracked in PostHog. Tier-gated. |
| ✅ Push notifications | Native push via Expo to coach/owner devices for assignments, messages, announcements. | libs/db/src/lib/schema/device-tokens.ts, apps/api/src/push-notifications/. BullMQ-driven fan-out. |
| ✅ Forms engine — compliance | Hebrew signed PDF flow (FIT-158, FIT-176). Single-use signing link, 7-day TTL, immutable R2 bucket. | apps/api/src/forms/, libs/db/src/lib/schema/forms.ts. See FIT-184 spike comment for design. |
| ✅ Forms engine — check-in | Recurring coach check-ins, scheduled → sent → answered → reviewed. | Same module. FIT-183. |
| ✅ Onboarding auto-issue of compliance forms | When a new member joins, the configured compliance forms auto-issue. | apps/api/src/forms/forms.service.ts (Onboarding auto-issue block, FIT-176). Uses EventEmitterModule. |
| ✅ Cardcom integration | Platform-billing (B2B) + member-billing provider option. | apps/api/src/payments/, PLATFORM_BILLING_* env. |
| ✅ Morning provider | Israeli invoicing + payments (formerly GreenInvoice). | Same module; sandbox + prod URLs configurable. |
| ✅ Member-initiated cancellation | Period-end self-cancel (low priority cancellation_review task) and immediate-with-refund flow (urgent owner approval). | taskType: cancellation_review, cancellationRequestStatus enum. |
| ✅ Manual refund tasks | Auto-created when refunding through manual-capability providers (e.g. Morning). | taskType: manual_refund, transactionStatus: refund_pending. |
| ✅ Course delivery mode | Purchasable programs with sequential or open curriculum. | delivery_mode = 'course', course_configs, course_entitlements. |
| ✅ Multi-domain minisites | Per-org custom domains via Vercel domain API. | apps/minisites/, VERCEL_TOKEN/VERCEL_MINISITES_PROJECT_ID env. |
| ✅ Arbox + CSV import | Per-phase importer (plans → members → enrichment → done). | apps/api/src/import/, libs/db/src/lib/schema/imports.ts. |
| ✅ Per-cell assignment kinds | Coaching grid cells can be `workout | rest |
| ✅ Program templates | Reusable multi-week structures (FIT-74). | libs/db/src/lib/schema/program-templates.ts. Excludes course mode. |
| ✅ Pgvector + embeddings | Voyage-multilingual-2 embeddings for exercises, workouts, programs, member profiles. | libs/db/src/lib/schema/_pgvector.ts, apps/api/src/ai/embeddings/. Degrades gracefully without VOYAGE_API_KEY. |
| ✅ Migration safety (post-incident) | Strict-monotonic _journal.json when rule documented after 2026-04-18 outage. | See CLAUDE.md “Database Policy” + architecture/database.md. |
Active development
| Area | Issue | Status notes |
|---|---|---|
| 🔨 Forms validation | FIT-176 follow-ups | Field-level validation polish (date pickers, multi-select, conditional questions). Renderer mostly there; some inputs need work. |
| 🔨 Audit log surfacing | FIT-20 | The audit_logs table exists and captures select admin writes. The cross-cutting interceptor and admin-UI browser are not done. Trust-signal gap for paying customers. |
| 🔨 Insights widgets | (apps/api/src/insights/) | Dashboard-overview widgets are partial — capacity utilization, lead conversion. Full analytics dashboard is the next wave. |
| 🔨 Lead pipeline polish | FIT-140 area | Lead → trial → conversion task automation. Wired but edge cases (duplicate leads, status reversal) need work. |
| 🔨 Cost dashboard (admin) | (apps/api/src/admin/) | Neon + Railway + PostHog cost surfaces wired; per-org cost breakdown still rough. |
Near-term roadmap (1–3 months)
| Theme | What | Issue / area |
|---|---|---|
| 🟡 WhatsApp (transactional) | Twilio ISV middleware integration — booking confirmations, payment reminders, form delivery. Not direct Meta API. | FIT-157 area |
| 🟡 Analytics dashboard v1 | Monthly revenue, retention cohort, churn, class utilization. The “demo wow” piece. | FIT-162 area |
| 🟡 Email automations | Welcome series, follow-up, re-engagement; per-org Resend audience templates. | FIT-24 area |
| 🟡 Reports (operator) | Monthly revenue/retention/churn export. CSV + PDF. | |
| 🟡 Spotter Phase 2 — member-facing | A constrained member assistant (FAQ-style: schedule, PR lookup, plan status). Separate tool surface, tighter guardrails. | |
| 🟡 Refine programming delivery modes | Tighten feed vs schedule vs coaching UX based on actual usage. | |
| 🟡 Audit log completion | Full interceptor + admin-UI browser. Closes FIT-20. | FIT-20 |
| 🟡 Spotter cost/budget caps | Per-org daily cost ceilings, surfaced to admin. |
Longer-term (3–9 months)
| Theme | What | Notes |
|---|---|---|
| 🔵 Native mobile | Start with PWA hardening, evaluate React Native based on push + offline gaps. Member-first; coach later. | |
| 🔵 WhatsApp AI bot | Spotter on WhatsApp — true conversational interface, not just templates. Sits on the Twilio ISV pipe. | |
| 🔵 Advanced analytics | Cohort retention, churn forecasting, member LTV. | |
| 🔵 Arbox migration tool | Mapping UI + dry-run + diff. Critical for studio segment switch costs. | |
| 🔵 Community surfaces | Feed, reactions, comments — already in schema (feedItems, reactions) but UX is dormant. Will revisit if beta signal supports it. | |
| 🔵 Multi-location | Schema can carry multiple locations per org; UX, reporting, and staff per-location not yet built. | Fewer than 5% of users need it today. |
| 🔵 Payments expansion | Bit deeper integration, additional Israeli providers if demanded. |
Deferred / not building
- ⛔ Direct Meta WhatsApp Business API — stay on Twilio middleware until volume forces it.
- ⛔ Enterprise SSO / SCIM.
- ⛔ On-premise deployment.
- ⛔ Custom API for individual customers.
- ⛔ Nutrition coaching, gun ranges, tennis/paddle club software, anything outside core fitness ICP.
- ⛔ Family / group memberships (Pro+ feature in old roadmap; deprioritized).
- ⛔ Multiple-location complexity for orgs under 5 locations.
How to read the legacy planning docs
_archive/product/fitkit-product-roadmap.md predates the current platform-tier model and uses different tier names (Starter / Studio / Pro). The shipped product uses lite | pro | elite — see libs/db/src/lib/schema/enums.ts: platformTier. Use the legacy roadmap for feature inspiration only; the tier matrix is no longer accurate.
_archive/product-direction.md (2026-04-17) remains a reliable strategic frame — the personas, the three pillars, and the GTM phasing are unchanged. The pricing numbers (₪249 / ₪499) are still aspirational.