The problem wasn't "I want to build an app"
I'm not a software engineer. I'm a practising Factory Medical Officer (MBBS, CIH) — I run an Occupational Health Centre inside a factory, and most of my day is pre-placement exams, periodic medical checks, spirometry interpretation, and the occasional shift-floor emergency.
The problem was mundane: the same dozen calculations kept coming up — BMI, eGFR, CURB-65, IV drip rates, weight-based drug dosing — and I was doing them by hand or bouncing between five different apps and PDF reference charts, none of which were built for how fast a clinic actually moves.
So I built the tool I wanted to open on my own phone. That's it. That's the whole origin story. It became ClinixCal — 163 free clinical calculators, drug-dosing tools, and vaccination schedulers, and it's still growing.
The stack: no framework, on purpose
Every page on ClinixCal is static HTML/CSS/vanilla JS. No React, no build step, no bundler. I know that's an unusual flex on dev.to, but for this project it was the right call:
- Zero build step means every page is just... a file. Editing one calculator can't break another.
- No backend, no database. Every calculation runs entirely in the browser. Nothing is ever transmitted or stored — which matters a lot when the input is a patient's weight, creatinine, or gestational age.
-
Deploys are trivial. It's a GitHub repo, auto-deployed via Cloudflare Pages on every push to
main. No CI pipeline to babysit.
The shared engine
All 163 tools share one JS file, calculators.js, exposing a single MedCalc object. Most weight-based drug dosing collapses into one generic function.
Top comments (0)