Aeva
A personal AI agent with a git-backed memory. Daily briefings, one task queue, and context that any Claude session can read. Built for one user: me.
The Problem
I run several projects at once and I am a rapid prototyper by temperament, working in intense bursts and then moving on. The cost is continuity. Work discussed in one session evaporates before the next. Tasks live in six places, which means they live nowhere. Every AI session starts from zero and I re-explain myself.
I wanted an assistant that remembers. Not a chat window but a system with a memory I own, read every morning, that tells me what actually matters today.
What It Does
Aeva is a personal agent I talk to on Telegram. Mention work in passing and it becomes a task in a single queue. Ask "what's next" and you get an answer drawn from actual project state. At 07:30 a briefing arrives with open tasks, GitHub activity across active repos and one suggested focus. At 18:00, a review: what moved, what's blocked, tomorrow's single priority. There's one web page, /today, and it isn't clickable.
The memory is a private git repo of markdown. Every write commits. I can read it, diff it, take it elsewhere.
The hard part
An assistant that remembers has to hold one truthful account of my work across a phone, a desktop and several AI tools that each think they are in charge. The obvious approach is to wire the parts together loosely and let each one write whenever it wants. I built that version first, and it failed in the worst way available: quietly. Glue broke without telling me, two things wrote at once, and I spent more time maintaining the assistant than being helped by it.
So the rebuild started from the post-mortem rather than the feature list. One writer at a time. Every failure loud enough to interrupt me, because a silent one costs hours before I notice. And a hard ceiling on how much machinery the core is allowed to contain, since the last version died of its own size. It is one TypeScript service running on Claude, and it is meant to stay small.
Where It Stands
The first version grew faster than I could hold it, and went quiet rather than breaking outright. When I returned it was to start from the post-mortem, not from what the old build had left behind.
Aeva is in development and not yet in service. The memory layer is built and running in real sessions, so context carries between them instead of being re-explained. The core is scaffolded and waiting. Version one has a bar I set deliberately: fourteen consecutive days where the morning briefing arrives on time and nothing fails silently. It has not cleared that yet, and I would rather it stayed unreleased until it does.
Next project
BPMN Style Guide