The problem
Many ultra-widescreen films and shows are presented on 16:9 screens with black letterbox space above and below the active picture. That space just sits there, unused, while viewers are forced to choose between watching the scene and racing to read dense, fast-moving captions overlaid on top of it.
The solution
I designed and built Caption Theater as a modular playback add-on that repurposes that empty letterbox space into a dedicated, unobstructed reading area. When conditions are safe, the active picture shifts into a theater-style, top-pinned layout, and captions render in the open lower region — with recently-displayed cues persisting briefly so viewers have more time to read without losing the scene.
Design principles
Three product values drive the architecture:
- Readable dwell time — cues that have already appeared can remain visible briefly, giving viewers more time to scan them.
- Context preservation — the active picture stays visible and undistorted while recent caption context stays available in a stable reading region.
- Trustworthy fallback — if the system can’t prove the experience is safe, it returns to native playback and native caption behavior, no exceptions.
The project treats subtitle and caption text as meaningful content rather than decoration, and separates viewport eligibility (is this content shaped right for the layout?) from subtitle-format eligibility (can we safely parse and time these cues?). It never reveals future dialogue, never stretches or crops the picture, and never touches ad or legal overlays.
What I built
- Active-picture boundary detection using pixel analysis and provider/QC metadata for content without direct frame access
- A runtime safety and fallback system that returns to native playback whenever visual safety, subtitle semantics, ad state, or platform support is uncertain
- Multi-speaker caption presentation with retained-cue history
- Comprehensive debug tooling that explains every activation and fallback decision
- Native tvOS and macOS targets built on AVFoundation and AVKit-adjacent integrations, processing HLS metadata and timed WebVTT captions
Status
Active open-source project, currently shipping native tvOS (the primary living-room prototype) and macOS (a demo/QA surface for offline HLS playback and layout review) targets, with iOS as a roadmap target. Licensed under Apache License 2.0.