If the mandate is real, email me.
Systems That Do Not Require Heroes Why healthy engineering organisations allow ordinary engineers to do excellent work
Governance determines whether engineering systems depend on heroes or enable ordinary engineers to succeed.

Engineering organisations often evaluate themselves through the lens of their strongest engineers.


NarrateX NarrateX Local AI narration for ebooks and documents
A local desktop application that converts books and documents into spoken audio using modern TTS engines.
NarrateX

NarrateX A local desktop narration engine for turning books and documents into spoken audio.


Structural Design for Technical Organisations
A working articulation of the structural principles I use when operating in technical leadership roles.

The Crank The Code Structural Operating Model


What Actually Causes an Unstable Product Roadmap
Roadmap instability is rarely about estimation. It is about authority.

What Actually Causes an Unstable Product Roadmap


Resilient Democracy
A structural alternative to two-party democracy designed to preserve legitimacy while improving competence.

Democracy needs structural reinforcement


Wiring Up Windsurf - Rules, Hooks and a Harness That Thinks
How I turned an AI editor into a disciplined engineering partner

The problem with AI editors out of the box


Crystalline
A forensic lens applied to decision architecture

Architecture


Trainer Upgrades - Engineering the Second Iteration
Revisiting the Trainer app through a different lens

Trainer 5.0.3 - Architecture Locked In


When the interface becomes the bottleneck
The simulator was not the constraint. The surface was.

Authoring ergonomics is the real constraint


Reducing option space as a leadership discipline
The CTOโ€™s job is to reduce option space so effort compounds rather than fragments.

Decision compression as a leadership discipline


The cost of directional instability
Frequent direction changes erase structural compounding even when output appears strong.

Direction changes destroy compounding


Why acceleration outlasts speed
Acceleration, not raw speed, determines whether organisations truly scale.

Speed is visible. Acceleration is structural.


When authority makes merit visible
Meritocracy is produced by explicit decision boundaries not cultural encouragement.

Meritocracy is not a cultural value


Structure is what allows speed to persist
Early authority design increases startup velocity rather than slowing it.

Speed collapses without structure


The structural cost of delegation without authority
Delegating responsibility without decision rights is structural harm not empowerment.

Delegation without authority is organisational harm


Designing authority as a primary CTO function
The CTOโ€™s primary work is designing authority not generating ideas.

Authority design is the CTOโ€™s primary work


Designing junior pipelines in an age of AI
If junior pipelines are structural capacity then they must be deliberately designed rather than culturally assumed.

Designing junior pipelines in an age of AI


Junior pipelines are structural not sentimental
Removing junior pipelines optimises short term output while increasing long term structural risk.

Junior pipelines are structural not sentimental


Authority mapped to decision type
Decision authority should be designed around decision type not job title.

Design authority around decision type not role title


When consensus becomes the goal
Consensus often appears when no one is allowed to decide.

Consensus as a substitute for authority


Decision load as a structural signal
If the CTO is making too many decisions the operating model is leaking authority.

If the CTO is making too many decisions


An operating model for when the CTO role is working
When authority is aligned, the CTO role collapses into a small number of quiet functions.

When the CTO role stops being busy


When roles reach their natural end
Some roles exist to disappear once the system stabilises.

Roles designed to vanish


When escalation paths are implicit
Exposure to requirements is not the same as authority over them.

Requirements without resolution


When discovery cannot be timeboxed
Some organisations need certainty before they can tolerate discovery.

When certainty is required before it exists


Why programme management still absorbs blame
Programme management often carries accountability without decision authority.

Accountability without authority at scale


When work is delegated without definition
Delegation fails when responsibility travels further than definition.

When responsibility outruns meaning


Risk aversion, displacement and the cost of entrepreneurial ideas
When organisations cannot tolerate risk, they often relocate it instead.

When ideas are recognised but not owned


When leadership is a by-product
Leadership that has to be encouraged is usually compensating for something else.

When leadership is not the goal


When competence becomes a liability
Competence often hides the very problems organisations need to see.

When competence becomes a liability


The things that never happen
Some of the most expensive organisational failures never produce a metric.

What never appears on a dashboard


Special circumstances
Some organisational problems cannot be solved from inside the hierarchy that created them.

When normal mechanisms stop working


Decision latency is the performance problem
Slow decisions shape slow systems long before runtime behaviour is discussed.

Where performance really slows down


Why performance begins with how teams think
Performance problems begin with product decisions and organisational behaviour long before code exists.

Why organisational behaviour matters more than tools


LatencyLab
A small tool built to settle performance arguments with reality, the UI existing only because text was insufficient.
LatencyLab

A Small Tool for Uncomfortable Performance Truths


The architectural mistakes you make before the first profiler runs
The decisions that lock in latency long before there is anything to measure.

Where latency really gets decided


When more data stops changing the answer
What happened when I stopped arguing with intuition and ran the model one hundred thousand times.

How scale quietly ends performance debates


Automating tagging in crankthecode for menu organisation
Effective management of the crankthecode website.

Tag to menu item organisation automation


Stellody Is Now Quietly Harder to Break
Quiet changes were made so nothing exciting ever happens again and that is the goal.

How Stellody Learned to Stop Worrying and Ignore the Internet


Escaping the Cursed Realm of GoDaddy Hosting
Nothing screams freedom like deleting the last line of PHP from your life.

Stellody: Escaping the Cursed Realm of GoDaddy Hosting


Raising Test Coverage Without Breaking Trust
Higher coverage only matters if the tests survive refactors and real use.

Stellody: Raising Test Coverage Without Breaking Trust


The Illusion of Engineering
AI can generate code but it cannot replace software engineering.

AI Tools Bad Code and the Case for Review


Refactoring Without Regret: Locking Down Lifecycle First
Before making code cleaner make sure it can stop cancel and shut down correctly every single time.

Stellody: Why Lifecycle Comes First


Concurrency, Stability and UI Polish for Stellody
Concurrency dialled up with thread safe caching UI polish and performance that respects rate limits without dragging its feet.

Speed & Stability Improvements


Rate Limits, Retry Logic and Reality Checks
Rate limits strike mid run as retry logic async persistence and filesystem stalls collide in a war for reliability.

The Elephant in the Room - Rate Limiting


HyperNova, Rails and Rethinking the Voron
Upgrading the Voron Trident with a HyperNova toolhead new rails and a precision Cartographer mod.

This post walks through my recent Voron Trident overhaul


Stellody v5.0.0 - Playlist Purgatory, Parallel Processing & Progress Bar Penance
v5.0.0 restores real playlists adds thread safe performance gains and ships with a UI that survives heavy clicking.

Stellody v5.0.0 is live and critically now generates real functional playlists again.


Refactors & Focus Fights for Stellody 4.1.3
After a major refactor and full triple platform release Stellody 4.1.3 ships with improved UI cleaner code and much less screaming.

Stellody v4.1.3 featuring a major refactor licensing fixes and improved UI across all supported platforms.


EDColonisation Assistant EDColonisation Assistant In-game tool for Elite Dangerous
A browser-based in-game tool for colonisation tracking and planning in Elite Dangerous.
EDColonisation Assistant

EDColonisation Assistant ๐Ÿ›ฐ


Sitemaps, Side-by-Sides and Satisfying Polish
Post-launch refinements including sitemap setup, layout alignment and enhanced polish across tooling and templates.

Another productive pass over the site focused on polish semantics and visibility.


The LED Problem the Virpil Community Had

Making joystick LEDs actually useful, not just decorative firmware trivia.


Simple Hacking Tinkering without breaking things. Mostly.
Hacking as exploration, not destruction.

Curiosity-driven system exploration without setting off alarms.


Hardware Guides Are Accidental Biographies Every printer guide is a life story in disguise.
The difference between a setup guide and a survival log is about three failed prints.

Lessons from the chaos of printer setup, upgrades and inevitable regret.


Why I Keep Building Niche Tools Because general-purpose tools are rarely personal.
Tiny tools with weird, specific use cases that somehow keep solving problems.

One-size-fits-most tools donโ€™t cut it when you live on the edge cases.


