Playbooks

The way I actually
build things.

Long-form, opinionated walkthroughs of the systems I run for myself and for clients. No hand-waving. Real commands, real config, real warnings about what tends to go wrong.

AI engineeringNew

Building a multi-engine LLM gateway with failover

How Sarmalink-AI routes a single OpenAI-shaped request across 14 backends, fails over in under 50ms, and never returns a 500. Health checks, intent routing, cost guards.

28 min read
AI engineeringNew

Voice agent stack with sub-second round trip

Mediasoup, Whisper, Groq, OpenTTS. The architecture I use for natural voice agents that respond in under a second on a £6 VPS.

25 min read
AI engineeringNew

Production MCP server, from skeleton to deployed

A real Model Context Protocol server: FastAPI, tools, resources, auth, deployment, observability. Built on the mcp-server-toolkit pattern.

24 min read
AI engineeringNew

Running Ollama on a Tesla P40, the actual setup

Bringing an old datacentre GPU back to life for local LLM inference. Cooling, driver gotchas, model picks (Gemma 3 12B, Llama 3.3, Qwen 2.5 Coder), real tokens-per-second.

26 min read
Self-hostingNew

Deploying a Next.js app to a £6 VPS without Vercel

When the Vercel bill starts to bite, here is the exact recipe to move a production Next.js 16 app to a self-hosted VPS without losing any features.

24 min read
Stack setupNew

Cloudflare R2 as S3-compatible storage for a Next.js app

Replace S3 in your stack with R2: zero egress fees, S3-compatible API, signed uploads from the browser. The pattern I use for invoices, blog images, contracts.

20 min read
Stack setupNew

Stripe billing in a Next.js app, in 200 lines

Pricing tiers, customer portal, webhooks, recurring usage. The smallest amount of code that gets you a real, live, SCA-compliant billing flow.

22 min read
Stack setupNew

Magic link auth with Supabase, no foot guns

The exact magic-link flow I use on the admin and client portals: server actions, cookie session, callback handling, RLS hardening. With the four mistakes I made first.

22 min read
DatabasesNew

Postgres backups that actually restore

Daily pg_dump, point in time recovery, off site to R2, monthly restore drills. Most teams have backups. Far fewer have backups that work.

20 min read
Stack setupNew

A pragmatic Terraform stack for solo founders

What to put in Terraform, what to leave in the dashboard, and how to keep the diff small. The exact stack I use for Vercel, Supabase, Cloudflare, DigitalOcean.

22 min read
Self-hosting

Turn an old PC into a NAS with ZimaOS

Replace Google Drive, iCloud, Plex, and a password manager with one box you already own. Hardware, install, Immich, Jellyfin, Tailscale, local Ollama AI, free vs paid.

35 min read
Self-hosting

Deploying n8n on a VPS

A production-ready n8n install on a £6/mo VPS, Docker, Caddy, Postgres, backups, the lot. The setup I run for myself.

20 min read
Stack setup

Setting up Supabase with Vercel

Wiring Supabase to a Next.js app on Vercel without the auth foot-guns. RLS, server actions, type-safe queries.

18 min read
Automation

Migrating from Zapier to n8n

Cutting a £400/mo Zapier bill to £6 without breaking the business. A real migration plan with patterns and pitfalls.

22 min read
AI engineering

Building a Claude-powered receipt scanner

A working OCR receipt to JSON pipeline using Claude vision, with the prompt and post-processing.

25 min read
Databases

Zero-downtime database migrations

The pattern I use to ship schema changes in production without a maintenance window. Add, deploy, backfill, switch, drop.

24 min read
Self-hosting

Replacing SaaS with self-hosted tools

The five SaaS subscriptions I cancelled last year, and what they were replaced with. Real numbers, real trade offs.

20 min read