Side Project — Personal AI Stack
The operating system behind everything else on this page
Claude Code, an Obsidian vault, and a live connection into my own browser, wired together into the system I run my work through. Every other project on this site was built, documented, and is maintained inside it.
What It Is
This is my daily operating system. Claude Code is the agent that does the work. An Obsidian vault is the memory it reads and writes to. A live connection into my own Chrome browser lets it act on the open web the same way I would. Two messaging channels sit on top of that, Telegram and iMessage, so I can reach it, or it can reach me, from my phone even when I'm not at a laptop.
Why I Built It
Every tool I'd tried before this held a piece of context and lost the rest of it. A chat thread knew what I'd told it in that conversation and nothing before. A saved prompt library was write-only. I'd add to it, but nothing read it back automatically. What I needed was a system that remembered decisions across sessions, months apart, without me re-explaining them every time, and that could act on what it understood instead of just answering questions about it.
What It Does
The vault is the memory layer: more than 3,700 notes covering client and personal work, standardized frontmatter on every note so status, dates, and relationships stay queryable, and a set of dashboards that surface what's live, what's stale, and what's waiting on me. 18 separate systems are documented there as their own notes, each one tracking what it is, how it's configured, and what broke the last time I touched it. When a session starts, that history is read before any new work begins, so a decision made months ago doesn't get re-litigated or contradicted by accident.
Two channel plugins turn Claude Code into something I can reach outside a terminal window. A Telegram bot and iMessage are both wired so a message from my phone lands as a live event inside a running session, gets acted on, and replies back on the same thread. A separate browser bridge connects Claude Code to my actual, logged-in Chrome, so it can open a dashboard, click through a screen with no API, read what's on the page, and act on it the same way I would, instead of stopping at whatever a static integration happens to support.
What It Taught Me
Two real alerts once passed every automated check and still never reached me. The build had finished successfully by every measure I was watching, except the one that mattered: whether the email arrived at all. That gap between a process finishing and a process working now gets checked everywhere in this stack. The stack keeps changing too, most weeks something in it moves. This page is proof of that: it was written and published using the exact system it describes.
Want something like this?
I'm open to full-time or in-house work where you need an ongoing plan or someone to lead marketing for the long term. I also offer specific marketing and sales services for teams that need help with the work itself: marketinginaction.xyz/services.