Brian
Kimball

SYSTEMS ENGINEER / DEVELOPERBUILDING FROM THE METAL UP

How I Turned Pi into a Small Team of Specialized Coding Agents

A custom Pi configuration that coordinates specialized subagents through a task extension, giving each child process its own prompt, model, tools, and fresh context window.

Building Compass: A Life Assistant That Still Works When the AI Does Not

I wanted a more customizable workout tracker, a budget my wife and I could share, and AI help on both. So I built Compass on TanStack Start and Cloudflare, and made sure it still works when the AI does not.

Welcome to the Atomic Drafting Room

Why I tore down the Renaissance Technical design and rebuilt the site in Raygun Gothic — atomic starbursts, chrome typography, and a turquoise-coral-gold palette that finally feels like me.

Bringing AI to IBM i: An MCP Server with 31 System Tools

A BYOK MCP server that exposes 31 facade tools for IBM i observability, job management, and security. Built to train new users and accelerate expert workflows.

Surveyor: A Field-Tested Network Discovery Tool for MSPs

From Raspberry Pi prototype to Wails desktop app: how Surveyor replaces manual nmap commands with stealth scanning and RFC 1918 auto-discovery.

Renaissance Technical: Designing with AI

How I used OpenCode and Gemini to build a "Renaissance Technical" design system that pits rigid grids against organic circles—and why AI is the brush, not the painter.

Designing Fully Redundant Infrastructure: Physical and Logical Layers Explained

How redundant compute, SAN mirroring, load balancers with CARP, and synchronous database clustering eliminate both hardware failures and maintenance windows.

A Production-Ready Knex Dialect for IBM i DB2

Streaming queries, emulated RETURNING, multi-row inserts, and a custom migration runner. This is the Knex dialect I wish existed when I started building on IBM i.

TanStack Hono: A Lightweight SSR Monolith Without the Meta-Framework Weight

Single-process SSR + CSR with type-safe RPC, Vite, React, and Hono. The goal is low operational complexity without giving up dynamic UI.