Writing

Notes on building agents, MCP servers and local-first systems, plus an about-me. Most are cross-posted from LinkedIn.

04 Oct 2026

About me — what I build and how I work

I'm a software engineer based in Cape Town with 4+ years in high-stakes production environments. I'm currently a platform engineer at Alliance Abroad, building agentic AI infrastructure and portal systems. Earlier, at…

19 May 2026

AI tooling is infrastructure, not search — write your conventions down

most people treat AI tooling like a fast search engine. the better framing: treat it like infrastructure. 130 hours across 13 days — deployments, outreach pipelines, server ops, browser automation. the model wasn't the…

14 May 2026

Personal websites are having a moment — own your platform

Personal websites are having a moment. Not nostalgia — something more deliberate. People are tired of building presence on platforms they don't control. LinkedIn throttles your reach. Algorithms decide who sees your…

10 May 2026

Hand-coding is the slow path — agentic orchestration workflow

The last time I wrote code by hand was over a year ago. Not because I can't. I still read code fluently and understand exactly what's happening under the hood.

06 May 2026

AI-native vs AI-adjacent — the architecture distinction

most "AI-powered" software is just software with an API call bolted on. that's not AI-native. that's AI-adjacent.

01 May 2026

Local RAG system on Ollama — interrogating classic literature with ChromaDB + Mistral

RAG sounds complicated until you build it once. retrieve documents. feed them to the model as context. let the model answer. that's the whole thing.

29 Apr 2026

AI-generated UGC — authenticity rant

"let's use AI to generate user-generated content" read that back to yourself. slowly. the USER is the GENERATOR. that is the whole concept. the entire reason UGC became a thing was because a real human chose,…

27 Apr 2026

RTX 3090 — returned it after testing local LLMs

Bought an RTX 3090, spent a few days pulling open-weight coding models and wiring them into local agent stacks. Ultimately returned the card.

26 Apr 2026

De-Googling my life — local-first philosophy

I spent months de-Googling my life. Switched to local storage, self-hosted tools, open-source everything. I'm back on some of those platforms now — but the philosophy stuck.

24 Apr 2026

Standard Bank Rootboy breach + Bitwarden supply chain + Claude Desktop manifests

This week broke my trust in digital infrastructure a little more than usual. Standard Bank: Rootboy spent 3 weeks undetected inside their systems. 1.2TB dumped. Your ID number, passport, credit card details — publicly…

23 Apr 2026

Autonomous job agent (envoy) — full pipeline build

Built an autonomous job agent that handles the entire job search pipeline — so I don't have to. It discovers listings across 20+ boards (SA-specific, global remote, freelance platforms), enriches company data, scores…

22 Apr 2026

Mullvad MCP server — open source build

Built an MCP (Model Context Protocol — a standard that lets AI assistants talk to external tools) server for Mullvad VPN (a privacy-focused VPN service).

22 Apr 2026

"Never scaffold. Always fully implement." — dev philosophy

One rule I've learned the hard way: never scaffold. Always fully implement. Every time you write a stub, a skeleton, or a "TODO: implement later" — you're not saving time. You're lying to yourself. The stub becomes the…

15 Apr 2026

reel-forge — fully autonomous short-form video agent

So I built a thing — a fully autonomous short-form video agent. Give it a topic and a brand identity. It researches it, writes a script, generates voiceover, creates the visuals, adds captions, and spits out a finished…