Writing
Field notes from building self-hosted AI and data systems that run on live data every day — the engineering decisions, the things that broke, and how I keep them honest.
How I built a statewide multifamily scoring engine from MassGIS parcel dataOutline
Turning a raw statewide parcel layer into a 0–100 deal score for every multifamily building in Massachusetts — the joins, the rent benchmarks, the ownership graph, and the data-quality traps that silently corrupt a spatial pipeline.
Read the outline →Running production cron jobs on a self-hosted trading scanner: what breaks and how I monitor itOutline
Dozens of scheduled jobs feeding one pipeline on hardware I own. The failure modes nobody warns you about — silent data gaps, partial loads, timezone drift — and the cheap monitoring that catches them before they corrupt a signal.
Read the outline →Self-hosting AI agent infrastructure with Tailscale + Cloudflare TunnelOutline
How to run AI agents and private dashboards across your own machines — reachable from anywhere, exposed to no one — using a Tailscale mesh for internal traffic and Cloudflare Tunnel for the few surfaces that go public.
Read the outline →