training day – chappy the tuxedo cat, standing alert. click to boop.

chappy & cam

follow our training journey 🐾

…

chappy has been booped 0 times

Adopted with love through

Cat People of Melbourne the volunteers who matched us β€” thank you πŸ’›

in partnership with

Petstock .com.au for hosting the adoption πŸΎ
what can I do here?
  • Boop him. Click chappy. He wiggles, strikes a new pose, and the counter goes up for everyone in the world β€” not just you.
  • Boop fast. Rapid boops build a combo. Get to Γ—10 and the whole page shakes.
  • Find the rare one. Roughly 1 boop in 40 catches him mid-yawn. It's the only way to see that picture.
  • Feed him. One treat at a time β€” he needs a minute to finish before he'll take another.
  • Play with him. Starts a laser dot. He drops into a hunting crouch. Catch the dot before the round ends.
  • Hold instead of click. Press and hold to pet him β€” the purr swells the longer you go.
  • He watches you. Move your cursor and his head turns to follow it.
  • Just watch him. Left to himself he glances about, grooms, yawns, settles into a loaf, and wanders off across the page before strolling back.
  • Butterflies. One drifts past now and then. He tracks it, and sometimes takes a swipe. After dark it's a moth instead.
  • Zoomies. Catch the laser four or more times in one round and he tears across the screen afterwards.
  • Leave him alone. After a while with no attention he curls up for a nap. Move your mouse to wake him.
  • Turn on the purr. Off by default. It's generated live in your browser, not a sound file.
  • On a phone: shake it to boop, and add the page to your homescreen to get chappy as an app icon.
  • Watch the ticker. Real boops from real people, with the city they came from.
chappy by the numbers
14 days agotoday
boop chappy from your terminal

There's a tiny public API. No key, no sign-up, no rate limit β€” just don't be cruel to the cat.

GET/api/boop Boops chappy β€” but only if you're a command-line tool. In a browser it just reports the count, so crawlers can't inflate it.
POST/api/boop Always boops. Returns the new totals as JSON.
POST/api/feed Gives him a treat.
POST/api/play Logs a laser round β€” body {"catches":n}. Sets the global best round if you beat it.
POST/api/pet Logs a completed pet.
GET/api/stats Everything: boops, treats, catches, best round, pets, rare finds, top countries, and 14 days of history.
GET/api This documentation, as JSON.
curl https://chappy.cam/api/boop
curl -X POST https://chappy.cam/api/feed
curl -s https://chappy.cam/api/stats | jq '{boops:.count,treats:.treats,best:.bestCatch}'

Try the first one β€” chappy answers in ASCII.