I make complicated software behave.
Architecture, modernisation, platform engineering, and practical AI from someone who has been building web systems since browsers were a questionable life choice.

Thirty years of shipping software taught me that most technical problems are partly people problems, most architecture diagrams omit the awkward bits, and a fashionable answer is not necessarily a useful one.
What I help untangle.
Clear thinking for systems that have accumulated history, risk, dependencies, and rather too many “temporary” decisions.
Software architecture
Make the important decisions visible, testable, and grounded in the system you actually have.
ExploreLegacy modernisation
Change ageing software without pretending the business can pause while everything is rewritten.
ExplorePlatform engineering
Build APIs, integrations, cloud foundations, and delivery paths that teams can operate confidently.
ExplorePractical AI
Use capable models where they help, keep humans accountable, and retain leverage over data and infrastructure.
ExploreA practical operating principle
Architecture should make delivery easier. It should never become a ceremonial substitute for it.
How I workYears across changing stacks. One persistent habit: keep asking what is actually true.
From Perl and Classic ASP through .NET, PHP, ColdFusion, TypeScript, cloud platforms, and local AI, the tools changed constantly. The need for sound judgment did not.
Meet LucasGot a difficult system decision?
A few honest paragraphs about the problem are enough to begin.