Tradeoffs The Post-Mortem • Everyday Jeff

The System That Worked Until It Didn't

I built a hustle system so clean I stopped checking it — and that's exactly when the whole thing quietly fell apart.

What Was Supposed to Happen

The plan was genuinely good. I want to say that up front because it matters — this wasn't a half-baked idea I scrawled on a napkin at midnight. I spent a weekend on it. I had a color-coded time-block schedule, a simple rule for which hours went to the remote engineering job, which hours went to dashing, and a hard stop for everything so I could be a functional human being before 10 p.m. I'd been writing about keeping the hustle from swallowing the rest of your life long enough that I figured I actually knew how to do it. The system had three parts: protected morning hours for deep work, a midday DoorDash window when restaurant orders are fat and the roads are empty, and evenings that belonged to the family. Clean. Logical. Sustainable, I told myself, which is the word people use right before something becomes unsustainable.

I even built in buffer time. Thirty minutes between blocks so I wasn't sprinting from one thing to the next like a golden retriever who took on too many jobs. The whole architecture was designed around one idea: if the schedule holds, the energy holds. If the energy holds, nothing burns. I believed that completely. I told my wife about it like I was presenting a business case. She nodded the way she nods when she already knows how a story ends. I did not read the room.

On paper, it was the cleanest version of my week I'd ever designed. Every day's a hustle — but this time, I had a system for it. That was the confidence level. High. Embarrassingly high, in retrospect.

Know What Your Business Can Actually Spend

See the cash truly available after bills, payroll, taxes, and reserves before making your next move.

Learn more

What Actually Happened

Week one was fine. Week two was mostly fine. Somewhere in week three, a single DoorDash shift ran long because I took one more order than the window allowed — just one, it was on the way, it made sense in the moment — and that pushed into my engineering block, which pushed dinner later, which pushed the evening wind-down into the time I'd budgeted for sleep. I made up the sleep debt by skipping the morning buffer. Then the morning buffer being gone meant I was starting deep work already slightly behind, which meant I was distracted, which meant the work took longer, which meant I eyeballed the DoorDash window and thought, I'll just start a little early today.

You see where this goes. The system didn't collapse in a dramatic way. It dissolved. Each individual adjustment was reasonable. Each one made sense given the specific circumstances of that specific day. The problem was that the specific circumstances of every specific day are always slightly different from the plan, and I was treating each deviation as a one-time exception rather than as evidence that the plan had already stopped being the plan.

By week five, the schedule existed only as a document on my desktop. I'd open it occasionally, note that my actual day looked nothing like it, and close it again. I was running on coffee and improvisation the same as always, except now I also had the psychological weight of a system I knew I wasn't following. That part was new. That part was worse than just being unscheduled. The original chaos had no expectations attached to it. This chaos had a color-coded document it was failing to live up to.

The engineering work got done because it had hard deadlines. The dashing got done because it paid immediately. The buffer time, the wind-downs, the family evenings — those were the ones with no external enforcer, so those were the ones that got borrowed from, every single time, without ceremony.

Where It Turned

The exact moment was that first extended DoorDash shift in week three. Not because it was a big decision — it wasn't. It was a $7 order that was literally on my way back. The turn wasn't the decision itself. The turn was what I told myself about the decision afterward, which was: that doesn't count.

That's the mechanism. Not the slip. The reclassification of the slip as a non-event.

When I took that extra order, I didn't update the system. I didn't say, okay, the window needs to be longer, or I need a rule about not taking orders in the last fifteen minutes of a block. I just absorbed the deviation and kept moving. Which meant the system I was running in my head was now different from the system I had on paper, and I didn't know it yet, because it still felt like I was following the plan. I was following the spirit of the plan, I would have told you. I was being flexible. Flexibility is good.

The invisible part is that flexibility and drift look identical from the inside. Both feel like reasonable adaptation. The difference only shows up later, when you either have a system that evolved intentionally or a system that quietly stopped existing. I had the second one and thought I had the first one for about three weeks longer than I should have.

What I've come to think is that the system wasn't actually the schedule. The system was my willingness to treat the schedule as binding. Once I made one exception I didn't log, the schedule became advisory. Advisory systems don't hold. I've seen this enough — in side hustles, in the daily juggle of work and everything else — to know that "advisory" is just a polite word for "optional," and optional is just a slow way of saying "abandoned."

What Changes

I'm not rebuilding the schedule. The schedule was fine. What I'm changing is the rule about exceptions.

The new rule is simple: every deviation gets written down before I make it, not after. Not a big thing — a one-line note in a running doc. Extending dash window by 20 minutes, cutting evening buffer. That's it. The act of writing it down before doing it forces two things. One, I actually have to notice I'm making a choice instead of just drifting through it. Two, I build a real record of what the week actually looked like versus what it was supposed to look like, so I can stop lying to myself about how often I'm "mostly following the system."

The other change is that I'm killing the buffer time as a separate block. It sounds counterintuitive, but the buffer was the first thing I borrowed from because it felt like slack. Instead, I'm building the buffer directly into the blocks themselves — shorter dash window, shorter deep work window, with the time I was calling "buffer" just baked in as the real end time. You can't borrow from buffer time if the buffer time doesn't officially exist.

Neither of these is a revelation. They're boring mechanical fixes to a boring mechanical failure. That's the whole thing, honestly — it wasn't a mindset problem or a motivation problem. It was a design flaw I kept misreading as a discipline problem, which meant I kept applying the wrong fix. Told myself to try harder. Should have changed the structure instead.

The system still isn't pretty. But it needs to actually work, which means it needs to be honest about what I'll actually do when I'm tired and there's a $7 order on my way home. I'm not tired. I'm buffering. But the buffer has to be in the right place.