The blog · build in public

Notes from things I'm actually building

Real projects, honest results, and the engineering decisions in between — written as I go.

Series — read in order
All articles
How to set up Hermes Agent with your Claude subscription
August 2026 · Building in Public

How to set up Hermes Agent with your Claude subscription

Hermes can run on the Claude subscription you already pay for — no API key, no separate billing. Here's the exact setup, how the OAuth discovery works, and the one fingerprint gotcha that silently bills you to extra usage instead.

What it actually costs to self-host a coding model
July 2026 · LLM

What it actually costs to self-host a coding model

I wanted to run my own coding model to save on a subscription. Priced across Qwen3.5, GLM 4.7 and DeepSeek, the honest answer surprised me: at modest usage self-hosting isn't cheaper than an API — it's the unlimited, private option. Where the crossover is, and the tok/s catch the spec sheet hid.

Backing up everything that matters, for pennies a month
July 2026 · Building in Public

Backing up everything that matters, for pennies a month

Everything I'd hate to lose is text — a notes vault and a folder of code. So the backup I needed was small, cheap and boring: encrypted, versioned, daily, offsite, for ~2p a month with restic and Google Cloud Storage. And the three things that make a backup real that the tool won't do for you.

Three ways to OCR a document, and what each one costs
July 2026 · MLOps

Three ways to OCR a document, and what each one costs

I set out to self-host a shiny OCR vision-model and fell down a cold-start rabbit hole. The fix was a question I'd skipped: do I need document understanding, or just text and coordinates? Self-hosted VLM vs a 6MB CPU pipeline vs a hosted API — and what each actually costs.

How RAPTOR actually works — and the three ways my code quietly wasn't it
July 2026 · RAG & Agents

How RAPTOR actually works — and the three ways my code quietly wasn't it

RAPTOR builds a tree of LLM summaries over your documents so retrieval can pull the right altitude of answer. The idea is elegant; implementing it faithfully is where the bodies are buried — the paper names two of the fixes itself, and a third was a reasoning model silently eating its own token budget.

The hard part of a personal AI agent isn't the agent — it's the memory
July 2026 · RAG & Agents

The hard part of a personal AI agent isn't the agent — it's the memory

I wanted a daily chat companion that remembers me across sessions. Building the conversation is easy; the memory is the whole problem. A four-tier design modelled like an Obsidian vault — and the honest twist: three tools each suggested I was hand-building a worse version of something that exists.

Where does dbt fit in three clouds?
July 2026 · Data Engineering

Where does dbt fit in three clouds?

I kept re-drawing the same GCP-vs-AWS-vs-Databricks table. Here's the version that stuck, built on one idea: dbt doesn't live in the stack, it runs inside your warehouse — so choosing a stack is really choosing the warehouse. Plus where native tools (Dataform, DLT) beat it.

ADK vs LangGraph: one AI support system, two frameworks
June 2026 · Agent Frameworks

ADK vs LangGraph: one AI support system, two frameworks

I built the same customer-support agent twice — on Google ADK and on LangGraph. Same model and data; only the orchestration changed. What differs, and how to choose.

What does a factory's electricity actually cost?
June 2026 · Data Analysis

What does a factory's electricity actually cost?

A data project: estimate a GB factory's day-ahead wholesale electricity exposure (~10.8 p/kWh), then prove it against what actually traded — within 0.5%. On scoping, honest uncertainty, and validation.

A leakage-free fraud feature store, built with dbt
June 2026 · Data Engineering

A leakage-free fraud feature store, built with dbt

Turning raw card-payment tables into a feature store for fraud models on dbt and BigQuery — with one rule that matters: a feature can only ever see data from before the transaction it describes.

LLM Fine-tuning Guide 2024
December 2024 · LLM

LLM Fine-tuning Guide 2024

Learn how to fine-tune large language models for your specific business needs.

MLOps Best Practices
December 2024 · MLOps

MLOps Best Practices

Essential MLOps patterns for deploying and maintaining ML systems in production.