Customize brtlb
Pediatricians document differently. brtlb is built to bend toward your style without making you write code or wait on us to ship a feature. Six knobs, each independent.
Custom templates
Templates are the structure of your note: the section headers, the order, what each section is supposed to contain. brtlb ships with peds-tuned defaults — well-child, sick visit, ADHD med check, behavioral health, autism eval — but the most leverage is in writing your own.
Write one in plain English
Settings → Custom templates → + New. You'll see a textarea. Describe how you want a note to look. Sections, order, length expectations, special quirks. brtlb does not need you to write a structured prompt — it does need you to be specific about what each section should contain.
Example: your own well-child template
Well-Child Visit Note
Sections, in this order:
- Interval History (not "Subjective" — use this label)
- Growth & Development
- ROS (pertinent positives/negatives only)
- Exam (only systems actually examined)
- Anticipatory Guidance (enumerate domains discussed: Safety, Sleep,
Screens, Hydration, Dental, Temperament, Independence)
- Vaccines given today
- Plan
- Follow-up
Voice: third-person, concise prose, no bullets in HPI.
Use "mom" and "dad" not "mother/father".
Sign as "Hobbs, MD" at the very end.
Polish with AI
Once your draft is saved, click ✨ Polish with AI. brtlb rewrites your description as a clean structured prompt while preserving every clinical and stylistic choice you made. You stay in control: review the polish, edit if needed, save.
Activate, swap, and overrides
On any recording you can override the auto-selected template from the dropdown above the note. Auto-selection runs on every new recording from the transcript content; it picks well-child for a wellness flow, sick for an acute complaint, ADHD med check when stimulant titration appears, etc.
Patterns
Where templates control what appears, patterns control how it reads. The shipped patterns are narrative (default — connected prose), focused (terse, clinical), and telegraphic (shortest acceptable form). Mix any pattern with any template.
You can write your own patterns the same way — Settings → Patterns. A pattern is a one-paragraph instruction, e.g., "Use bullets in HPI and Plan. Inline ROS with one line per system. Avoid hedge words."
Settings worth knowing
Provider + model
brtlb works with three model paths today:
- Google Gemini API (recommended) — covered by your Google Cloud HIPAA BAA if your practice has Workspace. Default model is
gemini-2.5-pro;gemini-3-pro-previewandgemini-2.5-flashare picker options. Override the freeform model name field to use any other ID Google publishes. - OpenAI / Azure OpenAI — set Base URL to your Azure endpoint to use Azure's BAA. Plain OpenAI requires an Enterprise contract for BAA coverage.
- Anthropic — works for non-PHI testing only. BAA-org Anthropic keys hit a CORS wall in the browser; hidden from the picker by default.
AssemblyAI transcription
Single setting: AssemblyAI key. Sign the AAI BAA once (5-min DocuSign), paste the resulting key. brtlb's default is auto-delete on completion — right after pulling the transcript, brtlb fires DELETE /v2/transcript/{id} so AAI retains nothing. Toggle the delete behavior in Privacy & Security if your practice's policy requires longer vendor-side retention.
Auto-purge audio
Settings → Privacy & Security → audio retention. By default brtlb keeps the audio blob in your browser's IndexedDB so you can regenerate notes from audio later. Set a retention window (7, 30, 90 days, or "never") and brtlb purges audio that's older than the threshold while keeping the transcript + note as metadata.
Pediatric vocabulary hints
The transcription pipeline sends a curated list of peds-specific terms (medications, exam findings, vaccine names) so AAI biases toward the right spelling on words like amoxicillin, tympanic membrane, Prevnar, trichotillomania. This list lives in peds-vocabulary.ts and you can edit it if you want to fork your own copy.
Editing brtlb itself
Because brtlb has no backend and no obfuscation, every prompt, template, and pipeline step is visible. If you want to deeply customize, you can:
Read the prompts
Templates live in packages/prompts/src/templates/. Discipline rules and the composer are in packages/pipeline/src/prompts/compose.ts. No magic.
Fork the repo
Open source for beta users. Clone, customize, deploy your own copy. Vercel free tier handles a single-physician deployment fine.
Drop in your own model
Any OpenAI-compatible endpoint works via the Base URL field. Self-hosted Llama with vLLM? http://localhost:8000/v1 and you're done.
Audit the network
Open browser devtools → Network. You'll see exactly two outbound destinations during a visit: AAI for transcription, your chosen LLM provider for note generation. Nothing else.
When customization actually helps (and when it doesn't)
Worth your time
- Your section labels. If you write "Interval History" instead of "Subjective" in Elation, a template tweak saves you a search-and-replace on every note.
- Your signoff and boilerplate. "Discussed return precautions and access to me 24/7," "Hobbs, MD" — make these appear automatically rather than typing them every time.
- Pattern preference. Some docs love bullets. Some hate them. Switch patterns once, every future note follows.
Not worth it (yet)
- Per-section "always include X." Tempting, but the model can't include what wasn't discussed. Forcing inclusion breeds fabrication.
- Diagnostic confidence dials. "Be more confident" pushes the model to over-narrow. Trust the transcript.
- Multi-page meta-prompts. If your template is more than ~30 lines, the model starts ignoring parts. Be specific, then stop.