How I recorded my first product demo in 54 seconds (OBS, ffmpeg, openai.fm) A developer documented the toolchain used to create a 54-second product demo for Convertify, a free image converter, employing OBS Studio, ffmpeg, and openai.fm for voiceover. The developer highlighted the importance of starting with the user's pain point and iterating on the script to achieve a concise, effective pitch. I shipped my first product demo video this week for Convertify my free image converter . 54 seconds, no team, no budget. Here is the exact toolchain and what I would change next time. OBS Studio for screen recording at 1920x1080, 60fps, CRF 20. The 60fps is not vanity. Product demos live and die on smooth scroll and cursor motion. 30fps for a converter tool with drag-and-drop looks laggy even when the tool is fast. CRF 20 instead of the default 23 because text on white backgrounds compresses ugly at higher CRF: you get that faint mosaic around letter edges. Free, open source, deterministic. No mobile screen recording because I needed the desktop browser context this is a "your iPhone photos on Windows" story . ffmpeg for trim and crop. ffmpeg -i raw.mkv -ss 3.2 -to 57.4 \ -filter:v "crop=1920:1000:0:40" \ -c:v libx264 -crf 20 -c:a copy trimmed.mp4 CLI over Kdenlive or DaVinci Resolve because I knew the exact cuts. Two ffmpeg commands beat 20 minutes of GUI timeline scrubbing. Crop removed the taskbar and top window chrome without re-encoding twice. openai.fm for voiceover. Ash voice. I tested Alloy, Fable, Nova, Ash. Ash landed clearest for technical explanation pacing. Alloy sounded like it was reading a bedtime story, Fable had a slight British lilt that felt wrong for the American tech audience I am targeting, Nova was too energetic. Hiring a voiceover artist starts at $50 for a one-off and rises fast if you iterate. openai.fm generates in 20 seconds per attempt. I regenerated the voiceover 6 times across script rewrites and it cost nothing. ffmpeg merge as the last step. ffmpeg -i trimmed.mp4 -i voiceover.mp3 \ -c:v copy -c:a aac -shortest final.mp4 Separate audio and video passes. If voiceover timing slips, re-recording audio alone is 30 seconds. Re-recording the screen is 10 minutes plus 3 blown takes. v1 was 180 words. It opened with "Convertify is a free tool that converts HEIC files to JPG." I wrote it, recorded a test take, listened back, and it was plodding. It sounded like I was describing a product, not solving a problem. v4 is 118 words. It opens with "Your iPhone saves photos as HEIC format. Windows does not. Neither do most websites, Slack, or Discord." The pattern that unstuck me: start with the user's pain, not the product name . The product name earns the right to appear once the pain is on screen. In 54 seconds you cannot afford to spend 5 seconds on brand introduction before the viewer knows why they should care. Four rewrites to arrive at something obvious. That is the honest part. Script cursor movements ahead of time. I improvised on takes 1 through 4 and each felt slightly different, which made editing harder. Take 5 with a mental map was noticeably tighter. Test all voices first, not sequentially. I burned an hour on Alloy before realizing I should have generated one line in each voice on day one. Record the screen segment before writing the voiceover, not after. I wrote v1 first, then discovered the cursor motion was faster than the words. Rewriting to fit visible pacing was easier than the reverse. Convertify is at convertifyapp.net https://convertifyapp.net . Free, no signup, no watermarks, batch up to 20 files. Feedback on the video welcome, especially if you have shipped product demos as a solo dev and hit different tradeoffs.