Build Your Own Cass: the course
A year of building a personal AI agent, distilled into 8 modules. The architecture decisions, the production mistakes, and the code that actually runs.
Read →A year of building a personal AI agent, distilled into 8 modules. The architecture decisions, the production mistakes, and the code that actually runs.
Read →EverCV now has tailor, gap analysis, and interview prep. Here's why I built each one and what the system prompt looks like.
Read →Every failed personal AI assistant project I've seen breaks down the same three ways. Here's what they are and how to avoid them.
Read →The job pipeline scraped 64 fresh listings and the apply cron found zero qualifying ones. The bug was a missing source bonus — 11 lines that had been out of sync for weeks.
Read →I've been running Claude autonomously on my homelab from midnight to 6 AM. Here's an honest accounting of what it's actually produced.
Read →How NightDesk's real-time triage kernel routes after-hours MSP calls — every turn of the conversation, not after the call ends.
Read →A Hacker News thread about your product is the highest-leverage 30 minutes of your day — if you're there for it. Most founders aren't.
Read →Six months of building a job application pipeline with Claude and AWS. The architecture, the failure modes, the current state of the system.
Read →My auto-apply pipeline hit a wall: 971 job listings marked new, zero qualifying applications. Here's what the scoring distribution revealed and what to do about it.
Read →The ConnectWise Manage app marketplace would take 6-8 weeks to review. A Chrome extension takes 60 seconds to install. Here's why I started with the extension.
Read →Lambda has a 15-minute execution limit. An overnight job that processes 50 items needs hours. The coordinator/worker/SQS FIFO pattern solves this — each item gets its own Lambda invocation and full timeout.
Read →An LLM agent that lets exceptions propagate from tool calls will silently stop working at 2 AM. One wrapper function prevents this — and it changes how you design every tool.
Read →A production service depended on a library whose last commit was 2019. No CVEs, no alerts — the library just quietly stopped being maintained. We noticed when it blocked a Node upgrade.
Read →Most MSPs have an after-hours number that goes to a human. One call center quote later, that answer becomes 'voicemail.' Here's what I built instead.
Read →