About me
Role and focus
I am a CTO-level technical leader focused on reducing organisational and technical risk through earlier, clearer decisions.
I work at the intersection of architecture, product ambition and organisational structure. Most systemic failure is not caused by poor code. It is caused by unclear authority, delayed decisions and trade-offs that no one is explicitly accountable for. My role is to design those decision surfaces before they fracture delivery.
How organisations fail
Across defence, telecoms, fintech and startup environments I have operated in systems where constraints are real and ambiguity is unavoidable. The consistent pattern is structural. When authority aligns with accountability delivery stabilises. When it does not coordination cost compounds.
Over time my centre of gravity shifted from implementation to direction, governance and operating model design, while remaining close enough to engineering reality to keep judgement honest.
Systems thinking
My background in physics shaped how I think about complex systems. Uncertainty is not a flaw. It is a property to be modelled, bounded and made explicit. That mindset informs how I approach software organisations. Not as collections of individuals but as systems of incentives, constraints and decision flows.
Failure tends to occur at boundaries rather than within components. The same is true of teams.
Practical grounding
I have led teams on mission-critical programmes, acted as sole technical owner in startup contexts and modernised legacy systems under commercial and regulatory pressure.
I continue to build real systems under real constraints. Working across hardware, firmware and software keeps judgement anchored in implementation reality.
Why this site exists
This site, CrankTheCode, is where I think in public about authority, decision design and structural clarity. It is not a collection of opinions. It is an exploration of how technical organisations scale without losing coherence.
I do not just build software. I design the conditions under which it can be built well.
Decision design and governance
Architectural direction across domains.
Trade-off modelling between product ambition and technical constraint.
Escalation surface design and authority definition.
Performance, latency and scalability modelling.
Technical governance in regulated and high-risk environments.
Technical depth
Python, C++, JavaScript and TypeScript.
Distributed systems, APIs and cloud-native platforms.
Automation-first delivery, infrastructure as code, AWS and Linux.
Legacy modernisation under real operational constraints.
Systems foundations
Long-term exposure to lower-level systems, networking, databases and performance-sensitive environments.
Experience across startup and multinational contexts where delivery, risk and commercial reality intersect.
Things I build with
| Category | Tools |
|---|---|
| Backend | Python, FastAPI, Django, Flask |
| Frontend | React, TypeScript, HTML/CSS |
| Tools | Docker, Ansible, Terraform, Git |
| Operating systems | Linux, macOS, Windows |
| Hardware | Klipper, MicroPython, Voron / other 3D printers |
Topics
Decision Architecture is organised into stable topic hubs.