A launch video for the Reading Room, made in code with Claude Opus 5.5
How the 29-second Reading Room launch video was made without a video editor: Claude Opus 5.5 scripted it, filmed the live site frame by frame with Playwright, and cut it to the beat with ffmpeg.
The Reading Room is a first-person 3D room that holds the books I've read. I wanted a short video to post on X. Instead of opening a video editor, I asked Claude Opus 5.5 in Claude Code to make one. It wrote the script, filmed the live site, and cut it to music, all from the terminal.
Links
- Post on X: x.com/rahul_r007/status/2107142518051869137
- Room: readingroom.rr2.dev
- Repo: github.com/r-r-2/thereadingroom
- Music: "Jazz Lofi" by Aurec, from Pixabay
Result: 28.9 seconds, 1080p at 60 fps, 1,734 frames. Every frame is the real site rendered in Chrome. There is no screen recording and no editing software.
Who did what
- Me: the hook line, the feedback after each draft, the Goodreads screenshot, and the choice of track.
- Claude: the shot list and captions, the capture rig, the camera moves, the title cards, the tempo analysis, and the final export.
How the video is filmed
- Playwright drives real Chrome. For each frame a script sets the camera in the live room and takes a screenshot. Rendering runs on the GPU, so the footage looks like the site itself.
- Captions are part of the page. The title card, labels and end card are HTML laid over the canvas, so they land in the screenshots.
- ffmpeg assembles it. Screenshots are piped straight into ffmpeg, which encodes the video and adds the music.
Cutting to the beat without ears
Claude can't listen to audio. It decoded the track to raw samples and measured it instead: 75 BPM, with the beat dropping about 12.8 seconds in. It then lined that drop up with the flash cut at 2.5 seconds and moved every later cut onto the 0.8-second beat grid. The title card, the book pull, the guest form and the end card each start a bar.
What took a few rounds
- The first cut was a walkthrough with subtitles. I said it didn't look like a launch video. The rebuild opens on my Goodreads profile, cuts hard to the floating books, and adds a title card, large labels and an end card.
- The hook was hard to read. The Goodreads page now dims slowly to about 80% dark under the opening line.
How long it took
About an hour of building, in two sittings on the same evening.
- 7:36 pm: I said "let's build it".
- 8:03 pm: first full cut, 27 minutes later.
- 8:28 pm: rebuilt as a launch video, with the Goodreads opener and the window ending.
- 10:49 pm: I came back with the track.
- 10:57 pm: final video with music, 8 minutes later.
The planning chat before that (plan, hook line, script) fit inside the hour before 7:36.
My prompts
These are the prompts that shaped the video, as I typed them, with only the typos fixed. Nothing here is a careful prompt. It was a conversation.
can you help create a launch video for this on x and including screenshots. it should have hooks and go with ai community on x. Also highlight visitors can recommend books for me. This is not saas but just a personal project so keep it in mind. i am not looking for customers but just viewers.. tell me the plan. will it be on code?
it should also have a catchy background track for hook right
you don't have to use same music of room.. go with what goes best for video and no copyright ones
hook line can be "I didn't like how my Goodreads profile look, so I built a reading room to show books i have read or reading" . suggest fixes in this
yes let's go with your pick.. and now show me script
floating is cool.. how can i highlight it better
okay let's build it
why doesn't it look like a launch video.. in the beginning maybe we show screenshot of my goodreads profile to show difference
can we also include the window side for scenery somewhere in the end..
here is the screenshot in my desktop.. latest file
this looks great.. use this music https://pixabay.com/music/modern-jazz-jazz-lofi-587555/,
it's added to desktop.. also the hook in first frame is not that visible .. can we slowly dim the goodreads profile even further
I didn't study anyone else's prompts for this one. I wanted to test what the quality is by default. For future projects I will study how others do it and learn the best practices.