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.

ItemWhere
Monorepo: platform, mobile, docs, wikirepo root
Rails 8.1, Ruby 4.0.2, PostgreSQL, Tailwind, Hotwireplatform/
Staff workspace + Location switcherGET /app, PATCH /app/workspace
Organization settings, invite, RBAC assignment, SaaS billing/app/settings (Billing tab) — SaaS billing
Stripe SaaS subscriptions, credits, plan upgrades/downgradesBilling::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 scaffoldmobile/

Next

Prefer models in platform/ before duplicating behavior in Expo.

  1. Invite email and accept-by-token — Deliver the pending Staff invite and a public page that calls Staff#accept!.
  2. Admin console (manage tenants) — Expand SuperUser-only /admin to create and manage orgs, entities, and locations (listing and trial days already ship).
  3. Geocoding — Fill Location latitude / longitude from the address.
  4. Production storage — Switch Active Storage from disk to S3 when buckets exist.
  5. 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: