My bot makes phone calls now, and not just for me. My other bots can ask it to call someone, and it hands the transcript back to them. I read the plan first and say go. x.ai/bot/R2Ju5BA...
Zack Proser
Zack Proser
@zackproser.bsky.social
https://zackproser.com Applied AI @ WorkOS #buildinginpublic AuDHD 👨💻 full-stack open-source hacker ✍️ technical writer 🎨 visual artist Previously: Pinecone, Gruntwork.io, Cloudflare, Proofpoint, BrightContext
559 followers3.3K following422 posts
My blog bot runs verify-blog-post.sh before it may open a PR: images return 200, links resolve, no LLM tells. An exit code decides whether I spend any attention. Every check I can write is a check I don't run with my eyes.
Start by sorting every agent action into three buckets: runs unattended, waits in a queue, never allowed. Do that before writing another prompt. Full essay: zackproser.com/blog/attent...
I redesigned mine around the second: zackproser.com/blog/hero-g...
The writing is the interface. zackproser.com/blog/hero-g...
Here's the part that makes it stronger than one agent: Claude Code is the side channel into Hermes whenever Hermes misbehaves. One agent can SSH in and repair the other. A single mega-agent can't do that to itself. The split-brain architecture, in full: zackproser.com/blog/two-ag...
The full comeback story: zackproser.com/blog/devin-...
The interface matters most: zackproser.com/blog/the-in...
Don’t sleep on this. Arjun is a brilliant engineer.
psst! newsletter post coming out tomorrow, sign up here so it comes to your inbox! My newsletter is called Answering Machines, and I try to take a grounded approach to how LLMs work and how they will shape what we do: Sign up here: #ai #llms #reading buttondown.com/answeringma...
The rest is reps, slides that don't lean on you, putting your talks online, and — yes — being honest about medication and mindset. I wrote down the whole pile of crumbs that got me here, for everyone who still freezes up: zackproser.com/blog/everyt...
I enforce it in code, not willpower. Here's how: zackproser.com/blog/the-au...
An idea hits while I'm walking around away from my laptop. I drop a line in Slack and the blog bot starts a draft. Full review: zackproser.com/blog/review...
I'm still the spark, the bellows, and the quench: zackproser.com/blog/spark-...
I built my own blog bot this way. It doesn't message me a summary — it opens a PR I can reject with one click, request quick follow ups on, or merge. Stop building chatbots. Build agents that open PRs: zackproser.com/blog/build-...
A sentence I'm proud of that doesn't earn its place is the hardest thing to cut — because I wrote it. The full implementation, the gate, and a real catch: zackproser.com/blog/how-my...
Got a pitch that opened with Hi {{first_name}}, — the template variable literally unrendered. So I built a thing that doesn't bother either, a brutal AI screener. Three examples in post. "We don't template people we really care about, right?" zackproser.com/blog/inbox-classifier-going-guerilla
Just finished setting up the newsletter I've been meaning to build for three years. Get my best essays weekly, then new writing as it lands. Applied AI, dev tools, no hype. Free. zackproser.com/subscribe
Two AI agents, one phone. Claude Code handles infrastructure while Hermes runs content — fully separate, fully controllable from anywhere. Separation of concerns isn't just good software design. Turns out it's the right way to architect your agents… https://zackproser.com/blog/two-agents-one-phone
Claude Code on my Mac couldn't see what Hermes was doing on EC2. So I built a signed webhook bridge over Tailscale — SSM RunCommand triggers it, HMAC validates it, and now the two agents actually talk to each other. https://zackproser.com/blog/webhook-bridge-pattern