Writing

6 articles in /engineering

Oct 2026 · 5 min read · engineering, AI

You Still Own the Mental Model

Most conversations about AI at work are about delegation: what to hand off and what to keep. But the real risk isn't bad code, it's slowly losing the mental model of your own system. By planning in detail, following the implementation and stepping in when needed, AI becomes a collaborator that stress-tests your thinking instead of replacing it.

Sept 2026 · 6 min read · engineering, design

The Decay of UX Laws in Real Code

We agree on the psychology: Miller's 7±2, Hick's choice penalty, Gestalt proximity. Yet production apps rot into cognitive sludge. The friction isn't ignorance; it's that static psychological laws meet an append-only time series of feature requests.

Jul 2026 · 4 min read · engineering, AI

Using AI as a Red Team for Property-Based Testing

Most developers use AI coding assistants as high-speed autocomplete to generate repetitive unit tests. But unit testing only validates what you already expected. By shifting AI into an adversarial 'red team' partner, we can generate property-based tests that uncover hidden edge cases, invalid state transitions, and boundary conditions before they reach production.

May 2026 · 4 min read · engineering, architecture

Structure Over Syntax

Software architecture is the clinical process of choosing which specific set of problems to manage rather than searching for a perfect solution. This approach prioritizes clear boundaries and system legibility to ensure that the internal structure remains a maintainable asset instead of a technical liability.

Apr 2026 · 3 min read · engineering

The Logic of Sensory Limits

Shifting the accessibility narrative from a compliance chore to a high-level engineering constraint, exploring how color blindness and screen reader logic force better information architecture.

Mar 2026 · 7 min read · engineering, design

Between Design and Engineering

We’ve inherited the "handover" from the world of physical manufacturing. In that world, a blueprint is finalised, signed off, and sent to a factory floor where the variables are controlled and the outcome is static. But software is not a toaster; it is a living system of state, fluctuating data, and unpredictable human behavior.