Free because the people who need a result they can verify are the ones who pay for it — never the learner, in any country, ever.
Ask them what happened. Examine them. Order the tests, give the drug you think they need — and the monitor beside the bed tells you, second by second, whether you were right.
EP1 · The Last Bite · waiting
Ing · F 19
Ten minutes after the wrong salad, and her throat is closing.
You will probably lose her the first time. Almost everyone does — then you run it back. Nobody sees it but you.
Students from 18 of Thailand's 29 medical faculties already train on Embla, the production engine underneath this. That is Embla's record, not Vitals’.
And to be exact about “free”: a donation buys no seat, it buys a monthly ceiling on paid inference. When a month’s ceiling is reached the bay keeps running and only the patient’s voice stops until the month turns — the gauge is public.
Anyone can play. Nobody can fake the replay. A deterministic physiology engine decides whether they live, and every run reduces to one hash you can anchor on Solana with one press — so anyone can replay the tape and get the same answer, without asking us.
They answer in their own words — that voice is a language model, and it is the only one here. It never touches the physiology or the score. They can be wrong, and they can be too breathless to answer.
Orders, drugs, airway, fluids β a live bedside monitor moves the way the physiology moves.
No script. A deterministic clinical automaton decides in real time, from what you did and when.
Every case reduces to one hash. Replay the tape and the outcome and the score come back identical β the patient's words do not. No trust required.
All five of season one, on the shelf today. Same engine, same clock — the patient is what changes.
Stated plainly, so you can check us. The demo you can play today is the green tier. The star gate β OSCE stations that unlock the next chapter β is what we are wiring now.
The traction below belongs to Embla — the production clinical-simulation engine Vitals is built on and reuses. It is here because it is why the signal exists at all, not because Vitals earned it.
And Vitals’ own numbers are close to nothing. This bay opened in August 2026. Whatever it has actually seen β runs opened, runs finished, runs anchored β is published live and uncurated at /api/usage, including on the days it reads one and one. Anchoring is opt-in there too, so even that anchored count is a floor. We would rather you check the gap between the two blocks than find it.
A market for skill that can be verified.
Our mission: one per cent more doctors who actually reach patients, every year. Counted as newly licensed β a student who never passes their licensing examination never reaches a patient, and that loss is what we shrink: one per cent of a graduating class is roughly one in ten of the students who leave today, whatever their reason.
9.1% of medical students never finish — the worldwide attrition review that reports it gives a range of 2.7–20.1% — and the reason cited most often is academic difficulty; others finish but never pass the board. We find the learner who is going to fail before they fail and route them to the practice that closes their specific gap β then make the evidence of that practice something a residency in another country can trust without trusting us, or the school that produced it.
A number we used to lead with, kept here with the wording it needs: across 3,142 US counties, every 10 additional primary care physicians per 100,000 people was associated with 51.5 more days of life expectancy β roughly 1,400 person-years across that whole population (Basu et al., JAMA Internal Medicine 2019). It is a US primary-care association measured over populations, not an effect any one doctor produces, and it is not what we lead with.
RUST · SOLANA · AGPL-3.0 — engine, program and client, open end to end
Progression is recomputed on-chain from Merkle proofs. Claim a level you didn't earn and the program rejects it β no issuer key, no oracle. The published walkthrough ends on exactly that, against our own demo player: claim Competent : REJECTED β one proven attempt computes to Advanced beginner, so the claim is refused.
A residency programme in another country can verify a record without trusting us or the school that produced it.
The treasury is one address anyone can read, and what this server has spent is published live on the donate page. Coming next: program-enforced commissions β money given for a scenario could only be spent on that scenario, released against the delivered content hash. The program holds no money today; that instruction is not written yet.
Stated before anyone asks: 40 of 100 rubric points are re-derivable β re-run the pinned engine over the transcript and the same bytes come back. The other 60 are judged today by a language model at a pinned version (gemma-4-26b), and whoever signs the result states which model at which version produced it. That is attestation, not proof β and no number of signatures turns it into proof. The named-clinician layer under Next above is what replaces it, not what describes it today. We cannot prove who sat at the keyboard β identity binding belongs to the credential issuer. And we do not grant standing: only a medical board can make competence authoritative.
CEO & AI architect β engine and chain, Rust end to end
Co-founder & COO β registered nurse; hospital operations
AI engineering β persona engine, ASR/TTS, automated evals
β¦with Napapatch Viputhboonyapat (QA). Bangkok, Thailand.
Clinical advisor β Dr Preechayuth Yokanit β anaesthesiologist. MD, Phramongkutklao College of Medicine, Mahidol University (2000); Diploma of the Thai Board of Anesthesiology, King Chulalongkorn Memorial Hospital (2004). Cases pass his review before release.
Reviewer β Pimnipa Chaosirikul β learner-experience reviewer; final-year medical student, Faculty of Medicine Siriraj Hospital, Mahidol University. Reviews realism and wording, not clinical correctness.