Meet the colony

Sixteen cats. One editor. Zero standard library.
Every behavior, on one page.

open the editor →

get early access — one email when catnip opens up

The Cursor Chaser
Watches your every move. Pounces when you stop typing. Naps when you go idle.
Try it
▶ Run
The Run-Button Hanger
Grips the Run button for dear life. Reacts to every success and error with full drama.
Try it
hiss! 😾
The Syntax Error Hisser
Your code has a syntax error. She knows. She's not happy. She's telling everyone.
Try it with broken code
▶ Run
purrr ♥
The Success Purrer
Every third clean run earns a purr. She appreciates consistency.
Try it with clean code
function greetTheCat() {
  return 'meow'
}
The Clean-Function Napper
Finds your clean, concise functions and curls up beside them. Up to three at once.
Try it
The Idle Sleeper
60 seconds of silence and she walks to the corner, curls up, and sleeps. Wake her if you dare.
Try it (fast idle)
click me 🐾
The Pet-Me Purrball
Every cat is clickable. Tap one and get a purr, some hearts, and a little burst of serotonin.
Try it
The Delete-Storm Batter
Delete 10+ characters and she appears, batting at every glyph as it falls off the screen.
Try it (delete a lot)
// TODO: fix this later
The TODO Procrastinator
Finds every // TODO in your code and sleeps on it. Remove the comment, she wakes up triumphant.
Try it
The Cursor Stalker
Follows your mouse everywhere. Move slow — she stalks. Move fast — she sprints. Stop — she pounces.
Try it
console.log('value:', x)
console.log('step', i)
console.log('done')
The Debug Detective
Appears next to every console.log. Sniffs the value. Tips its deerstalker hat and trots off when the log is removed — case closed.
Try it
The Scrollbar Surfer
Rides the thumb. Surfs while you scroll, wipes out on fast scrolls, and does an arrival stretch at the top and bottom.
Try it
The Save Parade
Hit Cmd+S and a parade of banner-carrying cats trots across the editor. The last one does a tail-flick celebration and vanishes.
Try it
function sumValues(items) {
  const total =
    items.reduce((a,b) => a+b)
  return total
}
The Bracket-Buddy Hammock Cat
When your cursor is inside a bracket pair spanning 3+ lines, a cat appears in a hammock strung between the brackets. She sways gently. She is unbothered.
Try it
The Typing-Streak Hype Cat
Type at 5+ keys/sec for two seconds and she erupts from the corner — bouncing, waving pom-poms, throwing sparkles. Slow down and she does one last fist-pump before slinking off.
Try it (type fast!)
The Monaco Error Hisser
She doesn't wait for you to run your code. The moment Monaco squiggles a red line, she's in the gutter — arched back, fur spiking, hissing at the offending line. Fix it and she saunters off.
Try it (type a syntax error)
The Button Loafer
She drapes over the Run button — paws dangling, tail swishing. Hover and she lifts her head. Click and she startles off in a hop, sits beside the button collecting herself, then climbs back up.
Try it (hover the Run button)
|
The Find Detective
Press Cmd+F and she materialises next to the search bar — hat and magnifying glass ready. Type a query and she scans back and forth. Hit a match and her ears perk up, a badge counts the results. No match? She droops. Close the panel and she tips her hat and trots off.
Try it (Cmd+F in the editor)
function add(a, b) {
return a + b;
}
 
// ← napper curls up here
The Clean Function Napper
Short functions with a single return get a visitor. She curls up in the gutter, breathes slowly, and floats a hand-drawn Z every few seconds. The positive-reinforcement counterpart to the hisser — quiet approval for clean code.
Try it (loads a clean function)
The Empty Sleeper
Clear the editor and wait three seconds. A pencil-sketch cat materialises centre-stage in a perfect loaf — paws tucked, eyes closed, breathing slowly. She floats a Caveat-font wisp every few seconds: "a blank canvas", "ready when you are". Type a single character and she stretches, scampers to the nearest edge, and vanishes.
Try it (clear the editor and wait)