Foundlings
A calm companion inside Claude Desktop that grounds you in the day you have actually had.
The question I was chasing
Where does something calm and genuinely alive fit inside the tool I already talk to all day?
Every daily-wisdom app hands out a generic quote with no idea what the day has been like. I wanted the opposite: something that sits in the conversation where the work is already happening, knows the kind of day it has actually been, and speaks to that. Not "here is today's stoic quote" but "two hours on the same problem is persistence, not failure."
The constraints
It had to install with one double-click and no terminal, so someone non-technical could have it running in Claude Desktop in seconds.
It had to stay private. The extension carries no brain and no network of its own, so the conversation never leaves Claude.
And it had to feel alive at the size it actually renders, breathing and glancing on its own, not a frozen loop that plays once and stops. Those three pulled against each other, and most of the build was holding all three at once.
The decisions that mattered
I threw out pre-made animation files and redrew the creature in code. Animating a ready-made rig looked stiff and puppet-like, and I was judging it from stills rather than playback. So I rebuilt it as a drawing I animate directly, with a gallery that shows every pose down to 22 pixels, the size it actually ships at.
I moved the whole thing inside Claude Desktop. The original plan was a separate menu-bar app. Making it a single double-click extension instead turned out to be roughly 90 percent code reuse. The creature was already a brain of pure logic and a face of pure drawing, split along exactly that seam.
I cut the feeding loop, the whole original idea. Foundlings began as a pet fed by talking to Claude through the day. A streak to protect is the opposite of calm. Letting Claude read the real conversation instead of a stats engine gave the creature something truer to respond to, and nothing left to ask for.
Built with: a hand-rolled MCP server, an MCP App panel, GSAP on an addressable SVG rig, Claude, Claude Code
Where it landed
Foundlings is real and working today, installed the hand-built way rather than from a store listing. It appears inline in the Claude Desktop conversation, breathing, and offers a few sentences written for the day that actually happened.
Running an interactive panel inside a local extension is not a use Anthropic has documented, and I found out why the hard way. A build over the size limit simply does not install. No dialog, no error, nothing to debug against. Shrinking the animation code was the fix, which made it load-bearing rather than cosmetic.
Part of the Rolling Waves work archive.