← All writing
Engineering

How to Design a Product Around a Model

Product design when the model is the core mechanism: shape the workflow around what it does reliably, design for non-deterministic output, and build the recovery paths.

There is a difference between a product with AI bolted on and a product where the model is the mechanism. The first adds a chat box to something that already worked. The second is shaped, end to end, around what the model can actually do. The two look similar in a screenshot and behave nothing alike.

Designing the second kind is its own discipline. The model is not a feature you call when convenient. It is the engine the whole workflow sits on, which means the design has to account for what it is reliably good at, the fact that its output is non-deterministic, and what happens when it is wrong. Here is how that changes the work.

Shape the workflow around what the model does reliably

The first job is honest scoping. A model is excellent at some things, mediocre at others, and quietly unreliable at a few that look easy. The product should lean hard on the reliable parts and route the rest somewhere safer, instead of pretending the model is uniformly good and letting users find the soft spots.

That means the workflow design starts from the model's actual shape, not from a feature wishlist. Find the tasks where it is dependably strong and build the core experience there. Where it is weak, either keep a human in the loop or do not promise it at all. An AI-native product is designed around the model's real contour, not an idealized one.

Design the interface for non-deterministic output

Traditional UI assumes the same input gives the same output. Models break that assumption. The same request can return different results, and sometimes a wrong one that looks exactly as confident as a right one. The interface has to be built for that reality instead of fighting it.

In practice that means showing the user enough to judge the output rather than just handing them an answer to trust blindly. Make it easy to see what the model used, easy to correct it, and easy to try again. The design should treat the first output as a draft the user can shape, not a verdict, because non-deterministic systems need a human who can steer.

Build the recovery paths first

The failure case is not an edge case in an AI-native product. It is a main path, because the model will be wrong often enough that recovery is part of the core experience, not a corner you patch later. Design the "it got this wrong" flow with the same care as the happy path.

That means an obvious way to reject or edit a result, a way to give the model the correction so it does better on the next pass, and a clear floor below which it hands off to a human rather than guessing. A product that only feels good when the model is right is fragile. One that stays usable when the model is wrong is the one people keep.

Where AI-native products are actually designed

Notice that none of this is about the model itself. It is about the workflow shaped to its strengths, the interface built for its variance, and the recovery paths built for its mistakes. That is where AI-native products are actually designed: in the structure around the model, not the model.

That is the thesis behind ServoAgent and the rest of what I build. The model is the engine. The product is everything you put around it so the engine is safe, useful, and honest about what it can do. Design that layer well and the model finally has something worth sitting inside.