A 1987 Love Story by Keith Adler · Coming May 2027
What's it about?
After a fire takes everything he has, fifteen-year-old Christopher is sent to live with a stranger in Akron, Ohio - and finds an unlikely home, an unlikely friend, and an unlikely love with the girl next door. But it's 1987, in a city with unspoken rules about who's allowed to love whom - and a housing project the people who run it have already quietly decided isn't worth saving. That kind of love was never supposed to survive the summer.
This is the exact process I used. One person, no crew, under $7,000. If you have a story and a laptop, you can do this in 2026. Here is how, step by step. Every tool, every cost, every tip - documented so the next person can follow the same path. My goal is not just to make this film. It is to prove the map works so other creatives can use it.
STEP 1
Write the story
Tools: Any LLM for brainstorming (Gemini, Grok, NotebookLM). Your brain for the actual writing.
What you make: A novel or treatment first (to find the story), then a proper screenplay (to build the film from).
Time: 2-4 weeks for the novel. 2-3 weeks to convert to a shooting script.
Cost: $0 (free tiers are enough for brainstorming)
Tip: Write the novel first even if you only want a film. A novel forces you to know your characters completely. The screenplay is stronger because the novel existed. The novel is the sketch. The script is the painting. Use AI adversarially - not to write for you, but to stress-test what you wrote. Feed it your manuscript and ask it to find contradictions, dropped threads, and logic gaps. The story is yours. The AI is the cross-examination.
What you do: Play each piece on piano (or hum it, or write it out). Feed the recording into Suno as a seed. Direct the arrangement - tell it the instruments, the feel, the era. Iterate until the orchestra plays what you hear in your head.
What you make: A full original soundtrack, one track per major scene or emotional beat.
Time: 1-2 weeks for 8 tracks.
Cost: ~$96 (Suno Pro annual subscription)
Tip: Do this before production design. The music tells you how scenes feel. It will influence your visual choices later. Also: keep the piano audible in the mix. The human hand that started the piece should stay present in the final arrangement.
STEP 3
Build production design (characters, locations, props)
What you do: Write detailed character descriptions (age, build, clothing, distinguishing features). Generate reference sheets: front, side, detail shots. Lock these images - they become your consistency bible. Do the same for every location and every prop that matters.
What you make: A complete production design package. Every character, location, and prop visualized and locked.
Time: 1-2 weeks.
Cost: ~$200 (ChatGPT Plus subscription)
Tip: Consistency is the hardest problem. The model does not remember what your character looked like last time. You must include reference images in every prompt. Check every output against your locked references. If the nose changes, the hair shifts, the jacket color drifts - regenerate. This is where patience matters most.
What you do: Work scene by scene through your shooting script. Feed your locked character references and location images. Describe the shot: camera angle, movement, lighting, action. Generate. Review. Regenerate what doesn't work. Expect to generate 3.5+ hours of raw footage to get 109 minutes of usable material.
What you make: A complete rough cut of every scene in your film at 1080p.
Time: 3-4 months (this is the longest phase).
Cost: ~$4,200 for 3.5 hours of raw footage at ~$20/minute. That includes video generation, voice performances (ElevenLabs), and sound effects. 210 minutes of generated material to yield 109 minutes of final cut. The overage accounts for regenerations, alternate takes, and scenes that don't work on first pass.
Tip: Work linearly through the script. Do not jump around. Each scene teaches you something about prompting that the next scene benefits from. Your first scenes will be your weakest. That is fine. By scene 30 you will have developed a feel for what the model needs to hear. Also: the tools improve while you work. A scene generated in month 3 will look better than month 1 at no extra cost.
What you do: Create a unique voice for each character. Feed your dialogue line by line. Direct the performance - adjust pacing, emotion, age, accent. For narration/voiceover, use a separate voice that carries the story between scenes.
What you make: Every line of dialogue and narration as individual audio files, ready for editing.
Time: 2-3 weeks.
Cost: ~$250 (Pro subscription)
Tip: Spend time on voice selection before recording anything. A voice that sounds 90% right will bother you across 109 minutes. Find voices that are 100% right for each character. Also: the audiobook narration uses the same tool but a different voice than any character. Keep the narrator distinct.
What you do: Assemble your generated video scenes on the timeline. Layer in dialogue, narration, soundtrack, and sound effects. Adjust timing. Cut between shots. Add transitions where earned (most cuts should be hard cuts). Color grade if needed.
Sound effects:ZapSplat (real foley and ambiance). Crickets, car engines, radio static, door creaks, rain. Real sound effects ground AI visuals in reality. This is not optional.
Time: 2-3 weeks for assembly, 1-2 weeks for polish.
Tip: Sound is half the movie. An AI-generated frame with real cricket sounds and real rain ambiance feels 10x more believable than the same frame in silence. Invest time in your sound design. Also: DaVinci Resolve's free tier has everything you need for a feature film. You do not need to pay for editing software.
What you do: Export your finished edit at 1080p. Upload to a cloud GPU instance running Topaz Video AI. Upscale the entire film to 4K. The AI reconstructs detail, sharpens textures, and enhances the image far beyond simple upsampling.
Time: 25-30 hours of processing (runs overnight, unattended).
Cost: ~$200 (Topaz license) + ~$150 (cloud GPU time on Vast.ai with dual RTX 4090s)
Tip: 1080p source to 4K output is dramatically better than 720p to 4K. If your video generation tool offers 1080p, use it. The upscaler has 2.25x more data to work with and the result is visibly sharper. Run a test clip first to confirm settings before committing 30 hours to the full render.
STEP 8
Distribute
Platforms: Amazon Prime Video Direct (film), Amazon KDP (novel), your own website (everything else)
What you do: Submit the finished 4K film to Amazon Prime Video Direct. Publish the novel on KDP. Host your soundtrack, audiobook, and supplementary materials on your own site. Use Cloudflare R2 for media storage (pennies per month) and HLS adaptive streaming so viewers get quality matched to their connection.
Time: 1-2 weeks for submission and setup.
Cost: $0 (Amazon takes a revenue share, not an upfront fee)
Tip: You do not need festivals. You do not need an agent. You do not need permission. Amazon Prime Video Direct accepts independent submissions. If the quality is there, it goes up. The audience finds it or it doesn't - but it exists, and it is available, and nobody had to say yes for that to happen.
THE MATH
Total time: ~6 months working nights and weekends
Total cost: under $7,000
People required: 1
What you get: a novel, a screenplay, a soundtrack, an audiobook, and a feature film
The tools get better every month. The costs drop every month. What cost me $7,000 in 2026 will cost someone $2,000 in 2027. And someday it will cost $100. The democratization of filmmaking is not coming. It is here. You just have to have something to say.
The film is rendered natively at 720p, then upscaled to 4K using Topaz Video AI in the cloud. Cloud compute provided by Vast.ai, running two RTX 4090 instances simultaneously. Estimated upscaling time for the full movie: 25-30 hours. Estimated total cost for cloud compute and Topaz licensing: $450-$650.
The full film is chunked into 6-second HLS segments at multiple quality levels and served globally through Cloudflare's edge network. Zero egress fees. No third-party video platform. No ads. No tracking. Viewers get adaptive bitrate streaming that adjusts to their connection - hosted entirely on infrastructure we control, at near-zero cost.
DEVELOPMENT & WORKFLOW
Website and production pipeline developed by Keith Adler using Claude
Tech Stack
Runtime: Node.js 22 on Fly.io (single container, auto-sleep)
Server: Express.js - serves the SPA, API endpoints, authentication, sitemap, and dynamic meta tags for SEO
Frontend: Single-page application. Vanilla HTML/CSS/JS - no framework, no build step, no dependencies. One HTML file serves the entire public site
Data: Static JS modules (scenes, characters, locations, props, outfits) loaded client-side. JSON file for runtime state (approvals, cuts). No database
CDN: Cloudflare R2 for media storage (images, soundtrack MP3s, HLS video segments). Zero egress fees
Auth: Cookie-based session with bcrypt password hashing. Role-based access (admin/viewer)
Streaming: HLS adaptive bitrate - video chunked into 6-second segments at multiple quality levels, served from Cloudflare edge
DNS/SSL: Cloudflare (thesagafordonna.com) with full SSL
Deployment: Docker container deployed via Fly CLI. Push to GitHub, fly deploy, live in 30 seconds
AI Development: All code written in partnership with Claude. No boilerplate generators, no templates - every line purpose-built for this project. This pipeline will form the basis of the next film
GOING FORWARD
This approach will be applied and improved on every future film. The goal is to go from thought to as many channels of storytelling as a story can carry. Novel, screenplay, soundtrack, film, audiobook. When the material earns it, build all of it.
By late July, when full film production begins, the tools will have improved again. Costs will drop and quality will increase. That's the trajectory these models are on, and timing production to ride that curve is part of the strategy.
Akron, Ohio
1987. Rubber City. A Line Down the Middle.
Click to open full size. (c) Keith Adler 2026. All Rights Reserved.
Composed, performed, and produced by Keith Adler
Directed and realized through Suno
Licensed under Creative Commons BY-NC 4.0
Streaming only. Downloads available on supported platforms. Non-commercial use permitted with attribution.
SOUNDTRACK DISTRIBUTED BY DADDY CAN'T BUY U A HIT RECORDS
Chord Charts
A note for keyboardists
These are not chord charts in the way you are used to reading them. There is no lead sheet melody. No slash notation. No comping rhythm. What you are looking at is the harmonic skeleton of an orchestral arrangement - the root movement that the strings, brass, woodwinds, and piano collectively voice across each bar.
Each measure (separated by |) represents one bar at the given tempo and time signature. When two chords share a bar (like Asus4 A), the split is usually half and half unless the musical phrase tells you otherwise. Trust your ear.
Tips for following these on piano:
Voice the chords in the register the section implies. B sections (verse) sit in the mid-range - keep your hands around middle C. A sections (chorus) open up - spread your voicings wider, let the upper extensions ring. D sections (bridge) are departures - move your left hand down, give the bass room to breathe.
Sustained chords are not dead space. When you see four bars of Am, that is four bars of orchestral texture changing around a static harmony. On piano, let the chord decay naturally and re-voice it each bar - different inversion, different weight, different pedal depth.
The suspended chords (Asus4, Csus4, Bsus4) are load-bearing. Do not resolve them early. Hold the 4th. Let it ache. The resolution comes when the chart says it comes.
Slash chords (Bb/D, C/E, D/F#) are bass movement instructions. Your left hand walks while your right hand stays. This is how the orchestra creates motion without changing the harmonic color.
N.C. means no chord. Silence. Lift your hands. The hardest thing to play is nothing, and these pieces earn their silences.
Section letters: B = verse, A = chorus, C = pre-chorus, D = bridge
A Black Girl and a White Boy Fall in Love in 1987 Akron. Nobody Gave Them Permission.
A period romance in the tradition of A Bronx Tale and The Notebook. Original soundtrack free under Creative Commons.
San Francisco - The Saga for Donna is a period romance set in Akron, Ohio, in 1987. After a family tragedy sends him to live with relatives in the city, Christopher, a white teenager, falls for Donna, his Black next-door neighbor, and finds out what that costs in a place with unspoken rules about who's allowed to love whom.
What begins as an easy, immediate connection becomes something both families and their neighborhood have opinions about. Christopher and Donna have to decide how much they'll hold onto each other, and what a first love can survive.
Written, directed, and scored by Keith Adler, The Saga for Donna uses AI tools to handle the production labor that would normally require a full crew. The story, the characters, and the creative decisions are human. The technology is the labor. The vision is the point.
The full release includes a 10-track original soundtrack and the complete film. The soundtrack is free for non-commercial use under Creative Commons BY-NC 4.0. The film is distributed commercially by Hollow House Films. Content advisory: racism and period-accurate racial slurs, family conflict. No graphic violence. Mild profanity. Appropriate for ages 13+.
All images currently available are pre-visualization concept art. (c) Keith Adler 2026. All Rights Reserved. The teaser trailer (December 25, 2026) will debut the final visual style, voice performances, and animation quality of the finished film.
The teaser trailer drops December 25. The full film releases May 28, 2027. Everything lives at thesagafordonna.com.
"This is a story about two kids who decide the people they came from don't get to decide who they love. That's what I wanted to make. Everything else is just how it got built."
- Keith Adler
Release Dates
Teaser Trailer: December 25, 2026
Trailer: March 5, 2027
Full Film: May 28, 2027
Feature film10-track soundtrackSoundtrack: CC BY-NC 4.0Film: All Rights ReservedAll audiences
Keith Adler
Writer, Director, Producer, Composer San Francisco
Keith Adler is a hobbyist writer, filmmaker, and composer based in San Francisco. None of those are his profession. He works full-time in IT. He spent nearly a decade at a major entertainment company on the business and technology side, working across film and television at a senior level. During that time he attended industry events at every level of the business, from below-the-line production to Academy and guild functions, building a working understanding of how stories move from page to screen. The Saga for Donna is his first feature. He wrote and directed the film, composed the score, and is producing it solo using AI as production labor under human creative direction. The film is made at night.
Akron, Ohio. The summer of 1987. The rubber plants are going dark, a housing project the city has already given up on still holds two towers full of people, and a boy arrives with everything he owns in a single bag. These are the lives that cross on the fortieth floor and down at the courts - the ones who take him in, the ones who warn him off, and the girl the whole story is named for.
👤
Christopher
The new kid.
Fifteen, and newly on his own. After a fire takes his father, he's sent across the county to live with an uncle he's never met. Gentle, watchful, and quietly unshakable - with a jump shot that turns heads the day he first walks onto the Wildwood courts.
AARON
You got game?
CHRISTOPHER
Only one way to find out.
(c) Keith Adler 2026. All rights reserved.
👤
Donna
The girl next door.
Fifteen, luminous, and warm to strangers like they're already friends. She lives right next door to 407, keeps a private spot no one else has seen, and becomes the reason a boy from Cuyahoga Falls starts to feel at home. The girl the whole story is named for.
DONNA
I've never brought anybody up here.
(c) Keith Adler 2026. All rights reserved.
👤
Lawrence
The friend who came back.
Christopher's best friend from back home, and the one who ran toward the fire when it counted. An easy, generous presence and a natural on the court - the kind of friend who says he'll show up, and does.
LAWRENCE
We've never lost to anybody we didn't
already know.
(c) Keith Adler 2026. All rights reserved.
👤
Aaron
King of the courts.
The undisputed king of the Wildwood blacktop - a fair, magnetic rival who sizes Christopher up, nicknames him "Larry Bird," and turns a pickup game into the closest thing to a welcome the city has to offer.
AARON
Alright, Larry Bird.
(c) Keith Adler 2026. All rights reserved.
👤
Monica
The older sister.
Donna's older sister - two years up and somehow still ten, in the best way. She misses nothing, protects what's hers, and was watching from the fence line long before anyone said a word.
MONICA
I watched my sister's face. I've been
watching it since.
(c) Keith Adler 2026. All rights reserved.
👤
Donna's Mother
The heart of 409.
She sends a sweet potato pie to a stranger's door on his first night in the building, and stays up till five worrying about her girls. Kind, formidable, and nobody's fool.
DONNA'S MOTHER
Breakfast's not ready yet if that's what
you're creeping around for.
(c) Keith Adler 2026. All rights reserved.
👤
Christopher's Uncle
The reluctant guardian.
Christopher's only living relative and reluctant guardian. He keeps the lights on and the fridge stocked, and goes through the motions of family without ever quite closing the distance.
UNCLE
Save me half the soda, cook enough for
both of us, I'll do the same.
(c) Keith Adler 2026. All rights reserved.
Teaching guide coming soon.
THE SAGA FOR DONNA
Production Access
Terms of Use
Last updated: July 7, 2026
1. Ownership
All content on this website, including but not limited to the screenplay, novel, soundtrack, characters, character designs, locations, props, scene descriptions, dialogue, story elements, and all associated visual and audio materials, is the original intellectual property of Keith Adler.
The novel and soundtrack are provided under CC BY-NC 4.0.
The screenplay and finished film are All Rights Reserved. The film is distributed by Hollow House Films. The soundtrack is distributed by Daddy Can't Buy U A Hit Records. No reproduction, distribution, or adaptation permitted without written permission.
Attribution - You must give appropriate credit to Keith Adler, provide a link to the license, and indicate if changes were made.
Non-Commercial - You may not use the material for commercial purposes including monetized videos, merchandise, or any revenue-generating activity.
Reproducing without attribution · Derivative commercial works · AI training without permission · Scraping or bulk downloading · Removing copyright notices · Claiming authorship
We collect minimal data. We use Google Analytics to understand how visitors find and use the site. No advertising. A session cookie is set only when you log in. Server logs are retained for 30 days max.
What We Collect
Server logs (IP, browser, timestamps) for security only. One session cookie for login. Google Analytics collects anonymized usage data (pages visited, time on site, referral source) to help us understand traffic. No names, emails, or payment info collected through the site.
Third Parties
Google Analytics (usage data, anonymized). Cloudflare (CDN) and Fly.io (hosting) process requests. No data is sold or shared for advertising purposes.
Your Rights
We do not sell personal information. California (CCPA) and EU (GDPR) rights are respected. Contact contact@thesagafordonna.com for any data requests.
Disclaimer
Last updated: July 7, 2026
No Affiliation
The Saga for Donna is an independent production with no affiliation, sponsorship, or endorsement from Adobe, Amazon, Anthropic, Apple, Blackmagic Design, Cloudflare, ElevenLabs, Fly.io, Google, Higgsfield, Kickstarter, OpenAI, Pontiac, Seedance, Suno, Topaz Labs, Vast.ai, xAI, or ZapSplat.
Distribution
The film is distributed by Hollow House Films. The soundtrack is distributed by Daddy Can't Buy U A Hit Records. Both are entities of Keith Adler.
Creative Responsibility
All creative decisions are the sole responsibility of Keith Adler. AI tools are instruments of production, not collaborators.
AI Content Disclosure
Visual content on this site is generated or assisted by AI tools. No AI content depicts real persons or events. All imagery represents fictional characters from the screenplay.
Fictional Content
The Saga for Donna is a work of fiction. Any resemblance to actual persons or events is coincidental.
Accessibility
Last updated: July 7, 2026
We strive to conform to WCAG 2.1 Level AA. The site uses semantic HTML, alt text, keyboard navigation, sufficient color contrast, and responsive design.
Known Limitations
Some concept art may lack full alt descriptions. The soundtrack player doesn't yet announce track changes to screen readers. Some animations may not respect reduced-motion preferences.
We do not sell or share your personal information.
This website does not sell personal information to third parties, use advertising trackers, collect information for profiling, or share data for behavioral advertising.
Last updated: July 9, 2026 · reflects the locked shooting script
This is a plain account of what's actually in the film, not a marketing summary. It's written from the finished screenplay, so nothing here is a guess about where the story might go.
Overall Guidance
Best suited to mature viewers roughly 13 and up. The film includes a major character's death, a large-scale building fire treated as a real-time disaster sequence, one scene involving a firearm, and sustained, unresolved themes of racism and political corruption. There is no profanity, no drug or alcohol use, and no sexual content anywhere in the screenplay.
Violence & Scary Content
The film opens on a house fire and gas explosion; a parent's death is implied, not shown. The climax is an extended, real-time sequence of a 41-story building burning - characters running through smoke and heat, a stairwell collapse, a stampede of panicked residents, and a central character's death that is the emotional core of the film. None of this is graphic or gory - the fire and its consequences are felt rather than shown in detail - but it is sustained and intense, closer to the anxiety of a disaster film than a jump-scare. One earlier scene has a character pull a handgun during a confrontation on a basketball court; it is not fired.
Language
None. There is no profanity of any kind anywhere in the screenplay.
Romance
The central relationship is a first love between two fifteen-year-olds, kept deliberately chaste throughout. There is one kiss. A scene where the couple falls asleep together overnight on a rooftop is written explicitly as innocent - an arm around a shoulder, nothing more. The relationship being interracial draws real disapproval and danger from the world around them (a tense bus ride, a parent's warning), which the film treats as an injustice, not something to be endorsed.
Alcohol, Drugs & Smoking
None depicted anywhere in the film.
Mature Themes
The story deals directly with the death of a parent, the foster care and guardianship system, poverty, and the economic neglect of a Black community by the people who profit from it. A teenage character is coerced into helping cover up a crime because of a debt his family can't pay another way. The film's ending is intentionally unresolved on the question of justice - the people responsible for the fire are never meaningfully held accountable, which is a deliberate choice about the world the story is set in, not an oversight.
Why It Might Still Be Worth Watching Together
Underneath the hard subject matter, this is a story about kindness, chosen family, and a community holding each other up when no one else will. For families with kids old enough for the subject matter, it's a strong starting point for a conversation about race, class, and what accountability actually looks like when the people with power don't want to give it.
This site uses a session cookie for login only. No tracking or advertising cookies. Privacy Policy
License Agreement
Tested by Fire: On What Christopher Actually Is
FULL SPOILER WARNINGLike the Scripture post before it, this one walks through the whole film, ending and all. If you'd rather come to the story clean, stop here and come back after you've seen it, read it, or heard it.
The last one of these looked at the whole shape of the film - the saviour who gets saved first. This one is about one thing sitting inside that shape: what Christopher actually is. Watch him closely and he stops being only a tragic teenage boy. He starts to read as something quieter and stranger - a witness. A living judgment, walking through a city that has already decided not to look at itself, and seeing every single thing it would rather not see.
He comes to Akron already tested by fire. The blast in Cuyahoga Falls that took his father didn't only wound him - it left him with something close to supernatural: he hears the thin hiss of a thing about to burn before anyone else in the room feels a draft. Everyone around him has learned to stop noticing the danger they live inside. The out-of-service sign nobody reads. The propped fire door nobody questions. Christopher is the one who can't stop noticing. He goes floor to floor, kicking the bricks out from under doors that were never meant to stay open, trying to put a broken building back into some order nobody asked him to keep. He is the one still awake in a place that has agreed to sleep.
That instinct isn't heroism the way movies usually mean it. It's the oldest job there is - the watchman on the wall, the one posted to stay awake and sound the alarm, whose whole burden is that if he sees the danger coming and says nothing, the blood is on him. Nobody appointed Christopher. He appointed himself, the way the watchman always does, because he's the only one who can still hear it coming.
Then he goes down. Not up, into the light where the romance and the ballgames are - down, into the basement, the utility corridor, the part of the building the residents are never meant to see. And that is where the city's actual rot is kept: the sprinkler main chained shut, the kerosene, the men with a schedule and a Monday walk-through to beat. Judgment, in the old sense, isn't punishment - it's exposure. It's dragging the hidden thing up into the light where it finally has to be looked at. Christopher descends into the dark and comes back up carrying the truth of what's being done to this place.
The first person that truth lands on is Aaron. Christopher doesn't threaten him or turn him in - he just holds up what he's found and makes Aaron look at it. Everything Aaron has done, he's done in the dark, in basements, at hours when nobody's watching, on the quiet understanding that some things you don't ask about. Christopher is the light that makes those things visible, and Aaron hates it exactly the way people always hate the light when their deeds can't survive it - right up until the night the building burns, when the same mirror is what turns him back around and sends him up the wrong way through the smoke to save someone. The witness doesn't sentence him. He just makes him see, and lets the seeing do the rest.
When the fire finally comes, Christopher does the thing a judgment does - he walks straight back into it. Back into the exact trauma that made him, down forty floors carrying a woman who once told him to stay away from her daughter, and then, already out and safe on the street, back in again for the ones still inside. The city's answer to that is the ugliest thing in the film. They rule it a faulty gas line. They pave the graves over with tidy townhomes and bolt a bronze plaque to the entrance with the smiling face of the man who ordered it - concrete and bronze poured straight over the truth. But the film holds an older idea about what happens when you build a city on blood and try to seal it under stone.
Because the stone won't stay quiet. Somebody keeps scratching a line through that plaque, over and over; management keeps buffing it smooth; somebody keeps coming back. The men who ran the numbers decided Christopher was expendable - a loose end, a boy worth nothing to their arithmetic. And he's the one thing their arithmetic couldn't bury. The bronze corrodes. The townhomes are just houses. The real monument is the empty patch of sky where the towers stood, a woman who looks up at it and has never once believed the lie, and a strip of faded photographs on a fence with flowers somebody keeps replacing underneath. The stone the builders threw away is the only thing in that whole development that's actually holy.
So I don't think Christopher is only a boy who dies in a fire. I think he's what a city looks at when it finally has to see itself and can't stand to. He hears what nobody wants to hear, goes where nobody wants to look, drags up what everybody agreed to bury, and pays for all of it with his life - and then refuses, quietly and permanently, to be covered over. They got their new buildings and their clean report and their smiling plaque. They just never got the last word. He did. It's a patch of empty sky, and it doesn't say anything, and it never stops saying it.
Nobody Decided This: On the Apathy Underneath the Story
The public logline for this film has a line in it about a place the people who run it have 'already quietly decided isn't worth saving.' That line is the closest thing the movie has to a thesis, and the word doing the work in it is quietly. Not cruelly. Not violently. Quietly. This is, underneath everything else, a story about systemic apathy - about how much damage gets done by nobody in particular deciding to do it.
Apathy is harder to put on a screen than cruelty. Cruelty has a face; you can point a camera at it. Apathy is an absence - a call that doesn't get made, a form that gets stamped without being read, a repair that never comes. It's the hardest thing to dramatize, because its whole nature is that no single person is responsible for it. So I built it into the objects and the rooms instead of the dialogue.
The building's second elevator has an OUT OF SERVICE sign taped over the button. It's curled at the edges. Nobody in the film so much as glances at it - they've all quietly stopped expecting it to be fixed. There's a payphone by the courts with its cord snapped clean through, dead long enough that nobody bothers reporting it anymore. The drive into the city passes a shuttered plant with its name sandblasted off the entrance, a parking lot built for shifts that don't come. None of that is plot. It's the weather. It's what a place looks like after it's been let go of, one un-fixed thing at a time.
The institutions are worse, because they're the ones that are supposed to help. A courtroom decides a fifteen-year-old's entire future in the flat, administrative language of a matter being disposed of - the sound of the room moving on without ever asking him anything. A caseworker drives him clear across town without once asking a real question, because a question would mean waiting for an answer, and she is already halfway to done with him. Nobody in those scenes is a villain. Every one of them is just doing the minimum the system asks and not one thing more. That is the point. That is how it actually works.
I think apathy is scarier than malice because malice is rare and apathy is the default. Most people will go their whole lives without meeting a genuinely evil person. Everyone alive has been the file that didn't get read. A system doesn't need anyone inside it to be cruel to grind a person down - it just needs enough people to decide, separately and quietly, that this particular thing isn't their job. Nobody decided it. Everybody did.
1987 in a rust-belt city is the right place to set that, because the whole region was living inside a slow, official shrug - plants closing, tax bases collapsing, entire neighborhoods reclassified on paper as not worth the investment. The apathy in this movie isn't invented. It's the documented mood of a specific place at a specific time, and the people who lived through it didn't get handed a villain to blame. They got a phone that rang in an office where the answer was always going to be no.
The reason the film isn't unbearable is that it sets one thing directly against all of that: a few people who decide, for no institutional reason and against their own interest, to care about someone anyway. A warm dish left at a stranger's door. A friend who shows up exactly when he said he would. That's the whole argument of the movie in miniature - apathy is the system, and care is the thing a handful of people do in spite of it, at cost, with no one paying them to. I won't say more than that here.
When you do see it, watch the background. The broken things back there aren't set dressing accidents. Every un-fixed sign and dead phone and un-asked question is the movie telling you, quietly, what kind of place this is and who got left holding it - long before anyone raises their voice.
A Parents' Guide, Now That the Script Is Locked
The script being finished means something concrete: I can now write down what's actually in this film instead of what I expect will be in it. So I did. A full parents' guide is up on the site - what's in it, scene by scene where it matters, plain and specific instead of vague.
Short version, if you don't want to click through: there's no profanity anywhere in the screenplay, no drug or alcohol use, and the romance at the center of it stays entirely chaste - one kiss, and a rooftop night that's explicitly written as innocent. What it does have is a house fire in the opening minutes that a parent doesn't survive, a real-time building fire in the climax that a major character doesn't survive either, one scene where a gun comes out on a basketball court, and sustained, unresolved themes around racism in 1980s America and a political corruption plot that never gets a clean, satisfying consequence on the page. That last part is deliberate - I didn't write an ending where the powerful people responsible face real accountability, because that wouldn't have been honest to the story I was telling.
None of that is meant to be a warning label so much as an accurate one. This isn't a film for young kids, and I'd rather a parent know that going in than find out partway through. The full breakdown - section by section, with the reasoning behind each call - is up now.
Read the full Parents' Guide →
The Script Is Done
The script is done. Final draft, locked.
Locking a draft is a different thing than finishing one. A first draft is a story you're still deciding on. A final draft is scene numbers that don't move anymore, so a schedule can get built against them and every department can start pricing this thing out for real. That's where it sits as of today.
What's next is the shooting script, and it's a different kind of pass than anything before it. The story is done moving. Every scene, every beat, what happens and in what order - locked, as of this draft. What's left is dialogue, line by line, making sure every person in this says exactly what they'd actually say and nothing they wouldn't. I'll have it Saturday.
I went back through the whole thing this past stretch with a harder eye than usual - not looking for new ideas, looking for the places where a scene was doing half its job instead of all of it. A character whose grief never got a line. A beat that told you something a picture should have shown you instead. A mechanism that needed to survive someone asking 'wait, how would that actually work' out loud in a theater. Fixed what I found. Some of it was small - one sentence. Some of it changed how a whole act moves.
Here's the honest thing I didn't expect going in: every ingredient in this movie has been used up on its own a hundred times before. The doomed young love. The mentor who turns out to be compromised. The friend who dies paying off a debt he never should have owed. The kid who finds a home in the last place anyone would've bet on. None of that is new. Put those pieces next to each other specifically enough - a real city, a real decade, a real building with a real reason to be worth more burned down than standing - and something that should read as familiar doesn't. I'm not going to pretend I saw that coming. I just kept following the specifics until it stopped feeling like the version of this story you've already seen.
The novel's about a week out now. Same story, but prose asks a different thing of it than a script does - anything that worked because of what a camera could just sit on has to work a different way when there's no camera. That's the tightening I'm doing this week. Not new plot. The same story, said right in a form that isn't the one I built it in first.
Here's where things stand:Novel - about a week outAudiobook, full cast of voices laid over the soundtrack - before mid-AugustTeaser trailer - December 25
More as it's actually done, not before.
The Theme Song: "Don't Give Up on Love"
The theme song is done - "Don't Give Up on Love," a duet with Jasmine Maist and Marty Gregg.
Nine tracks got you there. This is the one the whole soundtrack was building toward - the song that plays under everything, start to finish.
I wanted this one tied 100% to the characters and the story, not written as a single to sell the movie. Every line traces back to something that actually happens on the page - the rooftop, the pie dish, "be good." The music's job is to support the film. Not market it.
It's in Bb major at 65 BPM - same key and tempo as the rest of the couple's music on this album. The final chorus modulates up a key. That's a first for me as a songwriter - I don't think I've ever earned a key change by the end of a song before. This one does.
A music video is planned for Valentine's Day.
Lyrics below, and you can listen right here.
Verse 1Up on that rooftop, we watched the sunset burnColors bleeding gold across the Akron sky in turnStars slowly whispered as the city slipped awayWe fell asleep together, woke to a brand new dayYour head upon my shoulder, the world so far belowIn that quiet moment, I knew I'd never let you goPre-ChorusTwo hearts crossing lines that the world said couldn't beChorusDon't give up on loveHold on through the fire and the rainDon't give up on loveSay "Be good"... instead of goodbye againFrom the stars we counted to the dreams we'll chaseOur hearts will find each other, no matter time or spaceDon't give up on loveOh, be good, my love... don't give up on usVerse 2That old pie dish still lingers like a promise keptNever made its way home, just like the words we never saidI never brought a soul up to that ledge beforeYou opened up my whole world when you walked through the doorI still feel you searching for my window in the nightNow every road I take, I take with you in mindPre-ChorusI've never brought anybody up here...But you brought me... into foreverChorusDon't give up on loveHold on through the fire and the rainDon't give up on loveSay "Be good"... instead of goodbye againFrom the stars we counted to the dreams we'll chaseOur hearts will find each other, no matter time or spaceDon't give up on loveOh, be good, my love... don't give up on usBridgeWe fell asleep as two... woke up as oneAnd even if the morning tries to steal the sun...This love is endless... it's only just begunFinal ChorusDon't give up on love!(Be good...)Hold on through forever and a dayDon't give up on love!(Be good...)Our hearts will light the wayFrom that rooftop sunset to the dawn we made our ownYou'll always be my shelter, I'll always be your homeDon't give up on loveOh, be good, my love...Don't give up... on usOutroBe good...Don't give up on love...Be good...Forever...▶Don't Give Up on LoveDuet with Jasmine Maist & Marty Gregg
The video comes next.
Act One Is Done
Act One is done.
I know this story. I've known the shape of it - the people, the tapestry being painted, where it all ends - for years. Writing it down this month hasn't felt like discovery so much as transcription.
Act One covers the same span most first acts do: what got taken, and what got found instead. Christopher loses his father to a fire in Cuyahoga Falls and gets pulled from it, barely, by a friend who had no reason to go back in for him. A month later he's handed off to an uncle in Akron who didn't ask for this and doesn't pretend otherwise. And somewhere in the middle of that - a neighbor. A basketball court with its own laws. A roof that isn't his, on a night that becomes the one thing in the whole act nobody's trying to survive.
From the script - dialogue as chemistry with zero exposition:DONNAI've never brought anybody up here.She says it like it's nothing. It isn't.DONNA (CONT'D)(a beat, then lighter)You know, most people return a pie dish in under three weeks.CHRISTOPHER(caught)I was going to.DONNASure you were.She's smiling when she says it. Three weeks of almost-knocks and almost-nothing, and neither of them is bothering to pretend otherwise anymore.(c) Keith Adler. All rights reserved, existing and future.
From the script - a nickname that isn't really about basketball:AARONAlright, Larry Bird.He says it laughing, not mean. A compliment dressed up as an insult - the highest kind he gives out.CHRISTOPHER(a real smile - first one in the whole script)I'll take it.AARONYeah. Alright, Larry.He says it like it's already decided. It is.(c) Keith Adler. All rights reserved, existing and future.
On the AI question, since I brought it up last time: the adversarial pass isn't there to invent anything for me. I already know these people. What it's actually for is making sure I don't shortchange them - that a supporting character doesn't quietly become a function just because I ran out of scene to give them real interiority, that a quiet character's silence still reads as chosen and not just underwritten. It's already caught exactly that kind of gap a few times. The story is mine. The job is making sure everyone in it gets to be as fully realized as the two people the title is about.
For anyone curious how the cast is actually shaping up through Act One - nothing from Act Two or Three here, just what's on the page so far: Christopher and Donna are both doing real work. He's built almost entirely through instinct instead of speeches - the things he notices, the things he can't leave alone, the things he doesn't ask for. She's got the best lines in the script so far and more agency than anyone else in it - she's the one who decides things, not just receives them. Lawrence gets remarkably little screen time and does an enormous amount with it in the space he's given. Aaron might be the most purely fun dialogue in the whole act - a real rival, a real friendship, earned entirely through play, no favors involved. The uncle is more specific than a minor character usually gets to be - uninvested without being cruel, which is a harder note to hit than cruelty would have been. And then there's a car that pulls up along a fence line for about twenty seconds, driven by a man who says nothing and means something. Not saying what yet.
Here's where things stand:Shooting script - two weeks outNovel - before mid-AugustThe duet, "Don't Give Up on Love" - before mid-AugustAudiobook, full cast of voices laid over the soundtrack - before mid-August
More as it's actually done, not before.
The Soundtrack Is Complete
The soundtrack is done - ten tracks, start to finish.
I'm not going to get into what each one means yet. Some of these will land very differently once you've seen where they sit in the story, and that's exactly the kind of thing I don't want to spoil before the film is ready. More on that later.
Here's the track list:
1. Last Night2. Donna - The Love Theme from The Saga for Donna3. Welcome Home4. Christopher's Theme5. Irreplaceable6. Meet By The Courts7. The Price of Truth8. Dawn9. End Suite - Theme from The Saga for Donna10. Don't Give Up on Love (duet)
Nine of the ten are up on the Music page right now. Go listen.
A word on why the keys land where they do. Bb major is the couple's key. It's the Love Theme, it's Christopher's Theme, it's Irreplaceable, and it's where the whole album resolves in the End Suite. Anything that's really about the two of them together lives in Bb. The minor cues - Last Night, Welcome Home, The Price of Truth - are close relatives of that same Bb, not a different world. Just that world gone dark for a scene. D major belongs to the town itself: Meet By The Courts and Dawn share it, and it's deliberately not the couple's key. The tempo does the same work the keys do - it climbs through the middle of the album, then drops all the way to 62 BPM for The Price of Truth, which is exactly as slow as that title should feel. And the duet closes everything out in Bb at 65 BPM, the same key as the Love Theme, because by the time you hear it, that's exactly what it's become.
I know the story, the characters, and their arcs. Having the music finished means writing all of it - every scene, every beat - is going to be even more satisfying than it already would have been.
Here's the plan from here:Novel - end of JulyScript and pre-production planning (locations, characters, props) - end of AugustNovel released under Creative Commons, with an audiobook - end of OctoberTeaser trailer - December 25
That order is backwards from how I built Young Cop. There I wrote the novel first, then the script, then the music, then went back and enhanced the novel once the film's version of the story was fully locked. This time: music first, then the script, and the novelization comes last.
UPDATE - July 9: Four more tracks have gone up since I wrote this, but they belong in a different column than the ten above. Those ten are the score - the film's own emotional voice, written to carry scenes from the inside. These four are period source music: songs that exist inside the world of 1987 itself, the kind of thing already playing on a radio in somebody's kitchen or out of a boombox on the blacktop before anyone in the scene walks in. Diegetic, not score.
11. You're So Foolish - Deja Monroe12. You a Mark, Buster - MC Steel & DJ Snap13. Love Me - Marlon Reese14. Games We Play - The Playmakers
The job these four do isn't emotional, it's temporal. A score can be timeless on purpose; source music can't afford to be. An R&B slow jam bleeding through a mall PA, an old-school rap boasting out of a car window, a boy-band single on the courts - those are the sounds that tell you, without a title card, exactly what summer you're standing in. They root the film in its year the same way the clothes and the payphones and the news on the radio do. The artists are invented. The era they belong to isn't.
The Story Underneath: Scripture, Sacrifice, and the Saviour Who Was Saved First
FULL SPOILER WARNINGThis post is different from every other one here. The rest are about how the movie got built; this one is about what it means - and I can't get into that without walking through the whole story, ending and all. So take this as fair warning: everything past this line assumes you've already seen the film, read the book, or listened to the audiobook. If you'd rather come to it clean, stop here and come back after.
The Saga for Donna doesn't wear its faith on its sleeve. There's no church in it, no hymn, nobody prays on-screen. But the shape underneath it is the oldest shape there is, and I built it on purpose: a boy who is saved, and who becomes the one who saves. The rescued becomes the rescuer. That single inversion is the engine of the whole film, and I want to lay it out plainly, scene by scene. The passages below link to Bible Navigator; you can read each one in full there.
Start with who Christopher is. He's written, from the first page, as almost lamb-like - gentle, trusting to a fault, without the instinct for self-protection that everyone around him runs on. And the film opens by nearly killing him. A fire takes his father's house in Cuyahoga Falls, and Christopher is inside it, unconscious in a basement closet, already as good as gone. He does not save himself. He is carried out - by Lawrence, a friend who had every reason to stay on the sidewalk and instead broke down a door and went into the smoke after him. The very first thing that happens in this movie is one boy laying down his own safety for someone he loves. That isn't a throwaway rescue. It's the thesis, stated once at the start so it can be answered at the end.
Then the film gives the saved boy somewhere to be saved into. Christopher arrives in Akron with everything he owns in one duffel bag - an orphan, a stranger, handed off by a caseworker who can't wait to be rid of him. And the people of Wildwood take him in anyway. Donna says hi like they're already friends. Her mother, who has never met him, spends an afternoon making a sweet potato pie and sends it to his door because 'nobody should have to cook their first night somewhere new.' That is the oldest instruction there is about the stranger at your gate, and this Black working-class building keeps it toward a white kid the wider city has already reduced to a case number. They feed him before they know him.
Now the answer the whole film was built to give. The fire that ends it is not an accident - it's arson, an insurance scheme run by men who decided a tower full of people was worth more burned than standing. Christopher gets out. He is on the street, alive, his part done. And then he turns around and walks back in. Not for Donna - the film is deliberate about this - he sends her down and out first, safe, before he ever turns. He goes back for the building: her mother, Monica, the neighbors, the men from the courts, the people who took him in. The boy who was carried out of one fire spends the last minutes of his life carrying others out of this one, walking back through the doors he just escaped, straight into the exact thing that made him. He was saved by someone who laid down their safety for him. He answers it by laying down his life for a crowd, most of whom will never know his name. The rescued became the rescuer. That is the one sentence this movie exists to write.
Aaron is the film's Judas, and then its thief on the cross. He's complicit in the fire - he took the job because his mother owed money she couldn't pay any other way, and he tells himself what every man in his position tells himself: that he's only staying standing, that he already picked his side weeks ago. He sells out the building he grew up in. And then, the night it burns, something in him breaks the other direction. He didn't know it would be that night - 'I didn't know it was tonight. I swear to God I didn't know it was tonight' - and instead of running he climbs back up the stairwell, against the crowd, the wrong way on purpose, to pull people out. He gets Monica clear and doesn't make it himself. The film never tells you whether that last turn is enough to wash the months that led to it. It just shows you a man who spent the whole story walking away from grace turning around in the final hour, and it leaves the verdict to a higher court than the audience.
Against those two - Christopher who gives everything, Aaron who gives it late - stands the uncle, who gives nothing and gains everything. He takes Christopher in for the foster subsidy and never once learns to love him; the warmth of the middle scenes is a routine settling into place, not a heart changing. And in the film's coldest cut, at the exact moment Christopher turns into the smoke, we are across town watching the uncle sign for the life-insurance payout on the brother who died in the first fire. He profits from both deaths and is touched by neither. When the call comes that Christopher is gone, something almost crosses his face - and then he checks his watch and goes on with his morning. He is the man who gained the whole world and felt the cost of his soul for exactly one second before deciding it wasn't worth stopping for.
And above all of them, barely seen, is the man who ordered it. A councilman whose name is already bolted to the community center where the kids play ball, who profits when the towers go up cheap and again when they burn down, and who is never touched by any of it. There was an investigation. It ran three years and convicted no one who mattered. His name ends up on a bronze dedication plaque over the new development built on the graves - and the only time in the entire film we ever see his face is cast in that bronze, smiling over a playground. This is the hardest, least comfortable choice in the movie, and I made it on purpose: I refused to give him a reckoning. The wicked prosper, in plain sight, with their names on the buildings. Donna knows exactly what happened and has nowhere on this earth to take that certainty, so she just carries it. The film leaves the account open, the way the Psalms do when they stop pretending the books get balanced down here.
Which is why the film cannot end on the fire. Years later, on the ground where the towers stood, there's a green with children playing on it. Donna and Lawrence - the two people who loved Christopher most, the friend who first carried him out of a fire and the girl the whole story is named for - are married now, and they have a son. They named him Christopher. He tears across the grass, four years old, safe, and completely unaware of any of it. A grain of wheat fell into that ground and died, and this is the harvest it bore: a marriage, a child, a whole community that carried a boy's memory forward instead of letting the men who killed him have the last word. He doesn't get a resurrection. He gets a namesake, running in the sun, on the exact dirt where he died.
There's a pattern in the names, and I put it there. The friend who carries Christopher out of the first fire is Lawrence - Larry - and the first thing the courts do is rename Christopher 'Larry' too, after the ballplayer, until nobody's using his real name at all. The boy who was saved ends up wearing his rescuer's name without either of them noticing. Then, at the end, it runs the other way: Lawrence names his own son Christopher. The saved takes the savior's name; the savior gives the saved one's name to his child. And the name itself is the tell - Christopher, Christophoros, is Greek for 'Christ-bearer.' I didn't pick it by accident. The one who carries others out of the fire is named, literally, for the one who carried.
And then the last thing. All film long, Christopher and Donna never once say goodbye - her family thinks it's bad luck, so they say 'be good' instead. It is the last thing she ever says to him, in the stairwell, neither of them knowing it's the last time. By the end it has quietly become the one instruction he actually kept, at the highest possible price. In the final scene Donna says it to her son - 'be good' - into his hair, and he says 'I know, Mom,' and squirms loose and runs, a child who will never need to know what those two words cost. That is the covenant handed down to the next generation: a blessing said instead of a goodbye, given to a child who gets to carry it without carrying the grief. Teach it to your children. They won't know where it came from. That's the mercy in it.
So here is the whole thing in one line. Christopher is saved by someone who lays down their safety for him, and he answers it by laying down his life for people who can never repay him - and the ending he 'gets' is not his to earn or to keep. He doesn't survive it. He is carried forward: by Lawrence, by Donna, by a community that took in a stranger and then refused to forget him, by a child wearing his name who will grow up good and never feel the weight of it. The saviour was saved first. Everything he became, he became because someone went into the fire for him when he could not save himself. That is not only how I built the story. As far as I can tell, it's the only way any of us gets carried anywhere.