Case study / Digital Health · Product Dashboard
IHE Dashboard.
Live patient-education app with 146 interactive clinical modules served from a unified dashboard. Built solo during family-medicine residency.

fig. 01 — Dashboard home — library entry point
What the build
actually moved.
What the project
needed to do.
Interactive Health Education's product dashboard hosts 146 interactive clinical modules — each one a standalone React/TypeScript app addressing a specific condition, procedure, or patient-education topic. The dashboard provides a unified library view, search, categorization, and per-app registration via a typed registry. Built solo by a family-medicine resident across one year of evenings and weekends.
Patient education in clinical practice is dominated by paper handouts and PDF printouts — passive, generic, and rarely read. The challenge was building an interactive alternative at scale: 100+ apps covering the conditions a family-medicine practice actually sees, each one self-contained, each one consistent in tone and visual language, all served from one library a clinic can deploy in a day. And building it solo, in the evenings, while completing residency.
146 individual apps — a library no template medspa product hasWhat moved the needle
What it looks like,
on screen.





The deliverables,
line by line.
A dashboard application hosting 146 interactive React/TypeScript apps, each with its own slug, route, thumbnail, canonical category, and registry entry. Added an end-to-end registrar skill that validates new apps, fixes the three most common CI errors automatically, formats with Prettier, lints, updates AppList.ts with canonical categories, generates thumbnails, and commits via the git plumbing workaround required for Cursor-locked index files. One command, zero manual steps.
- 146 interactive patient-education apps shipped
- Unified dashboard library view — grid and list modes
- Typed registry (AppList.ts) — single source of truth for every app
- Canonical category taxonomy across the library
- Per-app thumbnails — 146 generated covers
- Search and filter across the full library
- TypeScript validation and CI gates on every app added
- Prettier + ESLint formatting pipeline
- Git plumbing workaround for Cursor-locked index files
- Registrar skill for end-to-end app integration
- React + TypeScript + Tailwind stack across all apps
- Built solo during family-medicine residency
How the build
earns the call.
The dashboard is a product surface, not a SEO surface — discoverability runs through the IHE Marketing site. Inside the dashboard, the library architecture lets clinicians find apps by category, condition, or search; the registry pattern means new apps integrate without manual route wiring.
Gives clinics a deployable interactive-education library that scales with the practice. Each app is a self-contained patient-facing module — handed to the patient on a tablet, sent as a link, or embedded in an after-visit summary. The library construct means the value compounds: clinics deploy once and get 146 apps, not one.
The product surface for Interactive Health Education — a library of 146 patient-education apps served from one unified dashboard. Each app is an interactive React module with a canonical category, clinical content, and a registry entry. Built solo during family-medicine residency.Studio rationale
Metrics, captured
at 30 / 60 / 90 days.
Tracking dashboard captures GSC + GA4 at 30 / 60 / 90 days. Report publishes here on day 90 — view tracking spec
