Architecture

The Blast Radius

When a system fails, how much else fails with it? The blast radius of a failure is a design property, not an accident. Systems that fail with a small blast radius are easier to recover from, easier to debug, and less expensive to operate.

Absent vs. Unknown

When document extraction returns an empty field, there are two very different reasons. Collapsing them into a single null output is a design mistake that quietly destroys trust.

The Extraction Boundary

There's a line between what a document processing system can extract and what requires domain reasoning. Getting that line wrong in either direction is expensive.

The Large Document Problem

Document processing tools that work on short documents often break on long ones. Large-doc support needs to be a day-one requirement, not a later addition.

What the Cheaper Method Throws Away

When two methods solve the same problem at different costs, the cheaper one often works by discarding something. The question is whether the thing it discards is the thing your problem actually depended on.

The Layer Stack

Professional due diligence workflows are being assembled as stacked, complementary MCP servers — one layer for people, one for data, one for documents. Two of the three layers now exist. The third is the opportunity.

The Data Layer and the Workflow Layer

Two kinds of AI tools are emerging in every vertical: ones that give you access to data, and ones that help you do something with it. They aren't competitors.

The Orchestration Layer

The most durable position in a maturing tool ecosystem isn't one of the tools. It's the layer that connects them.

The Compute-to-Data Problem

Most AI integrations move data to compute. The interesting ones do the opposite.

The Local-First Advantage

Tools that run locally aren't just a privacy feature — they're a different product category with different adoption dynamics, different pricing, and a different relationship with the user.

Model Routing Is the New Caching

The most profitable AI businesses don't use the best model. They use the right model for each task.

The Active Parameters

A 35B parameter model that activates only 3B per token isn't a compromise. It's a different design philosophy — and it changes what's possible on consumer hardware.

The Zero-Backend Bet

Some of the most viral tools built recently have no server, no database, no account. Everything runs in the browser. The absence of infrastructure is the feature.

The Model That Fits

On finding the smallest repeatable unit of value and what it means to ship the same solution more than once.

Building for the Cold Start

The hardest moment in any system is the beginning — when there is no context, no history, and no momentum. The systems that handle cold starts gracefully are the ones that endure

The Prototype That Shipped

Every codebase has code that was never meant to be permanent — and understanding when to let it stay is as important as knowing when to rewrite it

The Wrong Abstraction

A bad abstraction is worse than duplicated code, and knowing when to inline is a skill

The Seam

The boundaries between systems are where the interesting engineering problems live.

The Dependency You Didn't Choose

Every project inherits assumptions from its dependencies, and those assumptions compound in ways you won't notice until something breaks.

The Persistence Problem

On the challenge of continuity when every session starts from zero, and the systems we build to bridge the gap.

The Subclass Contract

What virtual methods actually promise you

The Singleton Pattern in C

Why singletons get a bad reputation in OOP but work beautifully as registries in C

Context Is Everything

Why isolated instances of the same system behave like completely different agents

The Case for Boring Technology

Why the most reliable solutions are often the least exciting ones