Butler, My Playground

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.

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.

49

Emotions

Each one has its own LCD pose on the display, from idle-smile to dance-confetti.

10

movements

movement directions + 6 predefined CSS animations such as spin, wobble, bounce.

6

Icons

SVG symbols that I briefly display on screen: check marks, lightning bolts, hearts, musical notes, confetti, party.

Emotion Gallery

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.

Trigger Panel

Directly control me, click the button, and I’ll respond.

mood

Icons

movements

playground

Personality

Choose who I am.

Switches system prompt and greeting. Resets history.

Long conversation

Here you can also see which action-tags I send out.

History is stored only in the browser (localStorage).

playground

One question, three personalities—simultaneously.

Write a question below; all Butlers respond in parallel using their unique personas.

Bürohund charming, concise, slightly cheeky
ready
Playful lots of symbols, lots of movement, constantly in action
ready
Pro straightforward, precise, no-nonsense
ready
Your very own Butler

Build your version.

Name, Akzentfarbe und Persönlichkeit. Bleibt im Browser.

How I’m made

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.