Sophie Well
by clay-good
README.md
<p align="center">
<img src="logo.png" alt="Sophie Well logo" width="120" height="120">
</p>
<h1 align="center">sophiewell.com</h1>
<p align="center">
<strong>1941 free healthcare calculators that run entirely in your browser.</strong><br>
No accounts, no ads, no telemetry, no AI.
</p>
<p align="center">
<a href="https://sophiewell.com">Live site</a> ·
<a href="https://sophiewell.com/commitments/">Commitments</a>
</p>
<!--
Machine-checked count (scripts/check-catalog-truth.mjs reads the line
below; keep it in sync with UTILITIES.length in app.js):
At v1511 close the catalog is 1941
deterministic tiles.
-->
## What it is
Clinical calculators, scores, drips, and dosing math for the nurse on
shift, and for the doctors, pharmacists, respiratory therapists, EMS
providers, billers, and coders working alongside. The catalog also carries
the measurement and process tools the same shift runs on: reference change
values and method agreement for the laboratory, and handoff structures,
checklist phases and event-review frameworks for quality and safety.
Each calculator does one thing:
| | |
|---|---|
| **In** | The values you already have. It opens pre-filled with a worked example — a described patient, not a form of zeros — so you can see the expected format before you type over it. |
| **Out** | One number or grade, plus how the source says to read it. |
| **Or not** | When a value it needs is missing, it says which one instead of answering. A score that only adds points will still flag risk on what you have entered, but it will not call a patient well on measurements nobody took — and it will not raise an alarm from an empty form either. When it does answer on a partly filled form, it says how much of the form it used. |
| **Proof** | The method and primary citations together, one click away under "How this is calculated". 1,864 of the 1,941 link straight through to the source paper, and every one of those links is checked to resolve **and** to open the paper the citation names, not merely a paper. Twelve more say "Search PubMed for this source" because no index carries the book chapter or pre-1946 paper they cite. |
For example, on [Wells Score for PE](https://sophiewell.com/#wells-pe)
you tick the criteria that apply and get
`Wells PE total: 4.5 (Moderate probability)`.
Calculations run locally and keep working offline. Nothing leaves your device
unless you deliberately choose **Report a problem**; that action sends the
canonical tool URL and an optional short note to a private maintenance queue.
Current bounded inputs and results are included only when you select the
unchecked context option. No report URL contains query parameters or URL state.
Sensitive tools never attach form entries or generated text. There are
no accounts or
background telemetry.
## Use it
Go to [sophiewell.com](https://sophiewell.com) and type what you need.
To run your own copy: clone this repository, run `npm run dev`, open
http://localhost:4173.
## For AI agents (MCP)
The same calculators are available to agents through a local
[Model Context Protocol](https://modelcontextprotocol.io) server, so an
agent gets the right number plus a citation instead of guessing. It runs
on your machine over stdio: no hosting, no network, no telemetry.
Setup is in [mcp/README.md](mcp/README.md).
## More
- [CHANGELOG.md](CHANGELOG.md): what's new
- [mcp/README.md](mcp/README.md): use the calculators from an MCP client
- [docs/architecture.md](docs/architecture.md): how it's built
- [docs/product-decisions.md](docs/product-decisions.md): durable interface decisions
- [docs/incomplete-input-program.md](docs/incomplete-input-program.md): what a tool does with a value it was not given
- [CONTRIBUTING.md](CONTRIBUTING.md): what changes are accepted, and how to add a calculator
- [SECURITY.md](SECURITY.md): report a vulnerability privately, not as an issue
If a calculator disagrees with the source it cites, that is the highest-priority
report the project takes:
[open a wrong-number issue](https://github.com/clay-good/sophiewell.com/issues/new?template=wrong-number.yml).
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessNo issues