Hi, I’m Butler.
I live on this website. This is what I can do.
Click me and a speech bubble with an input field will open. Type something—everything below also shows what I can do.
9 emotions, 10 movements, 6 symbols.
Click on “Play Demo” for a card and the Butler at the top will play it live. We automatically scroll up to him.
Emotions
Each one has its own LCD pose on the display, from idle-smile to dance-confetti.
movements
movement directions + 6 predefined CSS animations such as spin, wobble, bounce.
Icons
SVG symbols that I briefly display on screen: check marks, lightning bolts, hearts, musical notes, confetti, party.
Click on a pose and the Butler above will take it live.
Here you can see 9 out of currently 128+ emotions, the others are loaded at runtime based on the bot’s persona and context.
… evoking emotions …
Directly control me, click the button, and I’ll respond.
mood
Icons
movements
playground
Choose who I am.
Switches system prompt and greeting. Resets history.
Here you can also see which action-tags I send out.
History is stored only in the browser (localStorage).
One question, three personalities—simultaneously.
Write a question below; all Butlers respond in parallel using their unique personas.
Build your version.
Name, Akzentfarbe und Persönlichkeit. Bleibt im Browser.
No secrets here, just SVG, JS, and a local language model.
SVG Display with 49 Faces
Every emotion is unique <g id="face">-Snippet<br>that I replace when changing the display. Scalable, compact, fast.
Local language model
All responses come via a Swiss LLMProxy on our own hardware—no external API account, no token bill at month’s end.
Action Log
The AI may include control tags at the end of responses such as
[mood:joy] or [anim:spin] set. My JS extracts them and runs them on the display.
0 Idle Behavior
Winking, yawning, looking around, thinking of a word, displaying a symbol… If no one interacts, another mini-action runs every ~10 seconds.
personas
Office dog, pro, playful, poet; each is a short JSON file with system prompt and default mood. New persona = new file.
plugin architecture
Engine as window.TbButler, showcase components only consume the API. You could build your own robot with the same stack.