Tiny Tools I Refuse to Live Without Tiny tools with massive impact.
A short list of the kind of oddball tools I rely on in day-to-day development and tinkering.

A personal stash of micro-utilities that quietly fix annoyances.


On Working with Machines Working with machines means accepting their limits.
A short manifesto on how machines respond to inputs, not intentions.

Understanding machine behavior without mythologising it.


Bots Are Interfaces Bots are more than code ~ theyโ€™re your interface with chaos.
Musings and mechanics behind the bots that do my bidding.

Musings on bots as communication layers, not novelty features.


UI Polish, CTAs and the Slow March to Done
A tour through UI tweaks, CTA wrangling and why stopping matters more than starting.

UI Polish, CTAs and Knowing When to Stop


WP Bots and RSS Weirdness Blog Update
Fixed RSS encoding and ignored WordPress sniffers. As one does.

WordPress Bots and Encoding Gremlins


Command Centre Update
Added hero and battlestation sections.

Command Centre Update


Tables, Taglines and Terminal Fakery
Search autocomplete now works, the Help button is unhelpful and every post has just enough recruiter bait.

Chaos Contained: Tables, Taglines and Terminal Fakery


Stellody Stellody Music playlists
A cross-platform app that analyses your library (or Spotify) and generates genre-sorted playlists.
Stellody

Stellody live site


AxisDB AxisDB JSON database
An embedded Python database that stores JSON documents with atomic commits and multidimensional keys.
AxisDB

AxisDB ๐Ÿ—ƒ๏ธ


3D Printer Launcher 3D Printer Launcher Klipper launcher
A launcher and monitoring overlay for Klipper printers, designed to be stream-friendly and information-dense.
3D Printer Launcher

3D Printer Launcher. I do a lot of 3D printing and construction/playing with electronics and software relating to 3D printing. This is a simple launcher tool written in python and PySide6 you can use and integrate with OBS Studio to display real time data while printing


3D Printing Info 3D Printing Info Print guide
Practical notes and guides from my 3D-printing journey, including settings, materials and lessons learned.
3D Printing Info

I have been curating a huge resource for 3D printerers and tinkerers for many years (check the github stars): 3D Printing Info.


Trainer Trainer Travel tracker
A personal dashboard that brings together travel, weather and other daily-use data in one place.
Trainer

I developed: Trainer.


Audio Deck Audio switcher
A Windows utility for quickly switching audio devices and routes with a StreamDeck-style workflow.
Audio Deck

Audio Deck ๐Ÿ”Š
A professional audio device switcher for Windows with Stream Deck integration.


Galactic Unicorn Timer MicroPython LED
MicroPython experiments on the Galactic Unicorn LED matrix, exploring visuals and device control.
Galactic Unicorn Timer

GalacticUnicorn Timer ๐Ÿฆ„


Calendifier Calendar tool
A calendar app with full iCalendar (RFC5545) support and deep internationalisation across languages and locales.
Calendifier

Calendifier ๐Ÿ“…


Coin Analysis Coin Analysis Coin ML Tool
Computer-vision and ML experiments for recognising, identifying and cataloguing coins from images.
Coin Analysis

Coin Analysis ๐Ÿช™


SnarkAPI SnarkAPI Sarcasm API
A playful API that generates sarcastic, roast-style responses for IT and software scenarios.
SnarkAPI

Snark-as-a-service API

SnarkAPI live site


Fancy Clock Fancy Clock Desktop clock
A customisable desktop clock featuring skins, localisation and animated/video backgrounds.
Fancy Clock

I wrote a FancyClock app for fun: Fancy Clock


Elevator Elevator control panel
A web-based elevator control panel built with Django and React.
Elevator

Elevator ๐Ÿ›—


Site SEO & Search Updates Blog update with SEO
Blog formally released but this time updated with SEO optimisation!

This blog is now a THING! However it needed SEO optimisation


Why Crank? Why Crank? Motivation
Why I build things the hard way: a short note on overengineering, curiosity and craft.
Why Crank?

Everyone asks why? Nobody asks why not crank?


Hello Crank Hello Crank
A quick welcome to Crank The Code.
Hello Crank

This is my first post. I wrote it in Markdown. I am unstoppable.