HAMSTER WHEELS
← Back to Case Studies
Why I built this
The honest reason is a question I could not stop poking at: can agentic AI actually be useful in an ordinary life, not just at work?
Read the whole story
I built Hamster Wheels during an uncertain stretch when I had the time to think about what I actually wanted from these tools. The industry answer to "agentic AI for your life" was mostly "write your emails faster," which never interested me. I wanted the real version: an agent that maintains genuine context, reads its own notes before it acts, and updates them after, so a person with a gist-shaped memory can offload the specifics and trust they will still be there next week.
It mattered because it worked, and because it stayed fun. I named it after Hamtaro on purpose: a system you are fond of is a system you keep feeding, and the day it stops being a joy is the day it quietly dies. Two years of me-projects have come and gone, but I still open this one every day. That is the whole proof I was looking for, that the part of AI I find genuinely exciting can serve a real person, and that the real person can be me.
The problem
My brain runs on gist. I remember the shape of a thing, the vibe of a conversation, the fact that something happened, but almost never the specifics. That is a fine way to be a person and a terrible way to keep a project alive across a dozen separate chats with an AI that forgets me the moment I close the tab.
I built Hamster Wheels during a stretch where the specifics mattered a lot and my memory for them was at its worst: job searching, sprinting toward conference deadlines, rebuilding confidence one small project at a time. I needed an external memory that actually held context between sessions, and I needed it to feel like mine instead of a generic productivity template I would abandon in a week.
So I did the reasonable thing and named it after Hamtaro. The hamsters came first. The system was built to match, and the rule has held ever since: the moment it stops being fun, I stop feeding it.
The assumption that changed
My first instinct was the obvious one: build a single smart assistant that knows my whole life. One agent, one giant context, ask it anything.
That version fell over fast. A catch-all agent forgets which hat it is wearing. Ask it about Japanese study and job leads in the same breath and it blurs them together, loses last week's thread, and quietly drops the exact details I needed it to hold. The bottleneck was never how smart the model was. It was context: what the agent knew when it started, and whether that knowledge survived to the next session.
So I stopped building one agent that does everything and started building many small ones that each own exactly one zone. A hamster for language learning. A hamster for writing. A hamster for job scouting. Each one knows its lane deeply and ignores everything else on purpose. The intelligence lives in how the context is organized, not in a cleverer prompt.
What it actually is
Hamster Wheels is roughly seventeen named agents, each one a set of living documents in a notes app (Craft), read and updated by Claude over MCP. Claude is the runtime. The hamsters are the state. I am the human who benefits when the two stay in sync.
Every hamster owns one zone and carries the same four-document memory schema:
- Biography — who this agent is, its domain, and, crucially, what it is not. Dexter, the language hamster, is explicitly "not a curriculum, not a reminder system that nags during work crunches." Writing the scope boundary down is what stops an agent from quietly sprawling back into a catch-all.
- Compass — the proactive layer. Real openings to use what the agent tracks, added without being asked. Dexter notices I have no speaking practice scheduled and drops in a low-pressure way to start.
- Paws — the active queue, and my favorite constraint in the whole system. It opens with "Read this first. Max 2 things." Each agent has a left paw and a right paw and can hold at most two active tasks. A hard work-in-progress limit of two, per agent, enforced by the document itself.
- Diary — an append-only log. "Never edit old entries. Every session leaves a trace." It is the agent's observed history of me: what I got right, where I struggle, what changed and when.
On top of the agents sit hats. A hat is a mode an agent puts on for a particular job. The finance hamster has a budgeting hat that answers exactly one question ("are we okay this month?") and a separate strategy hat for the longer game. Same agent, same memory, different lens. Hats keep a single agent from needing a dozen conflicting instruction sets.
The hard part: coordination without a brain
Seventeen agents that each ignore everything outside their lane have an obvious failure mode: things fall between them. A conversation that starts as cold outreach becomes a real relationship, and suddenly two hamsters both think they own it, or worse, neither does.
The fix is an explicit handoff protocol. Threads move between agents with a required payload, not a vibe. When the outreach hamster hands a warm connection to the relationships hamster, the handoff has to carry three things: who the person is and how I know them, what the last real exchange was, and what maintenance looks like going forward. It reads like a ticket moving between queues, because that is basically what it is.
Here is the honest limitation. Right now the hamsters are documents that Claude reads and updates, not independent processes running on their own. The coordination is real but it is human-triggered: I open a session, Claude reads the relevant hamsters first, does the work, and writes the changes back. The version where fifteen agents run in parallel with a synthesis layer on top is designed and not yet built. I would rather ship the honest version that works every day than the impressive one that only exists in a diagram.
The pipeline underneath
Feeding the agents is its own small discipline. Every automation in the system follows the same shape:
source (raw) → transform → Claude → structured output → written back to Craft
The part that always breaks is the first step: getting raw data in cleanly and repeatably. So the system keeps a running catalog of every source and how to pull it, whether that is a LinkedIn export, a Twitter archive, the live Craft documents themselves, or a targeted web search. A roll-call agent reads every hamster doc live through the Craft API and produces one morning briefing across all of them for about ten cents a run.
Model choice is a deliberate cost decision, not a default. Classification jobs, like sorting a screenshot to the hamster that owns it, run on Haiku. Anything with web search or long context runs on Sonnet. Opus never runs in a scheduled job, because paying Opus rates for a nightly cron is how you light money on fire.
It runs today. It feeds real work: the writing analysis behind my posts, the job-scouting cards I actually use, the screenshots that would otherwise rot in a folder. It costs less than a coffee a month to operate. I am very calm about this.
What it's actually about
Strip away the hamsters and the joke names and Hamster Wheels is a bet about where agentic AI actually gets useful in a normal life. Not a smarter model. Not a bigger context window. The wins came from unglamorous structure: give each agent one small bounded zone, write down what it is not, cap its active work at two things, log everything append-only, and define how work moves between agents before you need it to.
That is mostly software engineering wearing a kawaii costume. Scope boundaries, work-in-progress limits, append-only logs, and clean handoffs are the same things that keep any distributed system from turning into mush. It turns out they also keep a person's life from turning into mush, which is a use case I happen to care about more.
The naming is the part people remember, but it is load-bearing too. The system stays maintained because it is a crew of hamsters I am fond of, not a chore I resent. The day it stops being fun is the day I stop feeding it, and then it is just another abandoned productivity app.
So here is the question I would actually ask you: if you had an agent that genuinely remembered, that read its own notes before it spoke and wrote down what it learned after, what part of your life would you hand it first?