One More Year -> The Documentary I Never Filmed
One More Year - The Documentary I Never Filmed
This is a submission for Weekend Challenge: Passion Edition.
What I Built
I built a documentary studio. Not a template with your name dropped in. An actual small production pipeline that reads four things you tell it, decides what your story is, casts it with real performed voices, builds its own sound design, writes its own score, and prints a real mp4. All in the browser.
Here's the observation it started from. Everyone has one thing they can't quit. Football, chess, a piano someone left them, a side project nobody asked for. And almost none of that ever becomes anything, because turning "the thing I can't stop doing" into something that actually feels like a documentary normally takes a camera crew, actors, a sound engineer, and about a week of editing. So I tried to compress that whole crew into five automated desks and see how close I could get.
It's called One More Year. You answer four questions. It gives you back a short film with a narrator, you as the subject, and a couple of extra voices pulled from inside your own story: memory, doubt, whatever the piece needs. Every voice is performed, not read. Every sound effect is chosen for that scene. Every score is composed fresh. It's all mixed and encoded into a real video file without a render server ever touching it.
Demo
There's no hosted public demo. That's on purpose. The ElevenLabs key is kept server-side only, so it never reaches browser JavaScript. Hosting it publicly would mean putting my own paid key on the open internet for strangers to spend. So instead, the whole thing runs locally in about two minutes, with your own free Gemini key and your own ElevenLabs key.
git clone https://github.com/abbasmir12/onemoreyear
cd onemoreyear
npm install
npm run dev
Open the Press Room, drop in a key, hit Start Your Story. Headphones on.
Code
abbasmir12 / onemoreyear - An Open Source documentary studio for the things you cannot quit - directed by Gemini, performed by ElevenLabs.
An open-source documentary studio for the thing you cannot quit. Built for the DEV Weekend Challenge: Passion Edition - July 10β13, 2026.
Everyone has one thing they can't quit. Most tools would ask you to write it down. This one asks you to say it out loud - then hands it to a director, a cast, a sound desk, and a print desk, and gets you back a real short film.
What it actually does
You answer four questions. Nothing technical - just what's the thing you can't quit, when did it almost end, why did you stay, and one line only you would say. That's the entire brief. From there, a real production pipeline runs - not a template filled in, not a single flat voice reading a script. An AI director reads what you gave it, decides what the story actually is, and hands itβ¦
How I Built It
The four questions
The input surface is deliberately tiny. What's the thing you can't quit. When did it almost end. Why did you stay. One line only you would say. No writing, no script, no timeline editor. That constraint is the actual design decision. Asking someone to write a story gets you a self-conscious kind of writing. Asking them a direct question at 2am gets you something else entirely.
Five desks, not one prompt
I didn't want this to feel like "type something, get an AI blob back." So I split the work the way a real production would split it.
- 01 - The Interview - Four questions. No writing required.
- 02 - The Director - Gemini reads your answers, finds the arc, and writes a full script. It casts a narrator, you, and one or two symbolic voices pulled from inside the story itself.
- 03 - The Cast - Every voice is performed through ElevenLabs
eleven_v3. Hesitations, corrections, a line that actually breaks where it should. - 04 - Sound & Score - The director decides what a scene needs, generates that exact effect, then composes an original score through ElevenLabs Music v2.
- 05 - The Print -
ffmpeg.wasmmixes every voice, effect, and cue against the frames and encodes a real mp4. Client-side. No render server.
The director doesn't summarize. It directs.
My first version of the prompt just asked Gemini to turn the answers into a short documentary. What came back read like a summary with quotation marks around it. Competent. Flat. Forgettable. What worked instead was telling it to behave like a documentary editor. Find the arc, not the facts.
The directing principle: Cast a narrator and the subject, then add one or two symbolic voices, like memory or doubt. Those voices are explicitly not allowed to invent facts or pretend to be real witnesses. Write two versions of every line. A clean transcript, and a separate performance string with sparse, motivated imperfections: a repeated word, a false start, a line that catches. Most lines stay clean, so the handful of imperfect moments actually mean something. Every scene also gets a director-chosen transition. Direct, sound, or silence. The first scene is mandatory sound, because a documentary that opens on a voice mid-sentence with nothing behind it doesn't feel like one.
Read the actual rules I gave the AI director
A few of the real constraints from the production prompt, word for word:
- "Symbolic voices are fragments of the subject's interior story, not factual witnesses. They must never claim to be a coach, friend, rival, family member, or person who was present."
- "Never invent a quote, date, injury, achievement, relationship, or event the person did not provide."
- "Human speech is not polished prose. In only 2 or 3 segments across the entire film, add ONE motivated imperfection. Never sprinkle random 'um' sounds everywhere."
- "Segment 1 MUST use 'sound' for 4β5 seconds before anyone speaks. Establish the physical world first."
- "Every film gets a score. If the story calls for restraint, choose 'instrumental' and keep it sparse, rather than skipping the score entirely."
The cast, the room tone, the score
- The Cast - Every performed line goes through
eleven_v3. - The Room Tone - Every scene's ambience - a stadium, a stairwell, rain on a tin roof - is a real generated sound effect chosen for that specific beat. Not a stock loop reused everywhere.
- The Score - Every film also gets an original score through Music v2. The director can choose instrumental, vocal, or hybrid, but never nothing. A quiet story doesn't mean a silent one. It means a sparser score, not an empty desk.
Printed with ffmpeg, not on a server
This is the part I'm most proud of. The final assembly happens with ffmpeg compiled to WebAssembly, running client-side. Timing every voice line against its lead-in. Layering sound effects at the right offsets. Ducking the score under dialogue. Encoding the whole thing to H.264. No render queue. No upload and wait. The browser does the actual video engineering and hands you back a downloadable file.
Prize Categories
- Best Use of Google AI - Gemini directs the entire piece: structured JSON output for the script and cast, image generation for the frames.
- Best Use of ElevenLabs - Every voice, every sound effect, and every score in the film is generated live through
eleven_v3, the Sound Effects API, and Music v2.
Comments
No comments yet. Start the discussion.