Oslr Documentation

Oslr · Operational docs

Oslr documentation

Everything you need to deploy, configure, and keep Oslr running. Oslr is a mobile-first app that helps doctors and medical students organise clinical bedside teaching on hospital wards — one React codebase shipped to web and to native iOS/Android.

Branch model, in one line

All development lands via pull requests into dev; main is production and only moves when you merge devmain. Full detail in Deployment → Branching & release workflow.

BranchWhat it deploys
devPreview web (dev DB) · a release-candidate app to TestFlight for App Review — the app always points at the prod DB · the docs site
mainProduction web + prod backend, and the reviewed app version is released to the stores at the same time

How it ships

Three pipelines, all triggered by pushing to GitHub. There are no manual release steps in the normal path.

TargetToolTriggerShips to
WebVercelPush (any branch)Website
MobileCodemagicPush to devTestFlight + Google Play internal
BackendGitHub ActionsPush touching supabase/**Migrations, Edge Functions, email templates

Two environments

The backend runs as two separate Supabase projects, chosen by branch. The frontend picks its project from build-time VITE_SUPABASE_* variables.

BranchWeb (Vercel)Supabase project
mainProductionprod
dev + feature branchesPreviewdev (jeibuakusgpcyybfnmos)

Secrets live in the provider dashboards (GitHub, Vercel, Codemagic, Supabase) — never in the repo. Ownership and rotation are in the Runbook.

Also in the repo

Architecture, conventions, and the data model live in CLAUDE.MD; the project overview is in the README. Point-in-time product notes (the July 2026 usability audit, action plan, and wave 1–2 fixes) and debugging reproduction scripts stay as markdown under docs/ — see the docs index.