Case #007

Escriba — Offline Speech-to-text

Escriba: hours-long court hearings turned into text with timestamps, 100% offline — sensitive data never leaves the machine. Local AI packaged into a…

Technologies

ESCRIBA

Hearings to text · Python · offline

Escriba, a personal project: a desktop app that transcribes very long court-hearing videos to text, with timestamps on each segment so you can follow the hearing without getting lost. Built for places that handle highly sensitive data: it works 100% without an internet connection and aims for maximum compatibility.

OFFLINE BY DESIGN

zero internet · zero third parties

Privacy here isn't a feature, it's the architecture: the transcription model (faster-whisper) runs on the local machine, there are no CDNs — even the SVG icons are embedded inline in the frontend — and nothing that gets processed leaves the computer. In judicial contexts, confidentiality is a requirement, not a perk.

transcribe in the cloud → leaks sensitive data

Discarded path

Discarded path: using a cloud transcription API. Sending court-hearing audio to a third party was unacceptable from the start — and it also chained the tool to connectivity. The constraint shaped the design: everything local.

LITE & FULL to match the machine

Real compatibility: two builds. LITE with the base model (~2GB RAM, faster) and FULL with the small model (~4GB, better quality). The user picks based on their hardware — the tool adapts to the courthouse machine, not the other way around.

FFMPEG + WHISPER

video → audio → text + timestamps

The pipeline: FFmpeg extracts audio from almost any video format (MP4, MKV, AVI, MOV and more), faster-whisper transcribes it with per-segment timestamps, and the result comes out as a Word document ready for the case file. SQLite history with full-text search across all transcriptions.

DOUBLE-CLICK AND THE HEARING WRITES ITSELF

portable · no install · no internet

The result: a portable executable packaged with PyInstaller. Double-click and done — no install, no dependencies, no internet. Hours of hearings that used to be transcribed by hand, now in timestamped text while you have a coffee.

STACK

Python with FastAPI on the backend, faster-whisper as the local transcription engine, SQLite for history and an embedded vanilla HTML/CSS/JS frontend — no heavy frameworks, no external dependencies. Optional Docker for development. Deliberately boring choices: what runs anywhere wins here.

Let's talk? I'm open to projects and opportunities.