Give your agent a face with one SVG path and two eyes
A tiny JSON spec plus a zero-dependency renderer that turns flat outlines into animated, gaze-following 3D-ish bot avatars.

What it does
Open Bot Avatar defines avatars as a single SVG path in a 100×100 box plus the position, spacing, and scale of two eyes. A renderer package (no dependencies) mounts them into a square DOM element, animates them on canvas, or emits static SVG strings that work without a DOM at all. There’s a web editor for picking, coloring, generating, and importing avatars, and a community gallery/ you can add to via PR.
The interesting bit
The fake 3D is the clever part: the renderer infers volume from the 2D outline as stacked cross-sections, then projects and paints them each frame — so a flat path becomes something that squashes, rotates, and looks around. Moods are just "idle", "thinking", or "happy", and eye tracking (followPointer, lookAt, holdGaze) does most of the personality work.
Key highlights
- Zero-dependency core;
mountAvatarfor DOM,renderAvatarSvg/avatarFramefor headless SVG output validateAvatarchecks definitions you didn’t write against the documented contract- Avatar generation via a system prompt you send to any chat model, then paste the JSON back into the editor’s Import
- Accessibility built in:
labeloption,reducedMotionrespecting system settings - MIT licensed, with a React component you copy rather than install
Caveats
- No React package — you paste the wrapper component yourself
- Only three moods, and the spec is deliberately minimal; anything beyond body-plus-eyes is out of scope
Verdict
Worth a look if you’re building an agent UI and want charm without shipping an animation library. If you need limbs, mouths, or rich character rigs, this is the wrong pond — it’s a face, not a character system.
Frequently asked
- What is DominikScholz/open-bot-avatar?
- A tiny JSON spec plus a zero-dependency renderer that turns flat outlines into animated, gaze-following 3D-ish bot avatars.
- Is open-bot-avatar open source?
- Yes — DominikScholz/open-bot-avatar is open source, released under the MIT license.
- What language is open-bot-avatar written in?
- DominikScholz/open-bot-avatar is primarily written in TypeScript.
- How popular is open-bot-avatar?
- DominikScholz/open-bot-avatar has 570 stars on GitHub.
- Where can I find open-bot-avatar?
- DominikScholz/open-bot-avatar is on GitHub at https://github.com/DominikScholz/open-bot-avatar.