Features — full tour
Every piece of brtlb, in the order you'll meet it. Skim the headers; dive into whichever section is relevant.
Recording a visit
The Home screen has one giant graphite button: Record visit. Tap it. Mic permission prompts (once). brtlb is recording.
That's the whole flow. No new-visit form, no patient picker, no template selection up front. By default brtlb is in ambient mode — captures the whole room with speaker separation. If you'd rather narrate the note yourself, tap the small or dictate instead link below the Record button for classic dictation (no diarization).
While you're recording
The recording UI is deliberately subtle in ambient mode — designed for the patient sitting across from you to barely notice it:
- A small pulsing red dot with status text ("Ambient · Recording") — universal "recording" indicator at calm size.
- A modest timer counting elapsed time.
- A breathing line below the timer that gently widens with audio level — conveys "mic is alive" without VU-meter drama.
- For the first 4 seconds after start, a full 24-bar meter appears so you can confirm the mic is picking up audio, then it auto-collapses. Tap Mic check any time to bring it back.
- Dictation mode keeps the full meter on — no audience to perform for.
Action buttons
- Pause / Resume — when the visit hits a pause (parent steps out, you go examine an ear). Pauses don't count against transcription time.
- Mark moment — tap any time you want brtlb to pay extra attention to what's happening right now. The button flashes seafoam; later, when the note is generated, brtlb is told "the physician marked these moments as important." Useful for nuanced findings, a worried-parent moment, the part where the kid said something quotable. No pop-up, no label entry — single discrete tap. Mark as many as you want.
- Stop — when you're done. brtlb saves the audio and immediately starts the pipeline.
After Stop
You land on the Review screen. The pipeline runs automatically:
uploading → transcribing → generating → ready
A small status banner at the top tells you which stage you're in. Total time is usually under 30 seconds for a 15-minute visit. Long visits take proportionally longer; brtlb waits up to 90 minutes for AssemblyAI to finish transcribing — covers any realistic visit (most 60-min recordings finish in 3–5 min of processing, 90-min autism evals in 5–8 min).
The Review screen
Two big panels side by side (or stacked on mobile):
Left: Transcript
Collapsed by default — tap Show transcript to read the raw output. Above the collapse: speaker chips. Tap each one to assign a role. If you marked moments during the visit, they show up here with timestamps.
Right: Note
The auto-generated markdown note. Defaults to a sensible template — see Auto template detection. Toggle between Edit (raw markdown source) and Formatted (rendered prose). Below the note: the magic ✨ box — see Tweak with AI.
Tweak with AI
The hero of the note screen. A textarea that takes plain English:
"Shorten the assessment"
"Rewrite the plan as a numbered list"
"Add return precautions for fever"
"Patient is 8mo, not 8yo — fix throughout"
"Include that mom is a peds nurse and we discussed
home Tylenol dosing"
Type your instruction. ⌘+Enter (Mac) or Ctrl+Enter (Windows) to send, or click Revise note. brtlb returns the COMPLETE revised note — not a diff. The transcript still gates fabrication, so changes are grounded in what was actually said.
This is how most physicians will edit. Faster than direct markdown editing, and you don't need to remember any conventions. Just tell it what's off.
Speaker chips & roles
Above the transcript, brtlb shows a chip for each detected speaker label (A, B, C, …). Tap any chip to assign a role: Parent, Patient, Provider, Sibling, or Other. The transcript and any future regenerate use those labels.
brtlb auto-detects roles on the first pass — provider vs. parent vs. patient — so most visits don't need manual chip tagging. When auto-detection misfires (a kid not speaking up much, an unusual role distribution), the chips are the fastest fix.
Multiple patients in one recording
brtlb handles back-to-back encounters in a single ambient recording. If you record two well-checks in a row, or a sick visit then a sibling's quick check, brtlb keeps them separate automatically.
After transcription, brtlb runs a split-by-patient pass that reads the diarized transcript and identifies which utterances belong to which child. Patient labels come from names actually mentioned in the visit ("Tommy", "Lily") with an ordinal fallback ("Patient 1") if names don't surface.
For each patient, brtlb generates a separate note with the visit type the splitter detected and only that patient's relevant utterances. A patient tab strip on the Review screen lets you view, copy, or tweak each note independently. Use the All combined tab for one-shot copy of everything.
The split is purely transcript-based — brtlb has no schedule access, no EHR connection, no list of who's coming today. It just listens to who's being talked to and about.
Mixed visits (well-child + acute complaint on the same kid) are preserved correctly — the splitter keeps it as a single segment with visit_type: well_child, includes_preventive_care: true, and the acute concern in the segment metadata.
Auto template detection
brtlb watches the transcript and picks the best template without you having to. The nine built-ins:
soap
Generic fallback, handles mixed visits.
well-child
Preventive visit — vaccines, milestones, anticipatory guidance dominate.
sick-visit
Acute illness or injury (URI, ear pain, rash, fever, GI, asthma).
follow-up
Interim check on a known problem.
adhd-med-check
ADHD medication visit — response, side effects, vitals on stimulant.
procedure
In-office procedure (laceration, I&D, ear curettage).
behavioral-health
Pediatric mental health — mood, anxiety, suicidality screen, trauma, ADHD diagnostic intake, family conflict, substance use, eating disorders. Captures verbatim quotes for the medicolegal record.
developmental-eval
Long-form autism / developmental evaluation — M-CHAT, ADOS-style observation, parent interview, diagnostic feedback. Accepts 1–2 page notes.
dictation
Physician-narrated. Used automatically in dictation mode.
Ambient mode auto-routes after transcription. The picked template shows up in the Template dropdown on the right panel. Don't like the pick? Change the dropdown and click Regenerate — brtlb re-runs the LLM with your chosen template (no re-transcription).
Want your own? Custom templates →
Adaptive note length
brtlb sizes the note to the visit. A 5-minute URI gets a focused note; a 60-minute mental-health follow-up or 90-minute autism eval gets a longer, richer one. No template "default length" override — length is a function of clinical content density.
You can always steer manually with Tweak with AI: "shorten the assessment," "expand the plan with return precautions."
Visit chapters (long visits)
For ambient recordings ≥30 min, brtlb generates a small chapter map above the transcript: 3–7 named segments with timestamps and a one-sentence summary. Examples:
0:00 Parent interview — 6-month history of social withdrawal
12:35 Child observation — play, communication, response to name
32:10 Discussion of findings
Lets you scan a 90-minute autism eval transcript at a glance instead of scrolling. The chapter detector runs automatically when the recording qualifies; short visits skip it.
Review warnings — the safety net
Below the note, the Review warnings panel runs an independent LLM pass that hunts for two failure modes:
- Hallucination — note says something the transcript doesn't support.
- Omission — transcript discusses something the note misses.
Plus three secondary checks: mixed-visit collapse (well-child + acute reduced to one), assessment/plan mismatch, and wrong-patient risk (sibling contamination, name drift).
The reviewer is told the transcript may have STT errors and to interpret charitably — the goal is flagging real safety issues, not nitpicking phonetic transcription mistakes.
Output is a small markdown bullet list with severity icons:
- 🔴 Critical — safety-relevant
- 🟡 Warning — clinically meaningful but not unsafe
- ⚪ Info — minor
Click Check for warnings when you want a second look. Re-run after edits to see if you've cleaned up the issues.
Sensitive content flag
The Review warnings panel runs an extra check: if the transcript touches suicidality, self-harm, abuse, substance use, sexual activity, eating-disorder behaviors, custody conflicts, or intimate partner violence — brtlb adds a 🟡 (sensitive content) line naming the topic.
Doesn't redact, doesn't block sharing. Just a heads-up to review before pasting to a shared chart so adolescent or sensitive disclosures don't accidentally end up in a parent-visible note.
Quotes captured
Below the note, the Quotes captured panel pulls up to 5 verbatim parent/patient quotes from the transcript on demand. Useful for:
- HPI ("My son has been saying 'I don't want to be alive' for two weeks").
- Safety screens — verbatim language matters medicolegally.
- Pediatric phrasing that's clinically meaningful in its specificity.
- Cases where what was said exactly is the documentation.
Strict guardrails: no paraphrase, attribution required (Parent / Patient / Sibling), STT-garbled quotes are dropped rather than guessed. Returns "No quotes captured." when nothing qualifies.
Clinical pearls — the collegial layer
A separate on-demand pass that surfaces 0–3 short clinical observations about this visit — patterns, subtle differentials, family dynamics worth noting. Like a senior colleague leaning over after you wrap up.
Examples:
- "Mother is a physician — easy to default to her framing; worth confirming the child's symptoms in your own words to avoid co-option."
- "5-day amox for AOM in a 2yo with recurrent OM may be undertreatment; current AAP guidance favors 10 days under age 2."
- "Episodes cluster between Concerta peak and unstructured school time — worth distinguishing pharmacologic activation from environmental triggers."
Pearls are NOT generic safety advice and NOT restatements of your plan. If brtlb doesn't have anything genuinely useful to add, it returns "No pearls."
Sharing the note
Three section-paste modes plus four global export buttons.
Section paste modes
All-in-one (default)
Single button copies the whole note. Bold section headings keep structure visible when pasted into a single notes field. Best for EHRs with one big "visit note" textarea.
Pick
One chip per section (HPI, Exam, Plan, etc.). Tap to copy just that section into the matching EHR field. Sections you've copied stay marked with ✓ so you can track progress.
Walk through
Guided one-at-a-time mode. Big primary button: "Copy HPI →." Tap, paste, come back, button advances to "Copy ROS →." Linear, low cognitive load. Includes word counts.
Export buttons
- Share — native share sheet (AirDrop on Apple, Android Share). Falls back to copy on desktop.
- Copy — copies the whole note with bold formatting preserved when the destination accepts rich text (Elation, Word, most rich-text fields). Plain-text fallback for everything else.
- Email… — opens your mail app with the visit label as subject and note as body. Only safe if your email provider is HIPAA-BAA-covered.
- Download — saves a
.txtfile with the visit label as the filename.
There's no "post to EHR" button. brtlb is BYO-EHR — you copy or share into wherever your charts live.
Privacy controls
Settings → Privacy & Security has the levers that matter:
- Audio purge. 7 / 30 / 90 days or "never." Old audio blobs auto-delete after the window; transcript and note metadata stay.
- AssemblyAI auto-delete on completion (default on). brtlb fires
DELETE /v2/transcript/{id}seconds after the transcript returns. Toggle off only if your practice policy needs longer vendor-side retention. - Idle lock. Lock the UI after N minutes of inactivity. Ongoing recordings keep recording behind the lock screen — silence auto-stop is paused while locked so a hidden banner can't kill your visit.
- Raw transcript JSON export — diagnostic link on every Review screen header. Downloads the stored AAI output for offline review (no PHI leaves your device).
Want the full design story? Why brtlb works this way →