The first time I saw a Golpo video (YC backed, they turn documents into whiteboard explainers), my reaction was: okay, that's the bar. The lines looked like someone was actually drawing them. Not a mask wiping across an image. Not an SVG path animation. Drawing.
Every other "AI whiteboard video" tool I tried looked fake within two seconds. So for SketchPen, I decided the drawing engine was the product, and I'd write it from scratch.
It took 30+ versions to get there.
Why it's hard
Generating the image is the easy part now. Making it appear the way a human would draw it is the hard part, and your eye is ruthless about it. People forgive wobbly lines. They don't forgive the wrong order.
A person drawing a cat doesn't reveal it left to right. They do the outline of the head, then the ears, then the eyes, then maybe some fur texture at the end. Text gets written letter by letter, left to right, not faded in. Big shapes come before details. Fills come after outlines. And all of it has to line up with what the narrator is saying at that moment.
The iterations, roughly
I won't share the exact recipe, since it's the core of the product. But the shape of the journey:
- v1 to ~v5: wipes and masks. Fast to build, looked cheap. Instantly recognizable as "a reveal effect."
- ~v5 to ~v15: contours. Computer vision to pull out the actual strokes in the image, then animate along them. Way better, but the order was chaos. It looked like a printer, not a person.
- ~v15 to ~v25: ordering. This is where most of the work went. Deciding what gets drawn first, how strokes connect, where the "pen" lifts, what counts as detail. A mix of classic CV and AI making judgment calls about the image.
- ~v25 to 30+: timing. Syncing strokes to the voiceover timestamps frame by frame, so when the narrator says "the heart pumps blood," the heart is what's being drawn. This is the part that makes it feel alive.
Every iteration was the same loop: render the same set of test videos, put them side by side with the reference, and watch them at 1x speed. Not scrubbing. Watching, like a viewer would. If anything felt off, that was the next version.
Where it landed
A 2-minute explainer renders end to end in under 4 minutes: script, scenes, drawings, narration, sync. It speaks English, Hindi and more. And it's priced so a student or a solo creator can actually use it, starting at $14/month.
Around it there's a 7-stage pipeline (LLM generation, image synthesis, speech, assets, rendering) on FastAPI, Postgres and Modal, with the unglamorous parts done properly: idempotent billing, transactional credits, recovery when a stage dies halfway.
What I took away
- Pick the one thing that's the product and go absurdly deep on it. For SketchPen it's the drawing. Everything else can be good enough for a while.
- Your eval is your eyes, at real speed. Metrics didn't tell me a video felt fake. Watching did.
- Order beats smoothness. A slightly shaky line in the right order feels more human than a perfect line in the wrong one.
- Iteration speed is the moat. 30 versions only happen if each one takes hours, not weeks. Agents made that possible. Deciding what each version should fix was on me.
SketchPen's early access is opening soon. Watch the demo and judge the drawing yourself.