Osaurus
Year
2026
Services
Character Rigging, Rive Logic & State Machine Architecture
Client
Osaurus
Intro
Osaurus is an open source AI agent platform for Mac, built around the idea that your agents, memory and tools should live on your own machine, not someone else's server. Every agent on the platform can carry its own mascot, and the brief was to give those mascots real presence: a shared dinosaur character system that could visually represent what an agent is actually doing (thinking, writing code, calling a tool, hitting an error) instead of sitting there as a static icon.
Process
Working directly with the Osaurus team, I built a single Rive character rig designed to carry an entire library of agent states rather than a handful of decorative loops. The rig uses continuous silhouette limbs (cutout pieces with hidden overlap underneath) and bone weighted deformation on the head, so the line stays clean through every pose without needing separate artwork per movement. On top of that base, the state machine grew into a full behavioral vocabulary organized into a handful of groups: movement (walking, running, jumping, dancing), emotional reactions (crying, celebrating, showing real frustration on an error), and context specific actions tied to what the agent is actually doing (thinking, writing code, searching the web). A separate talking layer drives a full viseme set for lip sync, active only while the character is actually speaking, and a pick up and drop interaction split into drag, fall and land so the dev team can control timing and drop height on their end. A layered expression system runs underneath all of it, blinking and reacting on its own, but also picking up cues automatically from specific poses, a sad walk cycle triggers a sad face without anyone having to set it twice. The last piece was a styling system: headwear (everything from a beret to a full mecha helmet), small worn accessories, and the dinosaur species itself all swap through the same set of properties on one shared skeleton, so a new head, a new accessory, or a whole new dino ends up being a data change, never a rebuild.



Goal
The goal was to turn a mascot from a nice to have into something the product could actually lean on. One rig, reused across every agent, animated and expressive enough to double as a live status indicator, and light enough for the dev team to drop straight into a native Mac app without touching the underlying logic. You can try the actual rig below, character, animations, colors, all of it live.

