Stop typing USG reports. Speak the findings and USGScribe writes them into MS Word or its own editor, with ultrasound terms and measurements right. Free during early access.
HealthTypeScript · CSSGitHub @DydipanshuOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
USGScribe: voice dictation for ultrasound reports, typed straight into MS Word.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Voice dictation for ultrasound reports. Doctors speak and the report writes itself,
either straight into MS Word (desktop app) or in a Docs-style web editor
with templates, printing and .docx export.Read the full README ↗Voice dictation for ultrasound reports. Doctors speak and the report writes itself, either straight into MS Word through a small desktop app, or in a Docs-style web editor with templates, printing and .docx export.
Live: usgscribe.tunedloop.com
10.2 x 4.5 cm), and voice commands and quick phrases ("insert normal liver") save typing.packages/core/src/postprocess.ts:
__ blank and
saying "12" gives (12 mm).In the web editor the doctor can dictate findings anywhere and press Structure. Claude
(claude-sonnet-5-5 by default, set STRUCTURE_MODEL to change it) moves each finding into the
right organ line, fills blanks with the dictated measurements and drafts the impression.
api/structure.ts. The patient details at the top are not.checkStructured() in packages/core/src/structure.ts
before the doctor sees it. A line with a number that was never dictated is reverted. A dictated
number missing from the result, a lost organ line or an unknown label raises a warning.ANTHROPIC_API_KEY is set on the server.apps/web Website and web app. site/ holds the static marketing and SEO pages (landing,
USG report formats, privacy, sitemap), generated at build. src/ is the report
editor served at /app/. api/ holds the serverless functions.
apps/desktop Electron tray app for Windows and Linux.
packages/core Shared code: mic capture and pause detection, Whisper client and request queue,
voice commands, macros, templates, report structuring checks.
Tech: TypeScript, React, Vite, Electron, Node.js, Whisper (Groq), Claude API, Vercel.
Requirements: Node.js 22.6 or newer.
npm install
cp .env.example .env # add a free key from https://console.groq.com/keys as GROQ_API_KEY
npm test # core unit tests
Without a key, the web app falls back to the browser's built-in speech recognition (Chrome and Edge only, less accurate).
npm run dev:web # site on http://localhost:5173, app on /app/
npm run build:web && npm run start:web # production server on :3000
npm run dev:desktop # run from source
npm run dist -w @medical-dict/desktop -- --win # Windows installer in apps/desktop/release
npm run dist -w @medical-dict/desktop -- --linux # Linux AppImage
On first launch the settings window opens. Paste in a Groq key, or a deployed web app's
/api/transcribe URL under Advanced. Then:
USGScribe --toggle starts or stops dictation from a script (AutoHotkey, Stream Deck, pedal software).xdotool (X11) or wtype (Wayland).| Variable | Where | Purpose |
|---|---|---|
GROQ_API_KEY | server | Whisper transcription |
ANTHROPIC_API_KEY | server | enables the Structure button |
STRUCTURE_MODEL | server | model used for structuring (optional) |
SITE_URL | build | canonical URLs, sitemap and share images (default https://usgscribe.com) |
The web app runs on Vercel's free tier with apps/web as the root directory, and every push to
main redeploys it. api/transcribe.ts runs as a serverless function, so the API key never
reaches the browser, and a per-IP rate limit stops a public demo from using up the quota.
npm test # unit tests for packages/core
npm run typecheck # type-check every workspace
node --experimental-strip-types apps/web/scripts/eval-structure.ts # check AI structuring on sample dictations