Keycode Pet

A pixel character that lives on your desktop. It runs along the bottom of your screen over whatever you are working on β€” and the whole team can make every installed pet speak.

macOS (Apple Silicon & Intel) Β· Windows Β· Linux (AppImage, deb, rpm)

Five frames of the pet: idle, running left, mid-jump, running right, and settled
Idle, running, mid-jump, running back, settled β€” one continuous stretch of pet life.
macOS builds are signed and notarized β€” open the .dmg and run normally. Windows may still show SmartScreen once (More info β†’ Run anyway); there is no Authenticode certificate yet. Install instructions β†’

What it does

It talks

Publish a message and every installed pet says it β€” once each, whenever that machine next wakes up. A notification with no timeout waits until you click it, so an announcement cannot be missed by looking away.

The pet with a white speech bubble reading 'Deploy freeze starts at 5pm', with a dismiss cross

Put it anywhere

Drag it off the floor and it stays where you drop it, patrolling left and right at that height β€” and it is still there after a restart. Drop it near the bottom and it re-locks to the floor.

The pet placed mid-screen rather than along the bottom

Three sizes

Small, medium or large, from the right-click menu. Only the character scales β€” the speech bubble keeps its type size, because a message you cannot read is not a message.

A small pet with a full-size speech bubble above it

It looks after you

Water and stretch reminders, at intervals you choose. They are wall-clock deadlines rather than timers, so closing your laptop for two hours does not greet you with a backlog of four reminders on wake.

The pet reminding you to drink water

Or leave it be

Turn movement off and it settles down to sleep rather than freezing in place. Right-clicking the pet gives the same menu as the tray icon β€” which matters on Wayland, where the compositor swallows right-clicks and the tray is the only way in.

The pet asleep with animated z's rising from its head

For the team

Every pet polls manifest.json on this site once a minute. Publishing to it is how you reach everyone β€” and the easiest way needs nothing installed:

Actions β†’ Notify β†’ Run workflow

Or from a checkout:

pnpm notify "Keycode on Fire πŸ”₯" --tone warning --expires 24h

The schema, every limit, and the nine fault modes β†’