Writing
Engineering, delivery, and building things which last.
The Workshop
The Workshop: AI Use Case Envisioning
A pattern for turning 'we should be doing something with AI' into a short portfolio of bets worth piloting, and an honest list of the ideas that aren't AI problems at all. Diverge across the business, score on value and feasibility and data and cost-of-being-wrong, pin each survivor to an autonomy level, and walk out with two or three pilots instead of a hackathon backlog.
Read articleThe Greenbox Story · Growing Pains
Hiring Mistakes: The Hire Who Doesn't Work Out
Jordan Chen's CV was perfect. The technical interview was flawless. Six weeks in, the team is quieter, the code is cleverer, and nobody can explain why things feel worse.
Read articleExam Room · Advanced GenAI
How to Build a Multi-Modal Bedrock Assistant for Insurance Claims
A claims-processing assistant that reads a scanned invoice, listens to a voicemail, answers the customer's question in plain text, and, if asked, reads it back. Four modalities, one conversation. The model choice, the orchestration shape, and the ways different inputs fail each push the architecture in different directions, and the naive 'just use a multi-modal model' misses half of where the real work is.
Read articleThe Workshop
The Workshop: C4 Modelling
A simple set of nested diagrams (Context, Container, Component, Code) that turns a wall of sticky notes and tribal knowledge into an architecture artefact that survives outside the room.
Read articleThe Greenbox Story · Growing Pains
Capacity Planning: The Seasonal Crunch
Winter arrives and half of Dave's crops don't. The Greenbox team discovers that a subscription product built on fresh produce has a supply problem nobody modelled.
Read articleExam Room · Advanced GenAI
Evaluating LLM Output With Bedrock Eval Jobs
Two thousand historical support tickets, a summarisation prompt, a new model candidate, and a product manager asking whether switching would hurt quality. Bedrock evaluation jobs offer automated scoring, human review through Ground Truth workflows, and model comparison side by side, but they answer different questions, and getting the correct number out of the correct job matters more than running more of them.
Read articleUnder the Hood
Past the Ten-Second Wall
Past the ten-second wall the user is gone unless you do something about it. There are two patterns for keeping them: narrate the work as it happens, or release them and come back. This post is about implementing both, the wire formats, the server shapes, the client shapes, and the trade-offs each one makes.
Read articleConsulting and Craft · In Practice
Technical Debt Is a Loan, Not a Crime
Calling something 'tech debt' is usually an accusation. It shouldn't be. Used deliberately, debt is a tool: ship something imperfect, learn from the market, pay it back with what you learned. Used carelessly, it compounds until the interest swallows the principal.
Read articleThe Greenbox Story · Drawing the Lines
When a Container Earns Its Own Zoom
The substitution engine got built. It works. But it's complicated enough that Ravi can't explain it to a new joiner, and the C2 diagram just shows it as a single box called Supply Matching. Time for the level of C4 the team has been carefully not drawing until now.
Read articleExam Room · Advanced GenAI
How to Manage Prompts Across Thirty Services on Bedrock
One prompt scattered across thirty services, no versioning, no tests, drift between the copy in the code and the copy in the docs, a silent regression when somebody changed 'concise' to 'brief' and retention on one response tanked. Prompt engineering at a hundred callers isn't prose discipline, it's configuration management. Bedrock Prompt Management, Git-backed templates, and parameterised prompts each solve a slice of the same problem.
Read articleEarlier writing
June 2026
The Transformer Attention Budget Under the Hood Domain-Driven Design: CQRS and Read Models in Go The Greenbox Story · Drawing the Lines Domain-Driven Design: Event Sourcing the Ledger in Go The Greenbox Story · Drawing the Lines The Workshop: Event Storming an Architecture The Workshop Architecture Decision Records: Why We Did It That Way The Greenbox Story · Drawing the Lines Picking a Vector Store for Bedrock RAG Exam Room · Advanced GenAI When Not to Use an LLM Under the Hood · The AI Field Guide The Probe in the Meat Consulting and Craft · Through the Kitchen Decision Tables: The Substitution Engine in Go The Greenbox Story · Drawing the Lines How to Wire an LLM to Side-Effecting Actions with Bedrock Agents Exam Room · Advanced GenAI How Containers Work Under the Hood Decision Tables: Making Maya's Brain Explicit The Greenbox Story · Drawing the Lines Building RAG When the Source Documents Change Daily Exam Room · Advanced GenAI The Workshop: Prioritisation The Workshop Spreading Bedrock Load with Cross-Region Inference Profiles Exam Room · Advanced GenAI Bayesian Reasoning Under the Hood · The AI Field Guide The Price of Everything Consulting and Craft · In Practice Drawing the System: From Event Storm to C4 The Greenbox Story · Drawing the Lines Configuring Bedrock Guardrails for PII, Topics, and Grounding Exam Room · Advanced GenAI How Estimation Works (And Why It Doesn't) Under the Hood Knowledge, Logic, and Constraints Under the Hood · The AI Field Guide Domain-Driven Design: The Anti-Corruption Layer in Go The Greenbox Story · Drawing the Lines Domain-Driven Design: Events Across Boundaries in Go The Greenbox Story · Drawing the Lines Domain-Driven Design: Modelling the Subscription Context in Go The Greenbox Story · Drawing the Lines Domain-Driven Design: Drawing the Boundaries The Greenbox Story · Drawing the Lines Designing Short-Term and Long-Term Memory for a Bedrock Chat Assistant Exam Room · Advanced GenAI Search and Planning Under the Hood · The AI Field Guide The Workshop: Business Model Canvas The Workshop Time Is Wrong Everywhere All at Once Under the Hood · Time Combining RAG and Fine-Tuning for a Legal Contract Assistant Exam Room · Advanced GenAI How to Build a Citations-Required RAG Over 50K Internal Documents Exam Room · Advanced GenAIMay 2026
Rules, Grammars, and Regex Under the Hood · The AI Field Guide The Salt in the Dish Consulting and Craft · Through the Kitchen Why Does Thursday Last Forever? Under the Hood · Time Picking a Bedrock Model for High-Volume RAG Exam Room · Advanced GenAI Prioritisation: What Changes First The Greenbox Story · Finding the Fit Choosing Between SageMaker, Bedrock, and Purpose-Built AI APIs Exam Room · GenAI The Boring Baseline That Wins Under the Hood · The AI Field Guide A Gentle Guide to Typography: From Chisels to Character Sets Under the Hood The Clock Inside You Under the Hood · Time Choosing Between Chains, Retrieval, and Agents for a GenAI Assistant Exam Room · GenAI Pricing Experiments: The Right Box at the Right Price The Greenbox Story · Finding the Fit How to Make a Bedrock Chatbot Audit-Ready with Guardrails and Watermarks Exam Room · GenAI Before the Transformer Under the Hood · The AI Field Guide The Workshop: Assumption Mapping The Workshop Can You Turn Back Time? Under the Hood · Time Forecasting Without Writing Python Exam Room · GenAI Business Model Canvas: Does This Actually Work? The Greenbox Story · Finding the Fit Grounding a Chatbot in Your Own PDFs Exam Room · GenAI After the Transformer Under the Hood · The AI Field Guide The Workshop: Jobs to be Done The Workshop Does Time Even Exist? Under the Hood · Time Choosing Between Prompting, RAG, and Fine-Tuning Exam Room · GenAI Assumption Mapping: Testing What You Believe The Greenbox Story · Finding the Fit How to Take a Foundation Model from Pick to Production Endpoint Exam Room · GenAI The Reranker You Didn't Know You Needed Under the Hood · The AI Field Guide The Knife in My Hand Consulting and Craft · Through the KitchenApril 2026
Time Is Weirder Than You Think Under the Hood · Time Picking the AWS AI Service Tier for Each Feature Exam Room · GenAI Jobs to Be Done: Why Subscribers Actually Stay The Greenbox Story · Finding the Fit Choosing an S3 Storage Class for Cold Archives Exam Room · Architecture The Other Transformers Under the Hood · The AI Field Guide The Workshop: User Story Mapping The Workshop Ticks or Tocks? Under the Hood · Time Routing to the Closest Healthy Region Exam Room · Architecture Accessibility: A Product Decision, Not a Compliance Tick The Greenbox Story · Shipping What Matters What Day Is It? Under the Hood · Time The Workshop: Impact Mapping The Workshop User Story Mapping: Seeing the Whole The Greenbox Story · Shipping What Matters The Workshop: Sprint Planning The Workshop What Time Is It? Under the Hood · Time The Workshop: Example Mapping The Workshop Impact Mapping: Connecting Work to Goals The Greenbox Story · Shipping What Matters The Workshop: Event Storming a Process The Workshop The Workshop: Event Storming a Domain The Workshop Teaching Your LLM the Codebase: CLAUDE.md and AGENTS.md The Greenbox Story · Shipping What Matters Teaching Your LLM the Codebase The Greenbox Story · Shipping What Matters Behaviour-Driven Development: From Stories to Working Software The Greenbox Story · Shipping What Matters The Quiet Jar in the Fridge Consulting and Craft · Through the Kitchen Sprint Planning: Turning Sticky Notes into Delivery The Greenbox Story · From Chaos to Clarity To LLMs... and Beyond! Under the Hood · The AI Field GuideMarch 2026
Example Mapping: Making Stories Concrete The Greenbox Story · From Chaos to Clarity How LLMs Actually Work Under the Hood · The AI Field Guide Event Storming: Building Shared Understanding The Greenbox Story · From Chaos to Clarity Retrospectives: Catching the Wrong Kind of Fast The Greenbox Story · From Chaos to Clarity The Value Is in Ideas, Not Code Consulting and Craft · In Practice Minimum Viable Product: The First Box The Greenbox Story · From Chaos to Clarity Customer Discovery: Before the First Line of Code The Greenbox Story · From Chaos to Clarity