Decision matrices look simple on paper: alternatives, criteria, weights and scores. Turning that method into a conversational product exposed a more interesting challenge—helping people make assumptions explicit without making the process feel bureaucratic.
The method was not the product
The calculation is straightforward. Multiply each score by its criterion weight, sum the results and rank the alternatives. A spreadsheet can already do that. The product value lies in guiding users toward a matrix worth calculating.
People often begin with alternatives at different levels of detail, criteria that overlap and weights that express aspiration rather than actual priority. The app needs to notice these weaknesses, ask useful questions and still let the user remain in control.
- Normalize alternatives without erasing meaningful differences.
- Separate criteria that measure distinct concerns.
- Explain what a weight changes in the result.
- Preserve uncertainty instead of manufacturing precision.
Conversation gathers; the matrix stabilizes
We use the conversation to collect context and refine language. As soon as an element becomes part of the decision model, it moves into structured state. Each alternative and criterion receives an identifier; weights and scores are validated; totals are calculated deterministically.
The widget becomes the shared object between user and model. A user can change a value directly. ChatGPT can propose a revision. Both operate on the same explicit matrix, preventing the conversation from drifting away from the displayed result.
- Stable identifiers across conversational turns.
- Deterministic calculations outside model prose.
- Structured tool results for rendering.
- A concise textual summary for continued discussion.
Designing for disagreement
A ranking is not the end of a decision. Often the useful moment is discovering that two options are close, that one criterion dominates or that a small change reverses the result. The interface therefore needs to reveal sensitivity rather than only celebrate a winner.
We treat scores as claims that can be inspected. The user should be able to ask why an option received a value, change it and see the impact immediately. This turns the matrix from an answer machine into a thinking instrument.
- Show weighted contributions, not only totals.
- Highlight close outcomes and dominant criteria.
- Keep edits reversible.
- Use explanations to surface disagreement productively.
What we learned
The strongest pattern was the separation of responsibilities. The model is good at eliciting context, spotting ambiguity and explaining trade-offs. Code is good at validation and arithmetic. The interface is good at comparison and precise editing.
Trying to make any one layer do all three jobs produced a weaker experience. The final architecture is valuable beyond decision matrices: it applies to budgets, simulations and other workflows where conversation needs a reliable working object.
The takeawayA useful AI product does not replace a method with conversation. It uses conversation to make the method easier to understand, complete and challenge.