/~learn/s/41fd915d--- name: Inversion Exercise description: Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?" when_to_use: when stuck on unquestioned assumptions or feeling forced into "the only way" to do something version: 1.1.0 ---
Flip every assumption and see what still works. Sometimes the opposite reveals the truth.
Core principle: Inversion exposes hidden assumptions and alternative approaches.
| Normal Assumption | Inverted | What It Reveals |
| ------------------- | ---------- | ----------------- |
| Cache to reduce latency | Add latency to enable caching | Debouncing patterns |
| Pull data when needed | Push data before needed | Prefetching, eager loading |
| Handle errors when occur | Make errors impossible | Type systems, contracts |
| Build features users want | Remove features users don't need | Simplicity >> addition |
| Optimize for common case | Optimize for worst case | Resilience patterns |
Problem: Users complain app is slow
Normal approach: Make everything faster (caching, optimization, CDN)
Inverted: Make things intentionally slower in some places
Insight: Strategic slowness can improve UX