Happy Scribe

happyscribe.com

YES

Replaceable in one session with an AI coding agent.

Transcription and subtitling with both machine and human options, aimed at media teams who need a finished subtitle file.

Promptfree, for everyone, and the only version there is
Build me the subtitling pipeline that replaces Happy Scribe.

**Transcription is free now; subtitle craft is not.** The value you are building is in the segmentation and timing rules, which most homemade versions ignore and which decide whether subtitles are readable.

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode
- whisper.cpp with word timings, ffmpeg for everything else
- Caddy in front

THE DATA MODEL
- media, words (start_ms, end_ms, text, confidence), cues (start_ms, end_ms, lines_json, speaker)
- styles: id, name, font, size, position, background, safe_area
- reviews: id, cue_id, reviewer, note, resolved_at
- Words are the source of truth; cues are derived and rebuildable. **Store both, because a retiming must not lose the corrections**

SEGMENTATION, WHICH IS THE CRAFT
- Two lines maximum, around 42 characters each. Longer and the eye cannot take it in
- Minimum duration around one second, maximum around seven
- **Reading speed capped at about 17 characters per second.** This one number is the difference between subtitles people can read and subtitles that flash past
- Break lines at clause boundaries, never between an article and its noun, never leaving a preposition stranded
- A gap of a couple of frames between consecutive cues so they do not visually merge
- Never let a cue cross a hard cut in the video if you can avoid it — detect cuts with ffmpeg and snap to them

TIMING
- Start a cue slightly before the first word and end slightly after the last, from the word timings
- Snap to the frame rate; a cue starting mid-frame is a rounding error the player shows
- A shift-all control for the classic problem of audio offset by a constant

REVIEW
- Play with the cue overlaid on the actual video, at the actual size. **A subtitle judged in a text editor is judged wrong** — position, contrast and safe area only exist on screen
- Comments per cue, resolvable
- A validation pass listing every rule violation: too fast, too long, overlapping, crossing a cut. Fix the list, not the file

EXPORT
- SRT, VTT and TTML. Burnt-in through ffmpeg with the style applied, into the safe area
- Contrast: a background box or a strong outline, never plain white text over unknown video

TRANSLATION
- Translate cue by cue, keeping the timings, then **re-run the reading-speed check** — translated text is often much longer and the timing that worked no longer does. This is the step everybody skips and it is why translated subtitles are unreadable

WHAT MATTERS MOST
The reading-speed cap and re-checking after translation. Those two rules are most of what a professional subtitler is doing, and they cost nothing to encode.

What you lose

  • Human transcription for audio a model cannot handle
  • Subtitle styling and burn-in in a finished format
  • Collaborative review with several editors
  • Many languages with quality that has been checked

If you would rather not build

  • ffmpeg for cut detection and burn-in
  • A player and patience, if there is one video

The escape hatch

open source · no votes, no paid placement

Subtitle Edit

$0

Full subtitle editor with timing, reading-speed checks and formats.

SubtitleEdit/subtitleeditfree · open source

whisper.cpp

$0

Local transcription with the word timings cueing depends on.

ggml-org/whisper.cppfree · open source

Why this verdict

our own opinion · changed only by a person

82/100

Verdict yes at 82: the engine is free and the value is the subtitle rules. The reading-speed check after translation is the detail that makes the output professional.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Happy Scribe

answered from the record above

Is Happy Scribe free?

No — the plan we track is $17 a month. Basic at €17/month with a transcription allowance; human-made transcripts are priced per minute on top.

Can you replace Happy Scribe by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 82 out of 100, build time one session. Read what you lose before you decide.

How much does Happy Scribe cost?

$17 a month on Basic — $204 a year. Recorded 14 Aug 2026.

What do you lose by replacing Happy Scribe?

Human transcription for audio a model cannot handle; Subtitle styling and burn-in in a finished format; Collaborative review with several editors; Many languages with quality that has been checked. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Happy Scribe?

Yes: Subtitle Edit, whisper.cpp. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 25 in Screen recording & video

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc