UX

Reducing Decision Fatigue in a Complex Product

A strategic approach for keeping feature-heavy products usable as they keep growing, using questions instead of more UI.

Complexity map

The accumulated surface of a mature product — features, toggles, and edge cases added release after release, plotted against how much of it any single user actually needs.

Decision points

The moments in a flow identified as the right place to ask, rather than assume — where a short question determines what the user needs to see next.

Anticipatory forms

Lightweight prompts placed at those decision points, designed to capture intent in one or two questions instead of exposing every option up front.

Adaptive disclosure

The same core screen reconfigured based on the answers collected, surfacing only the relevant path while keeping full depth available for users who need it.

Challenge

Feature-heavy products pile up complexity — every new capability adds another option, another toggle, another edge case — but the interface still made every user work through the full surface no matter what their task actually needed. Growth in features was turning into growth in friction.

Process

Instead of bolting each new feature onto an already dense surface, the work mapped the natural decision points already in the user's flow — finding what a short, well-placed question could settle before the interface had to show anything at all.

Research

Across usage patterns, the same finding kept repeating: most of a complex product's surface is irrelevant to any one user in any one session. The cost wasn't the complexity itself — it was showing all of it regardless of relevance, and making every user filter it by hand.

Design

Anticipatory forms sit at the moments where intent is genuinely ambiguous — one or two questions, asked once, that decide which path and which options the interface shows next. The product's full depth stays reachable, but it's no longer the default view for someone who doesn't need it.

Outcome

New features could keep shipping without piling onto what any one user had to deal with. Tasks got faster to finish, onboarding needed less explanation, and power users kept full access to the complexity through an explicit path instead of losing it in the simplification.