ten years ago i was underwriting policies and winning insurance hackathons. now i'm building production grade infra for weekend side quests and keeping semgrep online.

← BUILT THIS SITE TOO
A LITTLE ABOUT ME

I'm Joe, from Scotland, living in Vancouver.
Monorepo enthusiast. Caremad about developer experience.

4 nodes · 52 CPUs · 112 GB · one RTX 4090

HOMELAB

NODE-1
12 cpu · 16 gb · postgres primary
NODE-2
12 cpu · 16 gb · serves this page
NODE-3
12 cpu · 16 gb · storage replicas
NODE-4
16 cpu · 64 gb · rtx 4090 · microvms

AGENT PLATFORM

NODE-4

Tag @Bosun in a Discord thread and a goose agent wakes in its own microVM, runs a recipe, and replies with an artifact or a PR. Ambient chat, scheduled routines, and coding agents all dispatch through fc-invoke (~140ms to first model call). Its successor, EmberVM, already runs the semgrep scans and warm HTTP serving; fc-invoke is frozen and the goose agent is its last tenant.

INFERENCE

NODE-4

vLLM serving a 35B sparse-MoE (~3B active), int4-mixed weights with an fp8 KV-cache, ~170 tok/s single-stream decode. Chat, the agents, and the knowledge graph's RAG all share the 4090.

POSTGRES

NODE-1

One Postgres backs every app; pgvector indexes the embeddings for a fileless knowledge graph. notes is a public RAG over it. Declarative migrations applied by an operator, volumes replicated across nodes.

PLATFORM PLUMBING

ALL NODES

Five custom Bazel rulesets build every image dual-arch and pin digests into versioned OCI Helm charts; ArgoCD reconciles the cluster from the repo.