Monako
2026
Every AI agent needs a face.
Not a complex 3D avatar. Not a static icon. Something in between. Something that blinks, looks around, feels alive. Something you can drop into any project without thinking about it.
I kept needing this for different projects. A face for a chatbot. An avatar for a dashboard. A character for a demo. Every time I'd either use a boring circle with initials, or waste hours building something custom.
So I built Monako. An npm package that generates animated faces with expressive eyes. Pass it a seed string, get back a consistent character. Same seed, same face, every time. Perfect for user avatars or persistent agents.
That's it. You get a face that blinks, looks around, reacts. Subtle movements that make it feel alive without being distracting.
Two eye styles because different products need different vibes. Smooth gives you soft elliptical eyes, friendly and approachable. Pixel gives you crisp rectangles, retro and playful. I added the pixel style after using Monako in a game-like interface where the smooth eyes felt too serious.
The whole thing is pure JavaScript, no dependencies, works with React, Vue, Svelte, or vanilla JS. SVG-based so it scales crisp at any size. Around 3KB gzipped. You won't notice it in your bundle.
Faces serialize to compact tokens. Store them in a database, share them between services, reconstruct them anywhere. Useful when you want the same character to show up across different parts of your product.
Around 1K weekly downloads on npm now. Not huge, but enough to know other people had the same problem.