Writing
Engineering, delivery, and building things which last.
The Greenbox Story · Faster Together
Wardley Mapping: Build, Buy, or Borrow?
Should Greenbox build its own delivery tracking or use a third party? When building is cheap, the calculus changes, but not always in the direction you'd expect.
Read articleExam Room · Advanced GenAI
Provisioned Throughput vs On-Demand Bedrock
On-demand Bedrock is priced per token, throttled per minute, and latency-variable in a way that product hates. Provisioned Throughput buys predictability with a monthly commitment. The break-even between the two isn't obvious, and the answer changes with the shape of the workload, a 24/7 assistant and a burst-heavy report generator land on opposite sides of the same line.
Read articleFlash Cards · Retrieval
Flash Card: Freshness and Access Are Metadata
Retrieval must respect access control and document freshness. What lever, cheaply?
Read articleUnder the Hood · Trust
How Encryption Works
Every time you send a message, buy something online, or check your bank balance, encryption is working in the background. But what is it actually doing? From Caesar's shifted alphabet to the elliptic curves protecting your bank account, the surprisingly beautiful mathematics of keeping secrets.
Read articleFlash Cards · Retrieval
Flash Card: Hierarchical Chunking in One Line
Answers get cut across chunk boundaries in a long structured PDF. Best Bedrock KB chunking?
Read articleConsulting and Craft · Hands On
Catching Rent Arrears Without a Model
The most useful outcome of an AI envisioning session is sometimes the idea it sends away. A property agency wanted to 'predict' which tenants would fall into arrears; the honest answer was a rule, not a model. This is the boring, reliable thing built in full: a query over the ledger, a few thresholds, an escalation ladder, and the reasons it beats the model nobody needed.
Read articleExam Room · Advanced GenAI
Checking a Bedrock Feature for Bias and Explainability
A Bedrock-powered feature drafts summaries of job applicants and triages people-facing cases, so its outputs shape decisions about real people, and it is up for a responsible-AI review before launch. The team already knows how to stop the model saying toxic or off-topic things; now they are being asked to show the feature is fair across groups and that any given output can be explained and justified. Content safety was the easy part; 'is it fair, and can you explain it?' is a different set of jobs.
Read articleFlash Cards · Retrieval
Flash Card: What a Reranker Actually Fixes
The right chunk is retrieved but ranks twelfth, below the cutoff. What promotes it?
Read articleConsulting and Craft · Hands On
Keeping an AI Pilot Honest After It Ships
Launching an AI pilot is the start of the measurement, not the end of it. Models change under you, the inputs drift, and a guardrail that held last quarter quietly stops holding. This is the unglamorous machinery that keeps a shipped pilot trustworthy: the eval set as a merge gate, drift you can see, an adversarial suite you run on purpose, a human-feedback loop that improves the data, and a calm path for when something goes wrong.
Read articleExam Room · Advanced GenAI
Making a Bedrock App Audit-Ready
A support assistant built on Bedrock has run cleanly for months, and now a compliance review has landed on it. The auditors want to know who invoked the model, what prompts and completions flowed through it, which model version answered, who approved the deployment, and proof that no customer PII leaked into the logs. The app works. It just can't answer a single one of those questions yet.
Read articleEarlier writing
July 2026
Flash Card: Why Hybrid Search Finds ERR-4021 Flash Cards · Retrieval Picking an Embedding Model for Retrieval Exam Room · Advanced GenAI The Workshop: Decision Tables The Workshop Flash Card: S3 Vectors and the Latency Budget Flash Cards · Vector stores Value Stream Mapping: Finding Where to Focus The Greenbox Story · Faster Together When a Document Won't Fit the Context Window Exam Room · Advanced GenAI Flash Card: The Silent Distance-Metric Bug Flash Cards · Vector stores How Git Works Under the Hood The Language of Tests Consulting and Craft · In Practice Flash Card: When Aurora pgvector Wins Flash Cards · Vector stores Strategic Alignment: The Spreadsheet Anika Never Showed The Greenbox Story · Faster Together Streaming Responses to Cut First-Token Latency Exam Room · Advanced GenAI Flash Card: OpenSearch Serverless's Hidden Floor Flash Cards · Vector stores How Identity Works Under the Hood · Trust Answering Tenant Questions from the Lease with Bedrock Consulting and Craft · Hands On Triaging Maintenance Requests with a Bedrock Classifier Consulting and Craft · Hands On The Workshop: DDD Modelling The Workshop Service Design: Customer Support at Scale The Greenbox Story · Growing Pains Importing Custom Weights into Bedrock Exam Room · Advanced GenAI How Email Works Under the Hood Resting the Meat Consulting and Craft · Through the Kitchen Developer Onboarding: Ramping Up Without Slowing Down The Greenbox Story · Growing Pains How to Cut a Bedrock Bill Without Hurting Quality Exam Room · Advanced GenAI Why Trust Is Hard Under the Hood · Trust The Workshop: AI Use Case Envisioning The Workshop Hiring Mistakes: The Hire Who Doesn't Work Out The Greenbox Story · Growing Pains How to Build a Multi-Modal Bedrock Assistant for Insurance Claims Exam Room · Advanced GenAI The Workshop: C4 Modelling The Workshop Capacity Planning: The Seasonal Crunch The Greenbox Story · Growing Pains Evaluating LLM Output With Bedrock Eval Jobs Exam Room · Advanced GenAI Past the Ten-Second Wall Under the HoodJune 2026
Technical Debt Is a Loan, Not a Crime Consulting and Craft · In Practice When a Container Earns Its Own Zoom The Greenbox Story · Drawing the Lines How to Manage Prompts Across Thirty Services on Bedrock Exam Room · Advanced GenAI 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 Responsible-AI Controls for a Loan-Approval Model Exam Room · GenAI 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 How to Match Inference Parameters to the Job at Hand Exam Room · GenAI 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 The Other Transformers Under the Hood · The AI Field Guide The Workshop: User Story Mapping The Workshop Ticks or Tocks? Under the Hood · Time 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