Tutorials

Building a customer support AI agent that learns before it speaks

A customer support AI agent built in stages: shadow mode first, internal notes second, auto-send only after the data earns it. A walkthrough of the architecture, the knowledge base design, and the lessons that held up.

Parallelise yourself with Git worktrees

The claude -w flag spins up an isolated git worktree in seconds, so you can keep coding while a long-running task occupies your main session. No conflicts, no context pollution, no waiting.

How we rewrote our tech stack in under a day

Last week, we deleted 16,000 lines of code, rewrote 11,500, migrated frameworks, ripped out React, and swapped our entire CSS setup with AI. It took less than 6 hours.

Conductor: running multiple AI coding agents in parallel

Conductor by Melty Labs makes parallel agent workflows practical by running multiple agents with separate tasks simultaneously. The trade-offs are real but manageable, and this is where development is heading.

Bootstrapping a birding database using GenAI (Part 2)

Part 2 of the article about Mossie, when it was faced with scaling to include every bird in the world, complete with photos, sounds, and icons.

Bootstrapping a birding database using GenAI (Part 1)

A small birding app with 300 manually entered species faced an ambitious challenge: scale to include every bird in the world, complete with photos, sounds, and icons. This article explores how the team used GenAI to bootstrap a comprehensive birding database from scratch.

A guide to vibe coding vs AI-assisted development

Vibe coding or AI-assisted development? The choice isn't binary, but getting it wrong at the wrong stage will cost you. This piece breaks down when to embrace speed over architecture, when to take back control, and why the best teams don't pick sides.

How to introduce AI coding agents into your engineering team

AI coding agents draft code, write tests, and open pull requests autonomously. This guide covers the tool landscape, readiness signals, a phased rollout plan, and the team dynamics that make or break adoption.

AI code review tools: what works, what doesn't, and how to set it up

AI code review catches what humans miss and misses what humans catch. This guide compares the tools, shows what each catches, and walks through setup without replacing human judgment.

Getting started with performance testing

Performance bugs erode trust quietly until users explode. Three pragmatic steps help you catch slowdowns early: explore real bottlenecks with Sentry, test with production-sized data, and add lightweight API load tests.

How to pragmatically leverage AI as a startup

If you believe what you see on LinkedIn, startups don't need employees anymore, real founders just have agents building their companies. You write a prompt, fire off the agent, and wait for customers. In reality, you get a vague workflow that produces a mediocre demo at best.

Cloudy with a chance of function calls

In the first of a series exploring infrastructure fundamentals, Brenden addresses the most frequently asked questions about what's really happening under the hood with complex pipelines and AI/data systems, bringing the cloud to life.

Analyse your tables for better performance

I recently encountered a issue with MySQL query performance. A particular query would perform very badly in production, but perform very well in the testing environments.

Learning from OSS: configuring your Link component via a Provider (Braid)

Learn how SEEK’s Braid Design System uses a linkComponent provider to flexibly support routing across React apps. A great pattern for design systems, and one madewithlove engineers keep coming back to when building scalable front-end libraries.

A Rubber Duck’s Guide to Better Engineering

Professor Quacks reminds us that curiosity, accountability, and good teamwork are the bedrock of great engineering.

Subscribe