Over the years of taking ideas from zero to production, I’ve noticed a pattern: the most successful systems are rarely the most complex. In fact, complexity is almost always technical debt in disguise.

Here are three mental models that have fundamentally altered how I build products.


1. Inversion: What Guarantees Failure?

Charlie Munger famously advised: “Invert, always invert.”

When starting a new product or technical architecture, instead of asking “How do we make this amazing?”, ask:

  • What would guarantee this product dies in 3 months?
  • What would make users abandon this tool on day 1?
  • What architectural choice would back us into an unmaintainable corner?

Once you list the failure modes, your job is simply to systematically eliminate them.


2. The 48-Hour Tracer Bullet

Rather than spending three weeks crafting an elaborate database schema and design system, build a tracer bullet:

  • A single, end-to-end slice of functionality.
  • One button, one API call, one visible result.
  • Proves the core value proposition in reality, not theory.

💡 Builder’s Law
”A flawed prototype in production teaches you 100x more than a flawless diagram in Figma.”


3. The Reversibility Matrix

Jeff Bezos divides decisions into Type 1 (one-way doors, irreversible) and Type 2 (two-way doors, easily reversible).

Most technical decisions—CMS choices, UI tweaks, initial database schemas—are Type 2 doors. Treat them like tests. Move fast, ship, observe user behavior, and iterate. Save your slow, deliberate debates only for irreversible decisions like core data ownership and legal structures.