Personal AI system · built and run by me
Proxy
Proxy is my AI chief of staff. It reads what comes in from Slack, email and my calendar, drafts the replies and tasks, and hands bigger jobs to coding agents. Nothing leaves without my approval. I designed it, wrote most of it with AI coding agents, and use it every day.
How it works
Intake, draft, approve, ship
Every 15 minutes, a dispatcher goes through what's new and decides what to do with each item. Routine work becomes a draft or a task. Bigger work becomes a brief for a coding agent. Anything that would act in my name waits for me.
- 1 · INTAKE
Read what came in
Slack messages, email, calendar events, voice notes and meeting transcripts.
- 2 · DRAFT
Do the first pass
Draft replies, create and file tasks, write briefs and suggest meeting times.
- 3 · APPROVE
I decide
Sends, invites, new tools and agent runs all wait for my sign-off. The protected ones need a fingerprint.
- 4 · SHIP + REPORT
Act and close the loop
It sends exactly once, runs the agent and reports what changed in "Back to me".
How it's built
Three machines, one system
Proxy runs across my home setup. The laptop is where I talk to it, the Mac mini holds the app and the connections, and a home server runs the agents so heavy jobs never slow my laptop down.
Laptop CachyOS Linux · niri
- Proxy opens as a desktop app with Super+P
- Top-bar widget for voice, meetings, dictation and the approval count
- Hold a key to dictate: local Whisper transcribes, an AI pass cleans the text, then it types it
- Fingerprint reader signs protected approvals
+ SSH tunnel
Mac mini the hub
- Dashboard and API (Python, FastAPI) with its own MCP server
- n8n workflows for Slack and Gmail intake and sending
- A small Swift bridge to Calendar.app for events and invites
- Voice companion: wake word, Whisper and spoken replies
+ host API
Home server Docker · Herdr
- Claude Code, Codex and Pi agents, one terminal workspace per project
- Dispatcher runs every 15 minutes and asks before handing work off
- Agents use Proxy's tools through MCP and report back when done
Proactive
It brings work to me
Proxy doesn't wait for a prompt. It notices a Slack question, drafts the answer and puts it in my queue. When something needs a developer, it writes the brief and asks: "Can Claude do this?" I get the ask as a dashboard card, a top-bar badge, a desktop notification and a Slack DM.
Organized
One place for every project
Work is filed as Workspace → Project → Task, so marketing, side projects and the homelab stay separate. Every task in progress links back to the agent chat that's working on it, so I can pick it up from either side.
Voice
Talk instead of type
"Hey Proxy" starts a conversation hands-free, and it can listen to a whole meeting and file the notes. The live transcript appears under my clock as I speak.
Safe by design
Agents can't approve themselves
Prompt injection is real, so sending email or Slack, adding tools and delegating work all need a signed approval. On my laptop that signature comes from the fingerprint reader. Every send goes out exactly once.
Why it matters for marketing
The same pattern runs a demand engine
Proxy is a working model of an AI-first marketing team. Agents do the first draft and the busywork, people set direction and approve, and every step is measured and logged. I already use that loop for marketing work:
- Agents build segments, automations and email sequences directly in Customer.io and Linear through MCP connections.
- Campaign copy, briefs and QA checks are drafted by AI and approved by a person before anything goes live.
- Repeatable checks, like link audits across a nurture sequence, become scripts instead of afternoons.
Stack