I build the distributed systems and storage behind managed Postgres at fleet scale

Infrastructure engineer: Go Kubernetes operators and distributed storage that run managed Postgres at fleet scale, and the production LLM and agent platforms that run on top.

Earlier career: five years at Symantec/SecurityFocus as Sr. Vulnerability Analyst, then automation tooling for the vulnerability research team, plus a remote-contract stint co-authoring the Internet Security Threat Report. Bugtraq moderation across that period. That lineage shapes how I think about trust boundaries, attack surfaces, and what "correct" actually has to mean under adversarial conditions.

Flagship work

ublkstor private, access on request

Replicated NVMe-TCP block storage that started as a TLA+ question: can a block-device algorithm satisfy POSIX compliance under every failure case, with the metadata service off the I/O hot path? The design that answers it keeps rich per-block invariants (checksums and generations) in-place and non-blocking, using replication and checksums-everywhere as the substrate, with six TLA+ models proving the metad/storaged/clientd protocol stays coherent.

  • Formal-methods-first: the invariants and failure model were specified and machine-checked in TLA+ before the implementation. Six models covering FLUSH, replication, resilver, snapshots, dispatch, and Raft DR
  • Per-block checksums and generations treated as a dependency, not a passive integrity flag: validated on every read, a mismatch fails over to a coherent replica and resilvers in the background. Maintained in-place, no copy-on-write, no I/O stall
  • One uniform primitive: a volume is just a replicated shard set, so snapshots, clones, archival, rebalancing, and merge-forward all fall out of it instead of being engineered separately
  • Zig io_uring zero-copy data path, Go Raft-replicated control plane, CSI driver. Copysets reframed as a per-volume stride constraint on shard assignment; per-volume tunable stride and replica counts; S3 disaster recovery
AI-augmented ZigGoio_uringNVMe-TCPublkCSIRaftTLA+SQLiteS3
sentinel private, access on request

A personal control plane built around household resilience and figuring out what production LLM integration actually requires, including the safety story. While most agent platforms gate the model with policy (allow-lists, argument parsing, sandboxes), sentinel binds capability structurally: a typed composition substrate where the agent composes freely but the verb catalog grows only through human-reviewed PRs. Capability bound by construction, never by trust at runtime.

  • NATS-based two-node HA via per-subsystem leader locks: no Raft, no quorum
  • Composition substrate: typed Flow pipelines (Unix-pipes lineage), addressable persistent runs, three-tier wrapper economics (Rust crate / compiled binary / sandboxed subprocess), capability bound by construction
  • Multi-provider agent (Claude/Ollama/OpenAI) with voice (wake-word, STT, TTS), unified MCP/plugin tool plane, persistent semantic memory; hosts unmodified Home Assistant integrations alongside the Rust core
AI-augmented RustGoSwiftC/ESP-IDFPythonSvelteRhaiNATSMCP
sc Timescale repo, described, not linkable

A multi-mode internal admin platform for Tiger Data's managed-Postgres fleet: CLI, node DaemonSet, MCP server, Slack bot, and gRPC control plane in one Go binary.

  • Five deployment shapes from one binary; mTLS and k8s authn/authz end-to-end across CLI, DaemonSet, MCP, Slack
  • Cross-cluster fleet manager (AWS and Azure) with concurrency primitives and rate limiting; 62 gRPC services / 603 RPC methods
  • Sole author from inception: 1,544 commits on main (83%), ~38× the second contributor, over 3 years
GogRPCprotobufKubernetesTemporalHatchetMCPmTLSAWSAzure
popper Timescale repo, described, not linkable

A Go Kubernetes operator that deploys and manages Patroni-managed Postgres replication topologies across AWS and Azure.

  • Custom CRD reconciles a full Patroni HA topology across 8 watched k8s resources
  • Property-based simulation testing (rapid) plus 17+ end-to-end tests on envtest or kind
  • #1 contributor: 367 commits on main, ~1.6× the second author, over 3 years
GoKubernetescontroller-runtimePatroniHelmAWSAzure
Fluid Storage Timescale repo, described, not linkable

A distributed block-storage layer for forkable, ephemeral, durable Postgres at cloud scale, co-founded with Samuel Gichohi, powering Tiger Cloud's free-tier and Ghost databases. The hard problem is tenant isolation and economics at tens of thousands of volumes per cluster, not the single-volume data path.

  • Co-founder (with Samuel Gichohi) of Tiger Data's storage substrate for Agentic Postgres: the production product behind free-tier and Ghost databases
  • Three-tier disaggregated architecture for tenant isolation at cloud economics: zero-copy forks, 110k+ IOPS / 1.4 GB/s per volume, tens of thousands of volumes per cluster
  • Authored the CSI driver: 510 of 585 commits (87%) on main, over 2 years
