Tesler’s Law (Law of Conservation of Complexity)

You can’t eliminate complexity, only shift it between your system and users. Smartly relocate complexity to streamline your UX.

Definition

Tesler’s Law, also called the Law of Conservation of Complexity, says you can’t destroy inherent complexity, you can only shift it between the system and the user.

In practice, every feature or workflow harbors a baseline complexity. Your job as a builder is deciding where that complexity should live: in your code, your backend, your UI, or on the shoulders of your users.

Under the hood, this principle stems from cognitive load theory. Users have limited mental bandwidth, and dumping too much complexity onto them causes errors, frustration, and abandonment.

Mastering Tesler’s Law means intentionally relocating complexity: automating complex calculations server-side, offering smart defaults in the UI, or breaking tasks into digestible steps.

It’s fundamental because every digital product wrestles with complexity. How you distribute it determines usability, satisfaction, and ultimately, your conversion rates.

Real world example

Think about TurboTax. It hides the maze of tax rules and calculations behind a question-and-answer UI. You answer simple prompts, and the system manages the complexity under the hood, so you don’t have to be a CPA.

Real world example

In user onboarding flows, where first-time users need guidance but you can’t overwhelm them with every feature upfront.

On advanced settings pages, where power-user options exist, you can collapse or hide complex controls by default.

Within form-heavy workflows like checkout or application forms, where splitting a single massive form into multi-step wizards moves complexity from user memory into the UI itself.

What are the key benefits?

Everything you need to make smarter growth decisions, without the guesswork or wasted time.

Automate repetitive calculations or lookups server-side.

Use progressive disclosure to reveal advanced options only when users need them.

Offer smart defaults based on user data or common patterns.

What are the key benefits?

Everything you need to make smarter growth decisions, without the guesswork or wasted time.

Don’t dump every feature toggle and setting on the main page.

Don’t force users to memorize multi-step processes without in-UI guidance.

Don’t expect users to configure complex integrations without prebuilt connectors.

Frequently asked questions

Growth co-pilot turns your toughest product questions into clear, data-backed recommendations you can act on immediately.

How do I know which complexity to shift to the system?

Start by mapping your user journey and tagging high-dropoff steps. Those spots often reveal where cognitive load spikes. Automate or simplify those tasks first.

Can I ever remove complexity entirely?

No, there’s always inherent complexity in any meaningful feature set. Your goal is not elimination but strategic relocation to preserve usability.

How does Tesler’s Law differ from Hick’s Law?

Hick’s Law focuses on decision time increasing with more choices, while Tesler’s Law deals with total system complexity and where it resides (system vs. user).

When should I expose advanced settings in my UI?

Only after users master core tasks. Use progressive disclosure or conditional UI that expands when users demonstrate readiness or need.

What metrics track successful complexity shifts?

Monitor task completion rates, error rates, and time-on-task. If automation or simplification reduces errors and speeds workflows, you’ve shifted complexity effectively.

Stop Sweat Over Complexity

Every bit of complexity you shift the wrong way costs you conversions. Run your flows through the CrackGrowth diagnostic to pinpoint where you’re dumping complexity on your users.