Stack debt: the hidden cost of adding "just one more."

System Thinking8 min read

Every supplement you add to a protocol creates debt. Not financial debt—complexity debt. And like technical debt in software, it compounds faster than the benefits.

Complexity compounds faster than benefit.

The three types of stack debt

Interaction debt

Every new compound interacts with every existing compound. Add one supplement to a stack of five, and you've created five new potential interactions. Add another, and it's eleven. The interaction matrix grows quadratically while your ability to track it grows linearly at best.

Most interactions are benign. Some are synergistic. A few are antagonistic in ways that completely negate the benefit of one or both compounds. Iron and zinc compete for absorption. Calcium blocks magnesium and iron. High-dose vitamin C can interfere with copper status.

You don't notice interaction debt until results stall and you can't figure out why. The debug surface is too large.

Measurement debt

More supplements means more variables to track if you want to know what's actually working. Did your sleep improve because of the magnesium, the glycine, the reduction in evening caffeine, or the new mattress?

With a simple stack, you can isolate variables. With a complex stack, you're running an uncontrolled experiment with too many confounds to draw conclusions. You lose the ability to attribute outcomes to causes.

This isn't just an epistemological problem—it's a practical one. When you can't tell what's working, you can't optimize. You're stuck guessing.

Adherence debt

Every additional pill, timing constraint, or conditional rule taxes your compliance capacity. Humans have finite attention. A protocol with three supplements taken together once daily has near-perfect adherence potential. A protocol with eight supplements across four timing windows with various meal requirements will degrade over weeks.

The supplement you miss most often isn't the least important one—it's the one with the most inconvenient timing. Adherence debt forces trade-offs you didn't intend to make.

Keeping the system debuggable

A debuggable protocol is one where you can identify problems when they occur. This requires:

Minimal viable stacks

Start with the fewest supplements that address your highest-priority deficiencies or goals. Add only when you have clear evidence that something is missing, not because something might help.

One change at a time

When modifying a protocol, change one variable and observe for long enough to attribute effects. Two weeks minimum for most supplements. This is slow. It's also the only way to learn.

Clear removal criteria

Every supplement should have a hypothesis attached: "I'm taking X because I expect Y." If Y doesn't materialize within a reasonable timeframe, X gets cut. No indefinite trials. No "maybe it's helping subclinically."

Documented rationale

Write down why each supplement is in the stack. When you can't remember why you're taking something, that's a signal it probably shouldn't be there.

The sophistication trap

Large stacks feel sophisticated. They signal that you're taking this seriously, that you've done the research, that you're optimizing at a high level.

In practice, large stacks are usually the opposite: they're the result of accumulation without curation, addition without subtraction, hope without measurement.

The most sophisticated protocols are often the simplest—because simplicity is what remains after you've removed everything that isn't clearly earning its place.