DEV Community

Todd Sullivan
Todd Sullivan

Posted on

I Built a Persistent AI Assistant That Runs on My Mac

I got tired of AI assistants that forget everything the moment a session ends. So I built one that doesn't.

It runs 24/7 on my Mac, has access to my files, GitHub, iMessage, email, and calendar. It knows who I am, what I'm working on, and what I said to it last week.

The core problem with stateless AI

Every time you open a new Claude or ChatGPT session, you start from zero. You re-explain your context. You re-establish what you're working on. You paste in the same background info.

This is fine for one-off tasks. It's terrible for an ongoing working relationship.

The memory architecture

Instead of in-context memory, I use files:

  • MEMORY.md — long-term curated knowledge. What matters, distilled.
  • memory/YYYY-MM-DD.md — daily logs. What happened, decisions made, things to remember.
  • USER.md — who I am, my stack, my communication style.
  • TOOLS.md — local setup specifics.

Every session, the agent reads the relevant files before doing anything. This is the continuity layer.

MCP for real-world access

Model Context Protocol (MCP) is what lets the agent actually do things — not just talk about them.

I use it for:

  • Apple Mail, Calendar, Messages via a local MCP server
  • GitHub via gh CLI
  • File system access
  • Browser automation (Puppeteer via Chrome DevTools Protocol)

The result

It's not a chatbot. It's closer to a part-time assistant who's always available and never forgets anything. The most useful thing isn't any single capability — it's that context persists.

I can say "remember the JWT issue from last week" and it actually knows what I mean.


The hardest part isn't the AI. It's designing the memory and context system that makes it feel coherent over time.

Top comments (0)