← Projects

Scribe32: AI Clinical Scribe

Braces4You · Designed, built and operated by me · 2025 – Present

What I did: I built Scribe32 end to end and I'm its sole maintainer. I designed the AWS architecture, wrote the Python backend and the web app, set up the CI/CD and the four environments, and I own incident response and releases. The practice uses it every day.

11daily users: 1 orthodontist, 10 clinical assistants
< $6/mototal AWS + Deepgram spend
~$0.45per user per month, vs $75 for the commercial scribe it replaced
4environments: prod, staging, demo, local

What it does

An assistant picks a patient and a note template, hits record, and has a normal conversation. When the visit ends, Scribe32 transcribes the audio with speaker labels and turns it into a structured clinical note (SOAP or a practice-specific template) that they review and paste into the chart.

Scribe32 New Visit screen with patient search, template picker, Start Recording button, a provider leaderboard and a patient transcripts chart
New Visit: record or upload audio, plus office activity (recordings per provider, transcripts over the last five working days).
Scribe32 visit detail showing a generated SOAP note above the speaker-labelled transcript
A generated note with its diarized transcript.
Scribe32 Visit History list with search, date and provider filters
Visit history, searchable across every visit by patient name.

Screenshots are from a local build of the app running against its mock API, so all names and visits are made-up sample data. No patient data is shown.

Stack, and why

LayerChoiceWhy
ComputeAWS SAM, Lambda (Python 3.12), API GatewayUsage is bursty: busy clinic hours, idle nights and weekends. Pay-per-request serverless is what keeps the bill under $6 a month, and there are no servers for a one-person team to patch.
DataDynamoDB (notes, patients, templates, users, audit log)On-demand pricing, no connection pooling from Lambda, KMS encryption at rest and point-in-time recovery on the tables that matter.
Speech-to-textDeepgram (Nova-2, diarization, smart formatting)Accurate on clinical vocabulary, fast, and separates speakers so the note knows who said what. The API key lives in Secrets Manager.
Note generationAmazon Bedrock (Claude Haiku)A HIPAA-eligible service that keeps transcripts inside the AWS account, and a small fast model is plenty for structuring a transcript into a template, at a fraction of the cost.
AuthAmazon Cognito with role-based accessAdmins invite staff, manage templates and see the team; assistants just record. The API uses a Cognito authorizer by default.
FrontendVanilla JS + ViteA small, fast single-page app with no framework to keep upgrading. Light and dark themes.
DeliveryGitHub ActionsChecks run sam build on every change; deploys go to staging from the staging branch and to prod and demo only from main.

Considerations