A personal assistant with a face. Designed from a blank page to a live 3D character that listens, works and lights up when you need it.
This is the real thing, not a video. Hover and Jugnu follows your cursor. Tap it to get a reaction. Switch states and moods from the controls, or press the mic and ask ‘what time is it?’
Open full screenI’m building a personal bot that does tasks for me: emails, reminders, bookings, research. Text logs tell me what it did. They never tell me, at a glance, what it’s doing right now.
I defined how the bot behaves first: when it’s idle, listening, working, done or stuck. Then I explored six characters, seven shapes and four finishes against that list until one design read clearly in every state.
Jugnu has 8 core states and 12 moods, a full motion and colour spec, an icon set from 1024 to 16px, and a live 3D build with a working voice assistant and an API any app can drive.
Agents are getting good at doing things for us. They’re still bad at telling us how it’s going. When a task runs in the background, I keep asking the same three questions: Is it working? Is it stuck? Is it waiting for me?
A spinner answers one of those, badly. A face can answer all three without a single word, because people read faces faster than they read any interface. The risk is the other direction. A cute mascot that jumps around becomes noise within a day.
How might I give an assistant that acts on my behalf a face that tells me what it’s doing at a glance, and stays calm enough to live on my screen all day?
Every state must be identifiable from shape and motion alone, in greyscale, at 40px.
Idle is the state it lives in 90% of the time, so idle has to be the quietest thing on screen.
Character comes from small, specific behaviour, like how it blinks, leans and settles, not from more decoration.
The same design must work as a 1024px app icon, a 16px glyph, a flat 2D sticker and a 3D object.
Before drawing anything, I wrote down every moment the bot would need to communicate, what triggers it and how it should feel. This list became the brief for every design decision after it. A concept that couldn’t show all eight states clearly didn’t move forward.
I also looked at the personality I wanted the bot to carry: mine. I’m a product designer in Gurugram who likes making complicated things simple. So the bot should be warm, quick and a little witty, never loud. It should feel rooted in everyday Indian life rather than in sci-fi.
Because the face is driven by states, not by a single app, Jugnu fits anywhere something runs on your behalf.
Sits in the corner while Claude Code or another agent runs a long task. Working while it runs, Success or Error when done, so you stop checking the terminal.
The face for the bot that sends emails, books cabs and pays bills, showing what it’s doing without opening a log.
A small always-on screen for timers, reminders and focus sessions that sleeps when you do.
A friendlier face for “turn off the lights” or “what’s the weather”, reacting as it listens and answers.
Reminders for medicines and calls home, with warm moods (Love, Proud) that make it feel less like software.
A brand character that explains, waits and celebrates inside an app, using the same spec.
The state list did more design work than any sketch. It turned “which one is cuter?” into “which one tells me it’s stuck?”.
A design that looks great in its hero state can fall apart in Sleep or Error. The 7 × 8 matrix caught that early.
The best changes were often removals: fewer lights, a subtler hologram, a glow with long dark gaps.
Calling it Jugnu changed the idle state, and the idle state is what you see most.