Arrange Act Assert

Jag Reehal's thoughts on things, mostly product development

What can you test locally with AWS Emulator?

16 Nov 2026

AWS Emulator serves the AWS APIs from a container on your machine, with no AWS account. We moved our CDK ephemeral environments onto it and tested CloudFormation, SQS, SNS, EventBridge and three kinds of Lambda against it.

An open laptop with a glass dome on its keyboard, covering a small orange cloud wired to server racks, a database and storage blocks

Read More →

Facilitation is still an art in the age of AI

11 Nov 2026

You should be using AI tools to do everything from drafting your retro agenda to summarising last sprint’s tickets.

But facilitation remains an art.

You still have to read the room, spot who has gone quiet and find the real reason work keeps slipping.

AI tools can help you prepare. You can ask one to draft an agenda, suggest a retrospective format or summarise last sprint’s tickets before the meeting. In the room, you are the one who spots that the tester went quiet after the product owner spoke, or that the same blocker has come up three sprints in a row. You read the room, question the team’s assumptions and take responsibility for where the conversation goes.

Read More →

UX in 2026 reaches past the screen

04 Nov 2026

A person looks up at seven cards labelled web app, API, AI agent, docs, support, MCP apps and WebMCP, with lines from each card joining at a UX box that points down to a customer delight outcome

Customers reach you through your web app, API, AI agents, connectors, widgets in partner apps, docs and support. You reach them through notifications. Hire UX people who can understand and influence all of it.

Read More →

We pay for Gemini. Who still needs a Claude seat?

02 Nov 2026

A person stands at a fork of three glowing paths. The left leads to a desk with the Gemini logo, the middle to two colleagues talking under the Slack and Claude logos, and the right to an engineer coding under the Claude logo.

Start everyone on Gemini. Move people who keep asking engineers questions to Claude Tag in Slack. Give a Claude seat to the people who build things or do long, private work, inside engineering or outside it.

That approach keeps you out of two traps: seats nobody opens, and staff stuck on a tool that can’t do their job.

Read More →

Look before you lead

19 Oct 2026

It’s true, anyone can lead.

In twenty years I’ve watched people grow into leaders, helped a few get there, and grown into the role myself. How far each of us got depended on the trust, backing and incentives around us as much as on what we brought.

Before you say yes to a lead role, find out who will stand behind you when the decisions get hard.

Look before you lead

Read More →

Your coding agents need a gardener

19 Oct 2026

Your coding agents repeat mistakes you corrected last week. A gardener reads what your team accepted on recent pull requests each week and proposes a lint rule or a sharper instruction when the evidence supports one.

Your coding agents need a gardener

The gardener opens each proposal as a PR with its evidence, and you decide whether it merges.

Read More →

Shepherd fixes the PR, its gate approves it

09 Oct 2026

Shepherd takes a pull request from opened to approved.

Its review loop runs in your coding agent, reviews the change, fixes what it can and repairs the build.

Its gate runs in CI and decides whether the result earns an approval.

A Lego shepherd with a wrench fights red bugs on a PR platform beside a board of passing unit tests, lint and security checks, then sends a green PR brick across a bridge to a CI platform, where a second figure marks it APPROVED in red

I give approval to a separate reviewer. You keep the decisions that need a person.

Read More →

Local decision models with AI SDK Ollama

01 Oct 2026

Ollama 0.35 runs decision models on your own computer. You give one a support ticket and a question like “which team should handle this?”, and it returns a percentage for each team instead of writing a reply.

ai-sdk-ollama 4.4.0 lets you call them from the AI SDK.

I ran 12 support tickets through the three new models and a small chat model on a MacBook Pro.

The decision models routed every clear ticket correctly.

On the tickets I wanted a person to check, two of the three models still sounded sure, and that changes how you set the rule that hands work to a human.

A support ticket goes to a decision model, which returns a percentage for each team. A rule checks the top percentage: 70% or higher routes the ticket to that team automatically; below 70% sends it to a person.

Read More →

One Folder, One Topic: Convention-Based Design for Docs

30 Sep 2026

Every company I have worked at has had the same documentation problem: teams need information they can find, share and trust.

At most of those companies, the answer has been Confluence, and the pages drift away from the code they describe.

At a payments client, we took a different approach. We created a convention: every repo keeps its docs in the same folder and carries the same GitHub topic. A small build discovers them, and Astro turns them into one site that engineers and AI agents can both read.

Five service repos in different languages, each with a docs folder, feed into one Engineering Docs site with a sidebar entry per repo and a search box across all repositories.

Read More →