Mascot showdown

Same mascot. Two ways to build it.

Meet Luvu. On the left, Luvu is built in Rive with a state machine and data binding. On the right, the same Luvu is AI-generated video. Press the buttons and see which one keeps up.

Rive · live.riv · state machine
viseme 100 Zoom 2.5×
1 file · ≈340 KBeverything on this page
Any linelip-sync runs live in the browser
AI video.mp4 · pre-rendered
Zoom 2.5×
5 filesone clip per action
1 linea new line means a new render

Tip: click on Luvu, then try the video. Use Zoom in to compare quality and Dark mode to check the background.

What you just saw

RiveAI video
Reacts to the userYesCursor, clicks, app events through data bindingNoPlay, pause, loop
Says a new lineInstantlyVisemes are driven by any audio, even your micNew renderEvery sentence is a new paid generation
Same character every timeYesOne rig, every stateDriftsEach clip is a slightly different Luvu
Moves between statesBlends smoothlyThe state machine handles transitionsJump cutsClips swap, poses don't match
Background and sizeTransparent, vectorSharp on any screen, works in dark modeBaked in, pixelsFixed resolution, no alpha in mp4
EditsMinutesChange a color or timing in the editorStart overNew prompt, new roll of the dice

AI is great for concepts.
Rive is how mascots come alive in your product.