A free clinical simulator that runs in your browser. No login, no install, works offline.
Physical simulation labs cost hundreds of thousands of dollars, require you to be in the room, and are bottlenecked by scheduling. Open Sim Lab is a virtual patient you can open on a phone on a bus. You make decisions, the patient responds, and a debrief tells you what your reasoning missed.
Built for medical students, residents, and nurse anesthetists — anywhere in the world, on any device, with or without a network.
Not for clinical use. This is an educational simulator. It is not clinical decision support, not a dosing calculator, and not validated for any decision affecting a real patient.
240 bounded labs across 15 specialties:
| Module | Labs | Where |
|---|---|---|
| Anesthesia | 39 | /anesthesia |
| Emergency medicine | 25 | /emergency-medicine |
| Critical care | 24 | /critical-care |
| Cardiology | 17 | /cardiology |
| Pediatrics | 16 | /pediatrics |
| Neurology | 15 | /neurology |
| Obstetrics | 15 | /obstetrics |
| Respiratory medicine | 15 | /respiratory-medicine |
| Toxicology | 15 | /toxicology |
| Endocrine & metabolic | 12 | /endocrine-metabolic |
| Neonatology | 11 | /neonatology |
| Infectious disease | 10 | /infectious-disease |
| Nursing | 9 | /medical-surgical-nursing |
| Renal & electrolyte | 6 | /renal-electrolyte |
| Oncology | 11 | /oncology |
Counts are the registered scenarios the build audits, not a roadmap. Every module above is now registered at its full planned count. A sixteenth, surgery and trauma, is declared and has not started, so it has no scenarios and no row here.
Each lab is a closed-loop scenario: the physiology keeps running while you decide, and what you do changes where the patient goes next.
Some labs also carry a worked example you can watch and take the controls back from at any point, and a private tutor that reads only what you have actually done. The tutor is silent unless you ask for it, says nothing at all on the unassisted setting, and never supplies the diagnosis a lesson exists to leave open. Every renal, oncology, endocrine, nursing, infectious-disease, neonatology, toxicology, neurology, obstetrics, respiratory-medicine, pediatrics, cardiology, and critical-care lab has both. Emergency medicine has started, with twenty-three of its twenty-five labs done. Anesthesia has not started.
Your practice stays on your device. No accounts, no analytics, no telemetry. Progress, transcripts, reflections, and debriefs live in your browser. Nothing is sent anywhere unless you open the problem-report form, preview exactly what it contains, and submit it yourself. Every file you export — transcript, event log, concentration CSV, reviewer notes, practice history — carries both statements with it: that this is not for clinical use, and that no clinician has reviewed it. A file that leaves the interface leaves the labels behind, so it says so itself.
The pharmacology is ours. Model parameters are transcribed by hand from the primary literature, each carrying its citation and the range it is valid over. Nothing is fetched at build or run time, and tests assert published reference values so a mistyped digit fails immediately.
Claims are sourced and correctable. Crisis protocols trace to their issuing bodies,
physiology is checked against published benchmarks, the limitations register is public,
and confirmed mistakes stay in a permanent corrections log — published
in the product at /corrections, not only in this repository. The release gate refuses to
publish without it.
Everything above is what the project is for. This is what it currently is.
There is no alpha, beta, or 1.0 here, and no staged content vocabulary either. Open Sim Lab is one
evergreen product in one state: the catalog grows and gets corrected continuously, and every item
ships labeled "Educational use only. Not clinically reviewed." That label is the whole claim.
A build identifies itself by its date and the commit it came from, not by a stage, and
npm run lint fails on a prerelease version or staged-release wording anywhere a reader can
reach it.
- No clinician has signed any content. The editorial board is empty and published as empty. Nothing is described anywhere in the interface as reviewed, validated, or endorsed. The review-status page lists every item, the label it is published under, and the board state — no count without the list behind it. It is linked from the front page, and the release gate refuses to publish without it.
- No pharmacology parameter has had its independent second-source check. Values are transcribed from the primary publications, but the second-person verification this project requires has not happened. Every number is marked as pending.
- Face-validity review and on-device frame-budget measurement have not been run. Both need people and hardware rather than more code.
Publishing anyway is a deliberate decision, recorded in
openspec/changes/release-evergreen-preview/. An
unreviewed corpus nobody can open does not get more accurate by waiting. A public one with a
working correction path does. So the trade is explicit: you get the material, you are told plainly
that nothing in it is signed, and the report a problem control in every scenario is how you
tell us we are wrong. Confirmed errors are appended permanently to CORRECTIONS.md.
The reviewed release channel still exists and still refuses to publish. It is what institutional
adoption packs are built from, and it will stay refused until named clinicians sign specific
content versions.
What is done: the waveform engine, compartment solver, physiology, design system, cockpit, sound, accessibility, debrief, practice regions, and offline shell — with over 7,000 automated tests and the Benumof apnea benchmarks inside 5% of published times.
npm install
npm run devnpm run ci runs the full gate: specs, lint, build, tests, and budgets.
The build is a folder of static files. There is no server-side code, so it deploys unchanged to any static host — which is the point: a program can self-host this without depending on us.
Read CONTRIBUTING.md. The project is spec-driven with
OpenSpec; the authoritative specification is the capability tree
under openspec/specs/, and clinical review is governed by
GOVERNANCE.md.
Code is MIT. Educational content is openly licensed per scenario. See LICENSE.