screenscribe

Turn screen recordings into actionable engineering reports.

Record yourself walking through your app, talk through the bugs and changes you see, and screenscribe transcribes the narration, matches it to what is on screen, and produces a structured report you — or your AI agent — can act on.

How it works

From “watch this” to “fix this”

A single narrated screencast in, a structured report out. Three stages, no manual scrubbing.

Record

Capture your screen and narrate the bugs and changes in plain language. Any format FFmpeg decodes works.

Pipeline

screenscribe runs an STT → LLM → VLM pipeline: transcribe the narration, find the actionable moments, then confirm each against captured frames.

Report

Get findings with timestamps, screenshots, and an executive summary — as JSON, Markdown, and an interactive HTML report.

Features

Built for a clean handoff

Everything the report needs travels with it, so a finding is ready to act on the moment it lands.

Self-contained HTML reports

One interactive file with a synchronized player, subtitle sync, and screenshot annotations — no server, no external requests.

Two analysis modes

review runs the automatic pipeline end to end; analyze is a human-first dashboard where you drive.

Moment marking & voice notes

Scrub the video, mark the frames that matter, and add voice or text notes to trigger analysis only where it counts.

Hallucination-filtered transcripts

A transcript-first lane produces stable TXT, segments JSON, and WebVTT artifacts — clean enough to hand straight to an agent.

Any OpenAI-compatible backend

Bring a key from OpenAI or any other OpenAI-compatible provider and point screenscribe at that endpoint. Vetcoders ships LibraxisAI as the first-party default.

Install

Get started

Clone the repo, sync dependencies with uv, and initialize your config. Bring your own OpenAI-compatible key to run a review.

bash
$ git clone https://github.com/vetcoders/screenscribe.git
$ cd screenscribe
$ uv sync
# initialize config, then bring your own OpenAI-compatible key
$ uv run screenscribe config --init
Python 3.11+ FFmpeg uv