Point it at a URL, get a clean scroll-walkthrough mp4. One command.
Every site in this portfolio needed a walkthrough clip, and each time I was hand-writing the same Playwright-plus-ffmpeg script, tweaking scroll timing and transcode flags by hand. That is a tool pretending to be a one-off. Reel is the script promoted to a real command with sane defaults, so recording a site is one line instead of a copy-paste I re-debug every time.
It had to stay honest about what a headless browser can actually do. No fake screen recorder that claims to capture anything: it records what an anonymous visitor sees, which means login-gated and paywalled pages are out of scope, and it says so rather than producing a broken clip. One file, no dependencies beyond the two that do the real work.
Anyone shipping marketing sites who needs walkthrough clips for a deck, a case study, or a handoff.
A small tool built the way a workflow engineer builds: notice the repeated manual loop, name it, and replace it with one command.
Split the pure logic from the IO so the tool is testable. URL normalization and output-name derivation are exported functions with their own assert-based check, while the record-and-transcode step stays a thin shell around Playwright and ffmpeg. It would have been faster to write one procedural script, but the seam means the fiddly parsing is verified in a second and the tool is safe to change later. The same lesson that runs through the rest of this portfolio: put the part that can silently break behind a check.
Scroll timing is one global pace for the whole page. A dense hero and an empty footer get the same dwell, so busy sections feel rushed and sparse ones drag. I would measure section height or content density on the way down and vary the dwell per region, the same idea I flagged for the pixel-gallery transitions.