26 posts
Journal
Everything I've written here, newest first.
2026 13 posts
-
FlowDrop 12 min
FlowDrop Workflow Specification 1.0: Why a Workflow Engine Needs a SpecFlowDrop now has a published, implementation-independent workflow specification: 386 rules with permanent identifiers, conformance fixtures, and a clear answer to absent versus null in JSON. Why we pulled the rules out of the Drupal module, and what a written spec fixes that a test suite cannot.
-
Engineering 14 min
The Upgrade Path Is a Product DecisionAtelier is built for people who have never heard of Drupal and will never open a terminal. That single fact turns 'it upgrades itself' into a veto over the dependency list — and a refactor where I had to say no to modules we wanted, delete code we were proud of, and start reading other people's roadmaps.
-
Drupal 5 min
What Started as a Bugfix: Revision Graph 4.0.0One ring drawn in the wrong place. Chasing it turned into a rewrite — because Drupal stores no parent pointer for revisions, and "parent" means three different things on a translated node.
-
Engineering 17 min
The LLM Read Every Register. The Answer Was a Smell.I gave an AI agent full access to a broken robot. It ran better experiments than I would have, ruled out six causes by measurement, and then wrote 'definitively exonerated' about a part it had no way to inspect. Every correction came from something I knew and it structurally could not — and one of its confident errors nearly went out in a warranty claim.
-
Engineering 7 min
Your llms.txt Isn't Being Ignored — Your Analytics Just Can't See ItA recurring claim: 'I added llms.txt and nothing reads it — zero hits.' Almost every time, the zero comes from checking the wrong instrument. Client-side analytics is structurally blind to a plaintext file fetched by a bot. Here's why, and where the real answer lives.
-
Musing 1 min
The Bet Ships: Atelier Is LiveA few weeks ago I wrote that I was betting a new product on an unfashionable foundation. It just launched. This is the short, happy note before the longer ones.
-
Musing 5 min
Am I Building on Sand? Betting a New Product on an Unfashionable FoundationA reflection on whether it makes sense to build a brand-new product on a mature platform the hype cycle has moved past – and why the answer depends entirely on whether that platform is your audience or your engine.
-
Engineering 7 min
Why I Don't Trust the Submit Button ToggleThe day I stopped writing classList.toggle('enabled') around an async submit and started deriving the button's state from the form. A walk through why toggle is a weaker promise than set — and why even set is wrong, just more slowly.
-
Musing 8 min
Every Time Travel Movie Has the Same Fatal Flaw Nobody Talks AboutStep into a time machine, punch in a date, and you won't arrive in the past — you'll materialise in empty space. Here's the flaw every time travel story ignores, and why it makes the real version far more interesting.
-
FlowDrop 8 min
Why One Big AI Skill Is Slower Than Many Small OnesI ran the same multi-step AI workflow two ways — as one large skill and as a chain of small focused skills. The difference was staggering: 10 minutes vs. an hour. Here's why, and what it tells us about how workflows should be designed.
-
Musing 2 min
Are Micro PHP Packages Becoming Obsolete in the AI Era?A reflection on how AI code generation is changing the value proposition of small, single-purpose open-source packages, and what that means for the future of the PHP ecosystem.
-
Drupal 4 min
Winning the Drupal AI Hackathon – Play to Impact 2026Winning the Drupal AI Hackathon – Play to Impact 2026
-
Drupal 4 min
AI Agents for Content EditorsWinning the Drupal AI Hackathon – Play to Impact 2026 - Part 2
2025 3 posts
-
FlowDrop 3 min
Configurable Workflows Are the Future — Why I Built FlowDropWhy configurable, in‑house workflows beat external orchestrators—and how FlowDrop’s visual editor lets teams own execution while moving fast.
-
Drupal 4 min
Visualizing Your Content's Evolution: A Content Creator's Guide to Revision Graph in DrupalUtilizing "Revision Graph" in Drupal to visualize Content's revision history
-
Project management 3 min
Competence, Capacity, Capability: The Secret Formula for Getting Things DoneAvoid missed deadlines and uncompleted tasks. Explore how the 3 “C”s—competence, capacity, and capability—can help you master the art of task delegation.
2024 7 posts
-
Project management 2 min
Paisa Vasool - Satisfaction for realising Earned ValueExplains how striving for 'Paisa Vasool' feeling from your customers can help increase customer satisfaction and improve your business
-
Project management 2 min
Performing Relative Estimations in projectsRelative estimation sizes tasks against each other instead of in hours: what it is, why it holds up better, and how to run it with a team.
-
Project management 3 min
Calculating planned value for EVMCalculating planned value (PV) in "Earned Value Management" with S-curve method
-
Project management 3 min
Project DecompositionUse project decomposition to effective manage web development project
-
Project management 3 min
Maximising Project Efficiency using EVMUtilizing "Earned Value Management" for Website Development Projects
-
Web design 2 min
Corporate Component Library ConsiderationsWhat a component library needs in an enterprise: brand alignment, governance, accessibility and room for many teams.
-
Web design 3 min
Design Systems vs Component LibraryA design system is the rulebook for how a product looks and behaves; a component library is the code that follows it. Where each starts and stops.
2023 1 post
-
Web design 3 min
The Importance of Semantics in Component LibrariesWhy naming components by meaning rather than looks makes a component library clearer, more accessible and easier to maintain.
2016 2 posts
-
Legacy 2 min
Setting up Drupal project and fabricAdding fabalicious to a Drupal project and wiring it into a git-flow branching setup.
-
Legacy 3 min
Drupal meets FabricManaging several Drupal instances across servers with fabalicious, a deployment script built on Python Fabric.