QAnimator
Motion design, written entirely in code. Launch films, product explainers, social ads and data stories, rendered by my own engine from a brief, with no stock and no generative video.
- Procedural motion engine
- Kinetic typography system
- 24 scene transitions
- AI author pipeline
- Fine-tuned Qwen2.5-Coder 7B
- Frame-exact renders

Generative video gives you a clip you cannot open: change one word and you roll the dice again, and the logo comes back slightly wrong. QAnimator goes the other way. A film is code and data, so the brand holds in every frame, every element can be edited, and the same file renders identically every time.
I built the rendering engine, a motion-graphics kit (kinetic type, charts, UI, maps, transitions), the authoring pipeline that turns a brief into a finished film, and a desktop studio to review and tweak it. The four pieces below are concept work for invented brands.
01
A launch film for a product that does not exist
Orin One, a concept desk lamp. It assembles itself as a blueprint, resolves into a matte render, and then follows a day: cool daylight at seven, focused light at one, amber at half past seven. The lamp, its light and every card are drawn by code, frame by frame.
02
A fintech explainer with a working UI
Veyra, a concept payments app. The phone screens are live: the amount counts up, the real rate and fee cards slide in, the button is pressed, three checks tick, the money lands. Then a dotted world map lights up route by route.
03
A social ad set, built for the scroll
Kiln, a concept coffee roaster. Three twelve-second vertical spots: a hook, a stat and an offer. Big type slams on the beat, the bag drops in with a burst, tasting notes pop, and every spot signs off with the same lockup.
04
Campaign results as a story
A quarterly report film for a concept client. Reach rolls up on an odometer while the line climbs, channel bars rise with the winner in coral, the donut sweeps to one in three, and it ends on a single recommendation.
Why it matters for a studio
On-brand in every frame
Colours, type and layout are data, so a brand system is applied once and holds across every shot and every cut-down. Nothing drifts between versions the way generated video does.
Revisions are edits
Change a line of copy, a colour or a timing and re-render in minutes. The same file renders identically every time, so the approved cut is exactly what ships.
One toolkit, every format
16:9 launch films and 9:16 social cuts come from the same kit and the same brand system, so a campaign looks like one campaign across a launch page, Reels and a pitch deck.
Brand-safe by construction
No generative imagery, no stock footage, no scraped art. Fonts are open-licensed. The brands on this page are invented for the demo.
From a brief to a film
AI author + procedural engineBrief
A paragraph and the brand basics. The AI author proposes the concept, the script and the list of elements the film needs.
Storyboard
Scenes, timing, camera, type and transitions as an editable plan. Nothing is rendered until it reads right.
Film
The engine animates and renders the final film with sound, and checks its own frames for problems like unreadable text or cropped subjects.
Range
Narrated science explainer
The same engine also makes narrated explainers: a 78-second film from the Big Bang to the blue Earth, with captions timed to the narrator word by word and every claim sourced.
My own model
Fine-tuned on RunPodv1 · public
qanimator-rig-7b
Qwen2.5-Coder-7B fine-tuned with QLoRA to write the engine's drawing code: one JavaScript module per asset. It runs locally at about 50 tokens a second on an 8 GB laptop GPU.
huggingface.co/vigneshk0702/qanimator-rig-7b ↗v2 · private
Character designer
Trained on about 15,000 examples. It turns a reference sheet or a sentence into a complete, animatable character in 3 to 11 seconds, 8 to 23 times faster than a frontier model on the same briefs, at no API cost.
Kept private while the next version trains.
Fine-tuned vs frontier
Same six briefs · one run eachThe fair question is whether a frontier model could do the same job. It can. So I gave both the same six character briefs: my fine-tuned 7B running locally, and Claude Opus 5.5 through its API. Both results are drawn by the same engine.
15×
faster overall
33 s for all six against 505 s. Per brief, 8 to 23 times faster.
$0
per character
Runs on my own GPU. No API calls, and no brief leaves the machine.
~150
tokens out
A compact spec my character kit draws, against ~8,700 tokens of drawing code from the frontier model.
2 · 3 · 1
match · partial · miss
Mine, judged against each brief. The frontier model scored 5 · 1 · 0.
Qwik
Chibi tiger cub, striped tail, purple bandana with a “Q”
partial · Stripes and bandana colour off
match
Bik
Round bee, huge eyes, glowing antennae and a lantern belly
partial · No glowing lantern belly
match
Rusty
Fox cub, pointy ears, cream belly, fluffy white-tipped tail
match
match
Hoot
Wise little owl, huge round eyes, cream chest, green scarf
match
match
Lily
Happy green frog, eyes on top of her head, pink bow
partial · No bow; eyes not on top
partial · Bow is orange, not pink
Gloop
Purple-blue blob monster, antennae, huge eyes, wide grin
miss · Wrong colour and body shape
match
What it shows. The frontier model is more faithful to the brief. Mine is an order of magnitude faster, costs nothing per call and never leaves the machine, and because it only writes a small spec that the engine's character kit draws, it is always on-style. In the pipeline each does what it is good at: the local model for fast drafts and volume, the frontier model as the fallback when a draft misses.
Method: six briefs, one run each, the same text for both (two briefs also came with a reference sheet). The two models do different jobs by design: mine writes a character spec, the frontier model wrote full drawing code. Match, partial and miss are my own judgement. Next: a 50-brief blind test.