GoKubernetesCSINVMedistributed-storagecopy-on-write

More

codescan private, not yet linkable

A Postgres-native structural code-search and call-graph engine, exposed as an MCP server, that grew into a multi-version code-archaeology tool: it indexes whole codebases across versions and answers questions git diff can't, like how a symbol evolved, what changed in the call graph, or what an extension would break against.

  • tree-sitter parsing across 7 languages (Go, Rust, C/C++, TypeScript, Zig) into symbols in Postgres; hybrid retrieval via pgvector HNSW + BM25 (pg_textsearch) + Reciprocal Rank Fusion + ltree hierarchy; SCIP cross-repo call graphs (parsed or precomputed via --scip)
  • Multi-version indexing: every supported PostgreSQL major plus HEAD, refreshed daily by a generic external-refs indexer (adding a codebase is a registry entry, not framework code); one version per tree, stale-only re-scans gated by upstream revision
  • Cross-version tools git can't replicate: code_diff (added/removed/changed/moved plus caller/callee edge delta between versions), code_history (a symbol's timeline across every version), and a compatibility matrix for what a consumer references that changed or vanished, derived from resolved call graphs rather than text
  • Rust rmcp server (stdio + HTTP), running on k8s via ArgoCD with embed-failure retry then BM25 fallback then query cache. Started as a weekend build.
AI-augmented RustPostgrespgvectorpg_textsearchtree-sitterSCIPMCPltreeArgoCD
pi-controller GitHub ↗

A Go daemon that supervises long-lived LLM coding-agent children (pi, claude) under one normalized control/event vocabulary: the routing substrate that lets a frontier agent delegate work to cheaper, different, or local models, with the same observability across kinds.

  • ProtocolProvider abstraction: per-child stateful translators normalize native streams (claude stream-json, pi RPC) into one event vocabulary on the bus; raw frames preserved in the ring for full-fidelity inspection
  • End-to-end metadata round-trip: Kind and ConfigDir threaded through SpawnRequest, Snapshot, Session, resume, so claude children resume by session id alongside pi children with no client changes
  • Test-disciplined: golden transcripts, contract tests for vocabulary translation, integration tests through fake children; the kind=claude support landed in two days with ~11 new test files
AI-augmented GoTypeScriptRPCUnix-domain-socketsstream-json
picket — embedded & Zigbee GitHub ↗

Custom ESP32-P4 hardware pickets for the sentinel fleet, plus a public ESP32-H2 Zigbee firmware portfolio: vibration, water-leak, and temperature sensors with OTA updates.

  • Custom NATS-native ESP32-P4 pickets (private): env sensing, audio, presence; integrated end-to-end with sentinel
  • Public ESP32-H2 Zigbee firmware (C/ESP-IDF): vibration sensor (incl. battery-operated), water-leak sensor, DS18B20 temperature sensor, temperature+heater-control variant, all with OTA
  • lennox-s30 Rust crate for talking to Lennox HVAC thermostats
AI-augmented CESP-IDFESP32-P4ESP32-H2ZigbeeNATSRust
Zig systems libraries GitHub ↗

Open-source Zig building blocks underpinning ublkstor.

  • rbitz (Roaring bitmaps), dietz (DIET), promz (Prometheus client)
  • pretty-zig (table rendering), a documented io_uring bug reproduction
Zigio_uring

Background

2022–presentTimescale / TigerData: Postgres-at-scale cloud infrastructure (k8s operators, CSI, fleet tooling)
2019–2022Verge Agriculture: Lead Software Architect (Go, GIS, Kubernetes, PostgreSQL/PostGIS, Citus/CockroachDB)
2015–2019Whipcord: Lead Software Engineer & Sysadmin (Go, IaaS, Triton, IPv6/BGP)
2011–2015University of Lethbridge: Oracle DBA
2004–2010Symantec / SecurityFocus: Senior Vulnerability Analyst & Software Engineer
2000–2003Hyperchip: Sr. Unix Systems Administrator (custom VPN CA, OpenBSD IPSec, network-boot disk imaging)
1998–1999JRC Canada: Unix Systems Administrator (Solaris/SCO, C database apps for contract manufacturing)
1995–1998University of Lethbridge: Computer Science (three years, no degree)

Full resume (PDF) →