Blog

Thoughts on building things.

Every tool on my Mac works without the internet

Passwords, meeting recordings, analytics, PDF merging, process management, API keys. All local. All offline. No subscriptions.

The Architecture of a Personal AI That Actually Knows You

I built a Telegram bot backed by Claude that has access to my journals, notes, projects, and conversations. It remembers what I told it last week. Here's how the whole thing works.

Phantom: Web Automation Without a Browser

I built a CLI that extracts auth from Chrome and replays HTTP requests instead of driving a browser. Here's how it works.

How I moved my Next.js app off Vercel and cut my hosting bill in half

$80/mo on Vercel + Supabase Cloud down to $30/mo on two Hetzner boxes. Zero-downtime deploys, self-hosted Supabase, and the OOM kills along the way.

Cloudflare's EmDash: Plugin Sandboxing, Agent Payments, and the Vercel Playbook

Breaking down Cloudflare's new CMS — what's genuinely novel, what's vendor lock-in, and the business play nobody's saying out loud.

I Read Claude Code's Leaked Source. Here's What's Inside.

380K lines of TypeScript leaked via source maps. Undercover mode, autonomous agents, and a Tamagotchi.

Async AI Coding with LumifyDev

How I dispatch Claude Code sessions to a VM from a kanban board and review the work later.

Maintaining Skills During the AI Advent

Keeping your engineering skills sharp

Debugging a User Issue with PostHog and Claude Code

How I built analytics scripts with Claude Code to find a bug I couldn't reproduce locally.

Claude Code From Your Phone

The network topology and tooling I use to run Claude Code over SSH from my phone.