Blog
2026
- How to Self-Host Grammarly (Including the AI Rewrite Feature)A practical guide to replacing Grammarly with a fully self-hosted, free setup: a LanguageTool server for grammar and spelling, plus an open-source gRPC sidecar that adds Grammarly's AI rephrasing feature on top.
- The Case for Go When You Code With an AI AgentGo is the language I've fought least while building alongside an AI agent. The benchmarks mostly disagree with me. Here's the case anyway, with the numbers that cut against it left in.
- Why I Migrated My Biggest Project Off a Single-Page AppA Vue SPA felt fast for pcprice.watch. For 2 years it fired ads and analytics on one page per visit. Migrating to Astro cut the build from 26 min to 9 sec.
- How I Gave My AI Coding Assistant a Permanent MemoryI structured a PARA-style Obsidian vault so Claude Code never re-asks what my project does — CLAUDE.md rules, per-project index files, a compile-pass workflow, and agentmemory MCP hooks. 84% of devs use AI tools. Only 29% trust them.
- Why I Moved My Analytics Off Vercel and Onto a Free MySQL BoxVercel Analytics charges per event overage. Why I moved to self-hosted Umami on a free Oracle HeatWave instance — and three things that bit me along the way.
- How I Expose Self-Hosted Services Without Opening a Single PortCloudflare Tunnel and Access run my Grafana, Umami, and internal dashboards with zero inbound ports — and per-path bypass lets the public bits stay public.
- How I Run This Site on a $0 Kubernetes ClusterThe Terraform, k3s, and Traefik setup behind a 2-node Kubernetes cluster on Oracle Cloud's Always Free tier — 4 ARM cores, 24 GB RAM, $0/month.