Sai Byrraju
< Back to projects

transcript-editor

Transcript editing with speaker-tagged segments.

TypeScriptReactNext.jsLexicalSupabasePythonWhisperXDocker

Why I built this

At 7C Lingo, a client needed meeting transcription for union and company meetings. The team had been typing notes manually, and third-party tools were not a good fit.

How it works

audio upload → whisperx job → transcript segments → rich text editor → export (txt/docx/pdf)

WhisperX runs in Docker, then the frontend turns results into speaker-tagged time segments. Each segment has a Lexical editor with bold, italic, color, and highlights. Blur commits Lexical JSON without React state churn. Exports produce DOCX, PDF, or plain text, with Supabase persistence.

Decisions

Lexical over a simpler editor

The client needed highlights and speaker color-coding. The tradeoff is complexity.

Segment-level editing

One editor per line makes speaker labels and timestamps simple and avoids one giant document instance.