Case study

Brollwise: one raw take in, a captioned clip out, with a person checking every step

An AI video editor for people who talk to a camera. It cuts the dead air, adds word-timed captions and plans the cutaway images, and it stops at every step so the person filming decides.

My role

Brollwise is my own product. I designed it, I write it and I run it, alone. It started as a fork of the open-source ButterCut project: 114 of the repository's 176 commits are mine, and the other 62 came with the fork.

The situation

Filming one minute of talking takes one minute. Editing it takes the afternoon: finding every pause, typing captions word by word, looking for images to put over the cuts. Brollwise does that work in the browser and shows each result before it moves on.

The constraint

The AI proposes and the person decides: six steps, each waiting for a check. The model's answer is never used as it comes: a highlighted word must exist in the transcript, timings are cut to the clip's length, and a cutaway pointing at a missing image becomes a generated one.

Every AI call costs money. A user brings their own API keys or spends credits on mine; a credit is taken when it is spent and given back if the call fails.

One person runs it, so sign-up has to open by itself without inviting abuse: a daily cap, two accounts a day per network address, one account per mailbox, and the rest waits for my approval.

What I built

A web app and a public landing page, both in English, French and Spanish:

  • Upload: straight from the browser to cloud storage, up to 200 MB and 5 minutes, plus context and the user's own reference images.
  • Transcript: WhisperX times every word and detects English, French or Spanish. Any word can be corrected, the text exports as .txt, and pauses over 0.6 seconds can be cut.
  • Captions: four styles and a karaoke mode that pops each word as it is spoken, previewed on the user's own clip.
  • B-roll plan: Claude reads the transcript and the context, picks the words to highlight and plans a cutaway about every 5 to 8 seconds. Every row can be edited, or re-planned from a plain-words instruction.
  • Images and render: each cutaway uses the user's image or one generated with Flux, and can be redone on its own. FFmpeg assembles the video, with an optional zoom on the speaker and four transitions.
  • Accounts: email sign-up, 12 welcome credits, one free watermarked video a month, and a back office where I approve, revoke and adjust accounts.
  • In the code: paid credit packs and plans, behind a webhook that checks the signature, applies each event once and takes credits back on a refund, and a mobile app with its own API.

The numbers

  • 6steps, each paused for a human check
  • 4caption styles, plus a karaoke mode
  • 3languages, in the app and on the landing page
  • 14routes in the mobile API
  • 356assert lines in my self-checks, across 17 Python files
  • 114my commits, 18 June to 12 November 2026

Every number is counted from the repository on 12 November 2026. No user, customer or revenue figure is on this page.

What this is, and what it is not

It is a product I built and run myself, and it is early. This page shows no usage numbers: it proves what the software does, not that people use it. The paid plans and the mobile app are in the code: treat them as built, not as live.

Part of the repository is not mine. The fork brought a Ruby library that writes project files for desktop video editors, with its 288 test cases: that is the upstream author's work. All 114 of my commits carry an AI co-author line: that is how I write code.

My own code has no test framework and no automatic deployment. Most modules carry a self-check that runs without a network, with the database and the paid services faked, and one script walks through sign-up and the back office. The six editing screens have no automated test.

Stack

  • Python
  • Streamlit
  • WhisperX
  • FFmpeg
  • Claude API
  • Flux
  • Replicate
  • Firebase Auth
  • Firestore
  • Cloud Run
  • Cloud Storage

See it

Want something like this?

Tell me what you are building, or what you are still doing by hand, and I will tell you how I would approach it. No commitment.