All posts
AI tooling
Herdr: how my MacBook Pro connects to Ubuntu terminals on a Windows PCHow I use Herdr to reach persistent Ubuntu terminals on a Windows PC from my MacBook Pro, so agent sessions survive a closed laptop.
AI tooling
9Router: one local endpoint in front of every AI coding account I have9Router puts 6 Antigravity, 2 Codex Pro, Claude Max and other accounts behind one localhost endpoint. Fallback, round robin and fusion combos hide rate limits.
4 min readai-agentsself-hostingAI tooling
My AI coding agent setup: a MacBook controls, a home Windows PC runsControl coding agents from a MacBook Pro while they run on a Windows PC at home: Herdr over Tailscale, Cloudflare Tunnel for browsers, 9Router for every model.
10 min readai-agentsself-hostingBackend and infrastructure
About a third of the Zendesk bill
Pathao Tickets: replacing Zendesk with a patched open source helpdeskPathao support ran on Zendesk. We patched an open source helpdesk for ticketing, live chat and automations at roughly a third of the Zendesk bill.
3 min readopen-sourceself-hostingBackend and infrastructure
Self-hosting CodiMD with company sign-in so engineers kept using itPathao engineers already liked a hosted markdown editor. I self-hosted the open-source CodiMD behind company sign-in, and the whole company moved to it.
2 min readcodimdself-hostingBackend and infrastructure
~$10K/month saved
PathaoTalk: how we moved a whole company off Workplace Chat in a monthWorkplace Chat had no markdown, snippets or integrations and cost thousands a month. Self-hosted Mattermost replaced it in about a month and saved around $10K a month.
3 min readmattermostself-hostingAI tooling
Build an n8n workflow that summarizes Hacker News with an LLMA 7-node n8n workflow that pulls the top Hacker News stories, sends them to an LLM and returns a short digest. Runs locally in Docker with no paid API.
4 min readn8nautomationBackend and infrastructure
Shopify apps that survive GraphQL cost limits and duplicate webhooksShopify gives a store 1,000 GraphQL cost points refilling at 50 a second. Read extensions.cost, verify HMAC on the raw body, dedupe webhooks by ID and queue in BullMQ.
AI tooling
Gemini image generation in Claude Code with a four-layer fallbackClaude Code gets images through four layers: the official Gemini API, a Chrome cookie daemon, a Playwright profile, then Pollinations.ai when the rest hit limits.
4 min readaiclaude-codeAI tooling
ytranscript: YouTube transcripts into Obsidian, n8n and ClaudeI lost a video in 400+ Watch Later items. ytranscript fetches transcripts with no API key, feeds my n8n to Obsidian flow and runs as an MCP server for Claude.