Sequencing
Roadmap
What we are building, in what order, and why. Keep platform/ and mobile/ aligned without duplicating the plan in the root README.
Now (shipped)
Public marketing site plus Authlogic actors, founder tenant provision, Location-aware staff workspace at /app (patients, schedule, whiteboard, SOAP, catalog, inventory, settings with SaaS billing), free-trial tracking, SuperUser Admin console, and staff JSON API.
| Item | Where |
|---|---|
| Monorepo: platform, mobile, docs, wiki | repo root |
| Rails 8.1, Ruby 4.0.2, PostgreSQL, Tailwind, Hotwire | platform/ |
| Staff workspace + Location switcher | GET /app, PATCH /app/workspace |
| Organization settings, invite, RBAC assignment, SaaS billing | /app/settings (Billing tab) — SaaS billing |
| Stripe SaaS subscriptions, credits, plan upgrades/downgrades | Billing::PlanChange, POST /webhooks/stripe, /admin/billing_transactions |
| Patient admission + chart history | /app/patients — Patients |
| Location appointment calendar + recurrence | /app/schedule — Appointments |
| Visits and whiteboard | /app/whiteboard — Visits |
| SOAP notes per visit | /app/visits/:id/soap_note — SOAP |
| Master catalog + Location overrides | /app/catalog |
| Per-Location on-hand stock | /app/inventory |
| Admin console + staff API | /admin, /api/v1 |
| Expo SDK 57 scaffold | mobile/ |
Next
Prefer models in platform/ before duplicating behavior in Expo.
- Invite email and accept-by-token — Deliver the pending Staff invite and a public page that calls
Staff#accept!. - Admin console (manage tenants) — Expand SuperUser-only
/adminto create and manage orgs, entities, and locations (listing and trial days already ship). - Geocoding — Fill Location
latitude/longitudefrom the address. - Production storage — Switch Active Storage from disk to S3 when buckets exist.
- Mobile client — Replace the Expo placeholder with User login and the first organization workflow that already works on the web.
Later (product, not scheduled)
Promised on the landing page. Write acceptance in docs/functional first:
- Richer scheduling (buffers; more provider/room UX)
- SOAP voice-to-text and richer chart UX (structured SOAP + history already ship)
- SMS reminders and client messaging
- Analytics dashboard
- Inventory transfers and purchase orders — Inventory
- Invoicing and three-way finance reports — Billing
- Elite: priority support, public API, custom branding
- Data migration / onboarding for Business and Elite