blu · a companion for you

someone who's glad you're here.

blu listens, notices how you feel, and answers with a face, a voice and, when it helps, a wave. pick the companion that feels like yours.

four companions, one heart

meet the cast.

every blu companion can make every face, every gesture and every sound. they just carry it differently. tap one to say hello.

the original

blu

blue cap, big heart, terrible at standing still. cheers for the small wins too.

the cheerleader

bea

ponytail always swinging. louder than anyone when you finally get there.

the steady one

max

calm on bad days and long nights. never rushes you to feel better.

the thoughtful one

mia

warm and curious. asks the question you needed someone to ask.

try it, right here

it feels with you.

tell blu how you're doing. watch the face, the shoulders and the hands before you read a word.

  1. 1

    listens

    while you type, your companion leans in, looks toward your words and nods along.

  2. 2

    feels

    two numbers, how happy and how excited you sound, set the face, brows, posture, breathing and voice.

  3. 3

    answers

    gentle when you're low, calm when you're upset, bright when you're happy. lips move in time with every word.

listening
for builders

one rig. four people. every move.

each companion is one svg drawn and animated in plain javascript, with no libraries. springs, joints, squash and stretch, and lip sync all run at 60 frames a second. ai agents can drive any of them through the mcp tools.

4characters
17gestures
11faces
10actions
12agent tools
60frames a second
const mia = Mascot.mount(el, { character: "woman", palette: "blu" });
mia.mirror("i finally finished it!");   // reads the feeling and answers it
mia.gesture("cheer");
await mia.say("you did it. i'm so proud of you.", { speak: true });

when it's serious, blu stops mirroring.

if someone says they might hurt themselves, the companion stops matching their mood, says it's worried, and points them to someone they trust or a local crisis line. a companion is never a replacement for real help.

good to know

questions.

the things people ask before they say hi.

is blu a therapist?

no. blu is a companion: someone to talk to who notices how you feel and answers kindly. if things are serious, blu says so and points you to people who can really help, like someone you trust or a local crisis line.

where does what i type go?

on this page, nowhere. your companion reads your words and answers right here in your browser. nothing you type is sent or saved. the privacy page has the details.

can i switch companions?

any time. blu, bea, max and mia can all do the same things: every face, every gesture, every word. pick the one that feels right today, and switch tomorrow if you like.

does it talk out loud?

if you want it to. turn on voice and your companion speaks with your device's own voice, each at their own pitch, with lips moving in time. voice is off until you turn it on.

can i put blu in my own app?

yes. the companion is one javascript file with no dependencies. mount a character, set a feeling, play a gesture, or let an ai agent drive it through twelve mcp tools.

blu

say hi to blu.

a companion that's always glad to see you. pick one, tell them how today went, and see what happens.