Debug Your Life: An Engineer's Guide to Decision Automation

By Marwin Zoepfel

Every systems engineer knows the chaos of an unoptimized codebase—bugs creep in, performance drags, and small issues compound into total system failure. The same happens in life: endless decisions sap your energy before you even tackle the big stuff. What if you could debug your daily routine like you debug software?

I've been there. For years, I burned through mental bandwidth on trivial choices: Digital or paper book? Respond to that email now or later? Scroll Instagram "just for a minute"? It left me exhausted, inconsistent, and far from peak output. The fix wasn't more willpower—it was automation.

I started treating my life like code, writing explicit rules to handle recurring decisions. This isn't theory; it's my operating system in action.


The Enemy: Decision Fatigue

Picture your brain as a CPU with limited cycles. Each day, you face hundreds of micro-decisions: What to wear? Coffee or tea? Check notifications or dive into deep work? These aren't harmless—they overload your processor. Research shows decision fatigue leads to poorer choices over time, like impulse buys or skipping workouts. By noon, your "RAM" is fried, and the important tasks? They suffer.

I used to wing it, relying on mood or context. The result? Inconsistency and regret. Now, I outsource these to pre-written algorithms—simple, unambiguous rules that run automatically. It's like installing guardrails on your behavior, freeing up cycles for what matters.

The Thesis: Replace Willpower with Code

Willpower is unreliable; it's like running a system on hope. Instead, build a personal constitution: a set of written rules that dictate actions in specific scenarios. These aren't vague mantras like "be productive." They're precise IF-THEN statements, documented in a notebook or app, reviewed weekly.

The beauty? Once coded, they execute without debate. No more hemming and hawing—just deterministic output. This turns messy human impulses into a clean, logical framework. It's Bare Metal Thinking at its core: stripping away the fluff to run on fundamentals.


The System in Action: Two of My Personal Algorithms

Theory is useless without execution. Here's how I apply this—straight from my rulebook. These aren't hypotheticals; they're live code I run daily.

Rule-System 1 (Simple): The Book-Buying Algorithm

Books are my fuel, but deciding format and source used to waste time. Now, it's automated:

  • IF the book is non-fiction (for deep study and notes), THEN always buy digital (Kindle or PDF) for easy highlighting and search.
  • ELSE IF it's fiction (for pure enjoyment), THEN borrow from the library or buy a used paperback—keeps costs low and shelves uncluttered.
  • ELSE (edge case, like a reference tome), evaluate storage needs and default to digital unless physical interaction is key.

This rule fires instantly. No debate, no buyer's remorse. Result: Faster acquisition, better retention, and a streamlined library.

Rule-System 2 (Complex): The Twitter (X) Protocol

Social media is a black hole if unchecked. My protocol turns it into a tool, not a trap:

  • Never open the app without intent: Must define purpose upfront (e.g., post update, reply to DM).
  • Set an external timer: Always 20 minutes max—use a kitchen timer, not the phone, to avoid overrides.
  • Exit on timer: No extensions; close immediately when it rings.
  • Weekly signal audit: Review followed accounts—unfollow any that add noise over value (e.g., if 80% of posts don't spark ideas, cut them).

This keeps engagement purposeful. It's not about quitting; it's about controlled input.

How to do it:

  • Choose a medium: Use a physical notebook, a notes app (like Notion or Obsidian), or a simple text file. I use a dedicated Obsidian page for easy edits and search.
  • Structure clearly: List each rule as an IF-THEN statement under a category (e.g., "Work," "Health," "Social Media"). Keep it scannable.
  • Keep it accessible: Store your rules where you can check them daily—on your phone, desk, or cloud. I glance at mine every morning to set the day's "codebase."
  • Version control: Date your rules and update them weekly. If a rule fails, note why and tweak it, just like patching software.

Example: My "Morning Routine" section in Obsidian has rules like, "IF it's a weekday, THEN start with 10 minutes of stretching before coffee." It's right there, non-negotiable, no mental overhead.

Without this step, your rules are just intentions—prone to bugs and crashes. Commit them to "storage" and make them real.


Error Handling: What Happens When a Rule is Broken?

No system is perfect—bugs happen. The key is robust error handling to prevent cascading failures. When I break a rule, I don't beat myself up; I trigger a predefined correction.

For example, in the Instagram Protocol: IF I exceed the 10-minute limit by more than 5 minutes, THEN delete the app from my home screen for 24 hours and log the breach in my journal. This creates friction for future slips and forces reflection: What triggered the override? Adjust the rule if needed.

Think of it as a feedback loop. Breaches aren't failures—they're data. Over time, this refines the system, making it antifragile. I've reduced social media waste by 70% this way, without relying on sheer grit.

Challenge: Write Your First Rule

You've seen my code—now build yours. Identify one friction point in your life: Maybe email overload, snack choices, or workout skips. Write a simple IF-THEN rule for it. Make it specific, document it, and test it this week.

Start small: "IF I get a non-urgent email after 6 PM, THEN archive it for tomorrow." Run it, log results, iterate.

This isn't just optimization—it's liberation. Code your life, and watch complexity melt away.

Stay sharp,
Marwin