Engineering notes on AI, SaaS platforms and building software that ships.
Written from what we run in production across our own products and our clients'. For the long-form pieces, see Insights.
Multi-Tenant RAG: Stop One Tenant's Documents Leaking Into Another's
In a shared retrieval system, the worst bug is a correct answer built from the wrong customer's file. Where tenant leaks hide and how to test for them.
Read it →Insurance Claims Software: Queues, Evidence and Moving Reserves
A claim is not a ticket. It carries money that changes, evidence that must be kept, and deadlines set by regulators. Where generic workflow tools fall short.
What SOC 2 and HIPAA Add to a Build: Time, Cost, Architecture
Compliance is mostly decisions you make in the first month of the build. What these two frameworks actually require, and which parts you can defer.
Trials, Downgrades and Dunning: The Billing States Apps Skip
Most billing code models paid and unpaid. Real subscriptions pass through a dozen states, and the missing ones are where support tickets come from.
Model Upgrades Break Prompts: Build the Regression Suite First
Changing a model version is a code change that no unit test covers. Here is how to build the suite that catches it before your customers do.
Which AI Features Should Run Overnight: The Case for Batch Inference
Not every AI feature needs an answer in two seconds. Moving the right ones to batch jobs can cut cost and smooth load. Here is how to pick them.
Fitness and Studio Booking: Capacity, No-Shows and Recurring Billing
Class booking looks like a calendar problem. It is really capacity, waitlists, late cancels and memberships that bill on a schedule. Here is what breaks.
Budgeting an AI Feature: Why an Honest Quote Is a Range
A fixed price for an AI feature before anyone has seen your data is a guess. Here is what widens the range and how to narrow it cheaply.
Noisy Neighbors in Background Jobs: Fair Queues for Multi-Tenant SaaS
One tenant imports 400,000 rows and every other tenant waits. How to keep a shared job queue fair without building a queue per customer.
Making Agent Retries Safe After the Tool Already Sent the Email
An agent that retries a timed-out tool call can send the email twice. Here is how to make side effects safe to repeat, and when not to bother.
How to Build Webhooks That Survive Retries and Replay
Webhooks look simple until duplicates, out-of-order events, and dropped deliveries start corrupting production data.
What Your Agent Should Remember, Recompute, or Forget
A practical rule for deciding what an AI agent should keep as fact, what it should recompute, and what it should let go.