Public profile
Writing
Articles, notes, and longer-form thinking can be published here.
Writing highlights
Five writing highlights are shown first. Expand the full list if you want the rest, or use chat for themes, recency, and context.
Showing 5 of 56 published writing posts.
From Development Governance to Production Governance
Published: 2026-04-14
My software dark factory behind Explore is an end-to-end agentic operating platform with governance built in. Development governance earns trust before merge. Production governance proves the intended outcome is actually live. The release l...
Strong engineers need more than a polished summary now
Published: 2026-04-07
AI made polished summaries cheap. That is good for formatting. It is bad for proof. A strong engineer can now look polished in an afternoon. Clean headline. Sharp summary. Sensible project bullets. Nice phrasing. None of that is hard anymor...
I have a dark factory for engineering. I now have a factory for marketing too.
Published: 2026-04-02
Today I had the marketing agents review one of Explore’s public pages against the brand, mission, and source-of-truth docs we’ve set for the product. They identified a few bounded improvements, packaged them into a clean handoff, and passed...
Your app is not agent accessible because it has a chatbot
Published: 2026-04-01
A lot of companies seem to think agent accessible means they added a chatbot. It doesn’t. A chatbot is just a new way to talk to the old interface. An agent-accessible app is something an agent can actually use. That means it can understand...
Explore is now agent-accessible.
Published: 2026-03-31
The interesting part is not the CLI. It’s the login flow. Run explore login, approve it in the browser, and your agent gets authenticated access to the real app. Not a toy sandbox. Not a pasted API key. Not some half-baked “AI feature”. The...
View all 56 writing posts
Three mobile paths for Explore
Published: 2026-03-31
I’ve been thinking about mobile for Explore. Not because every product needs an app. And not because “launched a mobile app” looks nice on a CV. The more interesting question is: what would mobile teach me about the product, and what would...
Any engineer or technical professional looking for work should be thinking about how to make their profile more memorable than a static CV.
Published: 2026-03-30
I’ve been testing that with Explore. Using the Explore CLI, I gave Codex my latest CV and asked it to compare it to my current Explore profile, recommend the right updates, and apply the relevant changes without touching my writing. Within...
Why Explore became agent-accessible, and why profiles need to become agent-accessible too
Published: 2026-03-29
Explore started as a better proof surface for humans. That was the original idea. Something better than a static CV or polished personal site. Something that let people go deeper into the real signal behind a person’s work, writing, project...
I’ve now pushed 1000+ jobs through my software factory.
Published: 2026-03-28
At that point, it stops feeling like an AI coding assistant and starts feeling like an operating model. The factory is now taking on more responsibility across the path from spec to shipped: auto-merge, production deploy, and verification...
Explore: a better proof surface for engineers in the AI era
Published: 2026-03-28
I’ve been increasingly concerned by the level of anxiety across our profession. I keep seeing very good engineers, people with real experience, strong judgement, and excellent CVs, feeling uncertain about how to stand out in a market that s...
In complex systems, software dark factories do more than ship the change. The context they preserve around the change can be just as valuable as the code itself.
Published: 2026-03-24
One of the biggest advantages is that a shipped job can carry its own decision trail with it: the prompt/spec the run log the verification steps the PR the final code and tests That becomes more valuable as the system evolves. Because month...
At small scale, people can absorb workflow complexity. At larger scale, the workflow has to absorb it.
Published: 2026-03-24
A lot of operational pain gets misdiagnosed as a tooling problem or a headcount problem. At small scale, experienced people can often bridge the gaps. They remember the exceptions, know which signals matter, spot what needs doing next, and...
Software delivery gets easier to improve once you make the timing visible.
Published: 2026-03-22
Software delivery gets easier to improve once you make the timing visible. One thing I’m starting to like in our dark factory workflow is recording delivery timing directly on the PR. Not just token usage or the final diff, but how the work...
If your PR is the first time the change is properly validated, the feedback loop is too slow.
Published: 2026-03-20
One of the simplest dark factory wins for us has been pushing more verification earlier, before the PR ever hits shared CI. That means running a meaningful slice of the expected checks locally first, then attaching the evidence and caveats...
I’ve started treating agent friendliness as a core product feature, not an add-on.
Published: 2026-03-19
One thing I’m now adding to personal project is an agent manifest. The idea is simple: when an agent lands on the product, it should understand what the product does, what state the account is in, what actions are available, what the next b...
Agentic development is the pair-programming model I actually wanted.
Published: 2026-03-18
I always understood the theory of pair programming. In practice, it often felt like two people doing work one strong engineer could do alone. AI changed that for me. I always got the value on paper: two brains, shared context, faster feedba...
Most teams are not building software dark factories.
Published: 2026-03-17
Most teams are not building software dark factories. They are bolting AI onto old delivery models and mistaking that for the shift. Coding faster with ChatGPT, Copilot, or Codex is useful, but that is still surface level. The real shift sta...
If AI is helping write the PR, the PR should show how AI was used, how much effort it took, and what it cost.
Published: 2026-03-13
At some point, the business conversation stops being “this is cool” and becomes “what is this costing us, what is it saving us, and is it worth it?” Ultimately, it gets boiled down to the number that matters most: cost. I’ve started rolling...
Why put AI usage on the PR at all?
Published: 2026-03-13
Because once AI becomes part of delivery, the business question quickly becomes: what did this take, and what did it cost? For this slice, the PR includes: Current AI Usage in the PR: That is why I think it belongs on the PR. Not because th...
Blockchain has gas fees. AI has token economics. Same underlying lesson: computation is not free.
Published: 2026-03-13
Blockchains made computation cost visible through gas. AI is doing the same through tokens, model choice, and reasoning effort. That is a useful mental model. In crypto, you do not send every transaction the same way. If it is low value, yo...
“Whatever mess AI gets us into, AI will get us out of.”
Published: 2026-03-12
“Whatever mess AI gets us into, AI will get us out of.” I hear that assumption a lot in business conversations. It hasn’t been my experience so far. The question I keep asking is: How do we get businesses to take AI-driven software risk ser...
Don’t just tell the model what good code looks like. Show it, then make it prove it followed it
Published: 2026-03-11
Don’t just tell the model what good code looks like. Show it, then make it prove it followed it. LLMs already know plenty of patterns from the internet, but that also means they can pick up plenty of bad implementations too. A lot of AI cod...
One of the quickest “AI productivity” wins in a monolith isn’t another model.
Published: 2026-03-10
It’s less noise, In the AI era, context is cost. I’m doing a sweep to remove dead repo assets (old CSVs/exports/screenshots/sample data) and trimming logs (lower verbosity + sensible rotation/cleanup). Why? Because in big codebases, context...
Codex “Fast” Mode Is Wild (and It Made Repo Hygiene Even More Important)
Published: 2026-03-10
I tried Codex “Fast” properly today for the first time. It’s… ridiculous. The speed feels like you’ve removed friction from the entire loop: ask → change → verify → iterate. You can keep momentum in a way that’s genuinely hard to do in a bi...
Vibe coding is great for prototypes. Production needs discipline.
Published: 2026-03-08
LLMs can generate a lot of code quickly but the quality range is massive unless you force the work through guardrails. So I don’t ask my agent for “an answer”. I ask it to ship a solution through a playbook (built from ~20 years of patterns...
I’ve updated my profile to “Software Factory Manager”
Published: 2026-03-07
AI hasn’t removed engineering work. It’s changed where the leverage is. Writing code is getting cheap. Trust is getting expensive. So my day-to-day is shifting up the stack: Turning intent into a spec (goal + acceptance criteria) Setting co...
I’ve started batching work through my software “dark factory”.
Published: 2026-03-07
Instead of running one job at a time, I queue a handful of small, reversible slices — and the factory sends back a single execution report when it’s done. That report includes: PR links (merged sequentially) exactly what shipped per job ver...
What’s next in the queue — and how does it move us toward the North Star?
Published: 2026-03-07
I ask my software factory: “What’s next in the queue — and how does it move us toward the North Star?” It replied with 5 small, verifiable jobs — each with a clear “why” (contract/telemetry, removing manual paths, hardening inputs, runner p...
From Novice to Senior: Refactoring a Whole Codebase Overnight With a Software “Dark Factory”
Published: 2026-03-05
I planned to extract the Dark Factory engine from my personal project as a standalone tool for work. But I wasn’t happy with the code standard — both the factory itself and some of the code it had produced. It was functional, but naïve. So...
One small change that’s made AI-assisted refactoring feel production-ready for me:
Published: 2026-03-05
My agent has to state which best practices it applied — and why. Not just “here’s the diff”, but “here’s the thinking”: what refactoring move was used (extract class, etc.) what rules/patterns it followed how it kept the change small + test...
The Hidden Cost of the God Table (and how AI can make it worse)
Published: 2026-03-04
Every production system has at least one “god table”. It’s usually the biggest, busiest table in the database — the one that knows about everything: orders, users, products, payments, delivery, invoices, discounts, status, audit trails… and...
The Most Underrated Scaling Pattern in Startups & Scale-Ups
Published: 2026-03-03
One of the most underutilised design patterns in startups and scale-ups is the adapter pattern. I used it today and it reminded me why it’s so valuable: it’s not just “clean code”. It’s commercial leverage. How lock-in happens (and why it h...
My dark factory software workflow now has a UI.
Published: 2026-03-02
I’m trialling a simple flow where technical and non-technical teammates can request a factory job (e.g. “add an API endpoint”), and the factory turns that intent into: Scoped prompt spec (goal + acceptance criteria) Run log (commands/tests...
Dark Factory: “No Humans Should Write Code” (and what it taught me)
Published: 2026-02-28
A few weeks ago I read Simon Willison’s write-up on StrongDM’s “Software Factory” approach. The line that stuck with me wasn’t even about agents or tooling — it was the mantra: Code must not be written by humans Code must not be reviewed by...
I’ve stopped “prompting an AI” and started running a software factory.
Published: 2026-02-27
Every PR now includes: the prompt spec (goal + acceptance criteria) the run log (what the agent did + command/test outputs) the checks as the gate (CI green or it isn’t done) It turns AI work from vibes into something you can audit, replay...
Evidence > vibes.
Published: 2026-02-27
This is what I’m aiming for with AI-assisted dev: every job produces a small PR + CI green + a prompt spec + a run log (commands/tests) so you can audit what happened. Diff is output. Evidence attached.
I Thought AI Would Take the Fun Out of Engineering — It Didn’t
Published: 2026-02-26
I was worried AI would take the fun out of engineering. My early experiences felt a bit like “autocomplete on steroids” — faster, but less satisfying. It’s gone the other way. I feel energised. The work is more playful now: I give it...
AI Top Tip: No Green, No Opinion.
Published: 2026-02-19
When AI generates code, it can look convincing even when it’s wrong. So I don’t assess the implementation first. I run the specs first. In traditional development, you wouldn’t submit (or even entertain) a change that fails CI. Why would yo...
Your Next Customer Might Be an Agent: How to Prepare Without Panic
Published: 2026-02-15
There’s a lot of fear right now. People can feel the ground moving under how we work, how we buy things, and how businesses acquire customers. The questions are reasonable: What does this mean for my job? What does this mean for my business...
AI Turns "We’ll Refactor Later" Into "Let’s Do It Now"
Published: 2026-02-14
Most software work starts the same way: get a happy-path flow working surface rabbit holes early produce a first draft Then we all say the same thing: “We’ll refactor it later.” Sometimes that happens. A lot of the time business pressure wi...
AI Top Tip: Context rot — stop fighting it, start a clean chat.
Published: 2026-02-14
When an AI thread gets long, quality drops. It gets slower, forgets earlier decisions, and starts confidently guessing. My reset prompt is: “Hey ChatGPT, I think you’re suffering from context rot. Can you summarise the key context from this...
Codex / GPT-5.3 feels noticeably faster and more accurate for me.
Published: 2026-02-14
The biggest difference is it pushes back. It flags risks, calls out contradictions, and suggests sensible alternatives, instead of the default "you’re absolutely right" even when I’m clearly changing my mind mid thread. It’s starting to fee...
Software Delivery: Appetites Over Estimates (and What You Say When The Business Asks “How Long?”)
Published: 2026-02-14
Most teams like the idea of “appetites over estimates” until you try to run an actual planning cycle. Let’s say you’re planning a 4-week cycle: 3 weeks of development and 1 week cooldown. You’ve got a set of pitches on the table. The busine...
Writing Agent Instructions Is Programming
Published: 2026-02-14
When people talk about “prompting”, it can sound like the skill is writing clever English. But when you’re giving instructions to an agent that’s meant to do real work reliably, it feels much closer to programming than copywriting. You’re n...
Writing Agent Instructions Is a Team Sport (Business + Engineer)
Published: 2026-02-14
If writing agent instructions is programming, it follows that the best instructions aren’t written by one person in isolation. They’re a team sport. When I say “business” here, I often mean a PM — that’s how we do it. But it could just as e...
Don’t Over-Determinise Agent Wording (Avoid Brittle If/Else Trees)
Published: 2026-02-14
When teams start writing agent instructions, there’s a very common instinct: Make the instructions “safe” by turning them into a big set of deterministic rules. It usually starts with something small, often around wording. For example: if a...
PR Review Is Changing in the AI Era
Published: 2026-02-14
PR review was never really about the code. Yes, we look at the diff. But the real thing we’re trying to assess is judgment: did the engineer understand the problem? did they make sensible trade-offs? did they spot the risks? did they valida...
Engineering Interviews Are Changing in the AI Era
Published: 2026-02-14
Engineering interviews have always been a proxy. We can’t fully simulate real work in an hour, so we use exercises and questions to approximate signal: how someone thinks how they trade off speed vs quality how they handle uncertainty wheth...
Planner/Worker: The Two-Thread Workflow That Keeps AI Useful
Published: 2026-02-14
One of the easiest ways to waste time with AI is to do everything in a single long thread. It starts well, then the context grows, quality drifts, and you end up with a messy mix of strategy, partial implementations, and conflicting decisio...
AI Hasn’t Fixed Estimation in Software Engineering - It’s Made It More Dangerous.
Published: 2026-02-07
Estimation in software has always been broken. Not because people are bad at it, but because we keep asking it to do something it can’t: predict outcomes in complex, uncertain systems. AI hasn’t changed that. What it has changed is speed...
AI, TDD, and the Return of the Feedback Loop
Published: 2026-01-31
Lately, working with AI has reminded me a lot of how Test-Driven Development felt when I first learned it. Not the dogma. Not the purity debates. But the feedback loop . What TDD was really doing (for me) When I interview engineers and ask...
Using AI to Build Around Tech Debt, Not Rewrite It
Published: 2026-01-24
Every startup carries tech debt. Not because teams don’t care — but because speed, uncertainty, and evolving requirements make it inevitable. Most of it never gets “paid down”, and full rewrites are usually too risky to attempt. AI doesn’t...
AI Helps You Ship. Simplification Helps You Scale.
Published: 2026-01-18
AI has dramatically lowered the cost of building software. With agentic development, copilots, and increasingly capable models, it’s never been easier to go from idea to working implementation. You can explore solution space faster, test as...
Agentic Development: The Shift Is Already Here
Published: 2026-01-10
Agentic development has improved massively in the last six months. In the summer of 2025, I tried using Copilot to build a moderately complex feature. At the time, I was genuinely amazed by what it could do — but in practice it got more wro...
Appetites, Project Deadlines, Due Dates...
Published: 2022-10-14
When scoping/planning development work for the engineering team the first question from the developer is always: When does this have to be done? How long have we got? Generally these deadlines are never met and it's always accepted that a s...
Bugs Within The Software Development Life Cycle - How Best To Manage?
Published: 2021-05-22
Regardless of the engineering teams competency bugs are part and parcel of the life cycle of every software development project. Within the software development paradigm there are best practices for nearly every part of the developmen...