Refactoring

One screen doesn't need a rewrite

You don't need a front-end rewrite to make one screen feel like an app. A small render sidecar lets an existing back-end server render React components, hydrate only the islands that need to be interactive, and leave auth, the ORM, and your templates exactly where they are.

Your codebase is part of the prompt

Agents follow the patterns in the surrounding code more reliably than they follow your rules, so every inconsistent naming scheme and half-migrated architecture is a lesson you're teaching them. The fix isn't another rule file. It's deleting the bad example.

Three Codexes walk into a codebase: The return of the king

Two agents implemented and reviewed a full architecture refactor across five iterations, with zero lines of production code written by hand. What neither agent caught was four innocent lines in a coordinator that had quietly started making policy decisions.

Three Codexes walk into a codebase: The two agents

Codex got the same god class Claude had failed to remove, plus one thing Claude never had: a target architecture. An implementing agent and an independent reviewer then took three rounds to converge, because agents renovate around bad architecture rather than delete it.

Three Codexes walk into a codebase: The fellowship of the god class

Handing an AI your engineering conventions cleans up the code without fixing the architecture. A 5,000-line god class shrank to 500 lines across tidy domain files, and an independent reviewing agent still returned FAIL: authority never left the central object.

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.

Technical debt lost its excuse

Technical debt used to justify meetings, trade-offs, and dedicated sprints. AI has changed that. Cleanup is now fast, cheap, and continuous. Teams that stop debating and start fixing unlock faster delivery and better outcomes.

Onboard the AI like you'd onboard a developer

Legacy codebases are messy, undocumented, and full of decisions nobody remembers making. But if you can explain it to a new developer, you can onboard an AI and that changes everything.

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.

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.

Why I switched from BugBot to Claude for code reviews

I switched from Cursor's BugBot ($40/month) to Claude Code for code reviews. Setup is straightforward in VS Code, and Claude's bug detection has been notably better. While it still flags null reference checks like most AI reviewers, the difference in catching actual bugs is significant.

The stainless steel lesson: why boring technology outlasts shiny frameworks

Shiny frameworks promise magic, but like cheap non-stick pans, they scratch, peel, and end up in the bin. Boring technology, like stainless steel, isn’t sexy, but it lasts for decades if treated well. The lesson? Build for the long haul, not the quick thrill.

Legacy vs technical debt: how investors can spot hidden risks in software products

What can investors do about legacy code to prevent your startup from failure? What is the difference between legacy and technical debt?

What would it cost to rebuild this software from scratch?

Evaluating the cost of rebuilding software from scratch involves more than counting development hours; it requires recognising the invisible value of user feedback, lessons learned, and embedded experience.

AI writes bad code, but what if that’s the good news?

Should engineers fear messy AI code or embrace it as a tool for fast product validation? This story reveals why your cleanest code might not be your most valuable contribution. Why founders will use AI generated code more and more for MVPs and prototyping and why engineers should embrace this.

Subscribe