Agent Harness Explained: The Runtime That Makes AI Agents Actually Work

Every agent architecture article talks about LLMs, tools, and skills. Nobody talks about the thing that actually makes them work: the harness. It’s the runtime that takes your prompt, decides what tools to call, manages context, handles errors, and returns a result. Without it, you have components. With it, you have an agent. This is […]

Agent Skills Explained: How AI Agents Learn to Do Real Work

Most AI agents today are still just chatbots with a tool call bolted on. They can chat, but they can’t reliably do specialised work. The ones that ship real value — document editing, brand compliance, data analysis, deployment — have something the others don’t: Skills. Agent Skills are an open standard from Anthropic for packaging […]

MCP Explained: The Open Standard That Makes AI Agents Actually Useful

AI models are powerful, but they’re stuck in a box. They can reason about text, generate code, analyse data — but they can’t click buttons, query databases, or publish content without help. Every team solving this problem was building the same integration over and over: custom glue code, per-model adapters, brittle workflows. Model Context Protocol […]

Self-Hosted CI/CD on a Home Rack: GitHub, Gitea, Woodpecker, and Portainer

Self-hosted CI/CD pipeline overview showing GitHub, Gitea, Woodpecker, Docker, and Portainer flowing from left to right

Depending on your team size and build volume, you could be spending anywhere from a few hundred to several thousand rand per month on cloud CI/CD services — from our experience working with South African SaaS teams. Your code lives on GitHub, but your infrastructure sits in a rack at home. Here’s how we built […]

From Rebuilding Authentication in Every App to a Shared Identity Layer

Stop rebuilding authentication in every app. Learn how to build a shared identity layer that handles OAuth, federation, and user management once — so every application in your ecosystem can inherit it. Covers email normalization, token boundaries, and the critical difference between authentication and authorization.