A time-blocking system that stops letting you lie to yourself.
The four-week markdown file
There’s a file on my laptop that doesn’t exist yet.
It’s called loki-health-report.md. It has three sections: green, degraded and broken. The whole job is to open the file, type three headings, write one bullet under each, and commit it. Fifteen minutes of work, tops.
I have not done it for four weeks.
I know it’s been four weeks because my planning system told me. Last night’s daily plan had the block written out in full:
- [] 20:00 – 20:30 Loki report — open the file 📄 (4× CARRY — last chance this week)
Next to it, in my own handwriting from that morning, was a rule: “If skipped again tonight, mark as ‘drop this week’ in tomorrow’s daily — stop carrying a 4× block.”
I skipped it. Again.
Then I opened today’s plan and wrote the words I had promised myself I’d write: Drop it from the week.
This is, I think, the only reason the system works at all.
What most productivity systems hide
I’ve tried most of them. GTD. Bullet journaling. Todoist. Things. Notion databases with rollups and Kanban views and “this week” smart filters. I kept a to-do list for about a decade.
They all have the same structural failure mode: they hide how long a task has been sitting there.
When a task moves from Monday to Tuesday in a to-do app, nothing visible happens. The checkbox is still unchecked. The task is still “open.” Your list still looks like a reasonable amount of work. You feel, at worst, mildly behind.
But mild, extended, invisible avoidance is how real opportunities die.
A task that sits undone for four weeks isn’t a task anymore. It’s an aversion, and the aversion has a shape — it tells you something about what you’re afraid of, or what’s genuinely unimportant, or what you secretly disagree with yourself about. A to-do list with a four-week-old item just looks like a to-do list with one more item on it.
Most systems are built to make you feel organized. I wanted one that would make me feel honest.
The core mechanic: make the carry visible
The system I use now is time-blocking with one small, uncomfortable modification: a carry counter.
Every task has a target day. When a task doesn’t get done, it doesn’t just get “rolled forward.” It goes into the next week’s plan with a number next to it: carried 1×, 2×, 3×. In the weekly review, I write the carry count in the task line itself:
- [] 🔥 Loki API health report — open a .md file and write 3 sections (carried 3+ weeks)
- [] salpon.com — terms + privacy pages (carried since week-14; 4 weeks stale)
- [] IBKR/Nordest business account (carried since week-13; 5 weeks)
That’s a real snippet from last week. You cannot look at that list and feel organized. You look at that list and feel something closer to shame — which, it turns out, is more useful.
The counter has one job: make it impossible to pretend a task is “on my list” when the truth is it’s been on my list for five weeks, and I have no plan to do it. The moment it becomes countable, two things happen:
- You actually do the easy ones (the act of writing “4×” next to open a file and type three headings is a very effective inner alarm).
- You finally kill the ones that never belonged there.
Most of my carried tasks don’t survive three carries. They either get done or they get dropped — with a note about why they’re being dropped, which becomes its own lesson.
The shadow side is real. Carry counts sting. A high carry count means I’m avoiding something. But that’s the feature. Avoidance has to be seen before it can be decided about.
The skeleton underneath
The carry counter only works because it sits on top of a rigid planning skeleton. Without the skeleton, “I didn’t do it” is ambiguous; did I not get to it, or was it not really planned? The skeleton removes that ambiguity.
Four levels, each feeding the one below it:
Yearly. Vision and the two or three things that matter this year. Written once, glanced at monthly.
Monthly (e.g. 2026-04.md) . Two or three focus areas, the projects they map to, and the habits I want to defend. When April started, the focus was ship BusyPipe to live monitoring, keep TopTop steady, don’t break the Swedish streak.
Weekly (e.g. week-17.md) . The one that does the actual work. Each weekly file has two halves: a prologue with three priorities, hard commitments, carried items with their counts, and the rules that govern the week — and an epilogue written seven days later, reviewing what happened. The prologue is where the carry counter lives.
Daily (e.g. 2026-04-22.md) . A pre-committed schedule in 15–90 minute blocks, in plain markdown:
- [] 08:00 – 09:00 Communication Course — final pass + send-prep
- [] 09:00 – 09:30 class setup + breakfast
- [] 09:30 – 14:00 Swedish intensive (calendar, hard)
- [] 14:00 – 14:45 lunch + walk
- [] 15:00 – 16:30 Communication course — SEND
- [] 17:45 – 20:00 family evening (protected)
- [] 20:00 – 20:30 Loki report — open the file (4× CARRY)
At day’s end, every block gets marked: ✅ done or 🔴 failed. No “partial,” no “rescheduled,” no “kind of.” Binary.
This sounds harsh. It is harsh. But “partial” is what lets tasks live on a list for four weeks.
The rules that emerged
I didn’t design this system in one sitting. I started with time-blocking and ✅/🔴 tracking in August 2025. The rules came from patterns in the epilogues, week after week of the same tasks slipping for the same reasons.
These are the rules that survived eight months of weeks:
- Max three focused tasks per day. Not three things — I still have a dozen blocks on a typical day, including lunch and Swedish and family evenings. But only three of them are focused work that demands cognitive load. Any more and the fourth reliably becomes a 🔴.
- Morning blocks are sacred. 09:00–12:00 is deep work. No meetings, no admin, no “quick emails.” Violating this rule costs the rest of the day.
- Evening blocks are recovery — not deliverables. This rule took me six months to accept. I used to plan evening “bonus” work blocks that hit maybe 15% completion. Now evenings are for admin, reading, and family, and any work that happens is genuine surplus rather than scheduled guilt.
- Written report blocks start with touch. If a block says “ship a report,” the first physical action is to create the markdown file and type the section headings. I learned this from the Loki report. For three weeks, the block kept turning into “build more tooling instead of writing.” The rule is now literal: step one is touch name.md.
- One-shot attempts for time-sensitive blocks. Some blocks depend on a specific window (a morning call, a testing hour, a shipping deadline). If the window fails, the task drops from that week, it does not reschedule. This forces honest planning for next time.
- Weekends are zero scheduled knowledge work. Family, physical projects, recovery. When I break this rule, the following Monday reliably breaks.
Every rule here started as a 🔴 that kept happening. The system doesn’t give you the rules. It just makes it humiliating enough to ignore them that you eventually write your own.
What actually changes
The measurable change isn’t that I get more done. Some weeks I get more done, some less. The change is in what I’m doing.
I kill things faster. The marketing strategy document for my primary product sat on my plan for a month. Every week, I scheduled a block for it. Every week, the block got spent doing something else instead, usually building more tooling. In week-16, after two protected blocks and roughly nine hours burned, I wrote a rule: “permanent drop. The deliverable shape was wrong.” That was a real insight, and I only got to it because the system forced me to watch myself fail the same way five weeks in a row.
I notice when the plan is lying to me. On Wednesday, April 22, the week-17 plan had scheduled a gym slot at 11:00 and a deep work block. But my calendar had a Swedish class from 09:30–14:00 that I’d forgotten about. That contradiction made it into the morning notes — “this breaks the planned Wed shape; salpon.com AM block is GONE, gym 11:00 is GONE” — and I rescheduled instead of pretending. Without a written plan, there’s no contradiction to notice.
I can see my avoidance shape. My carried tasks clump. They are almost always: admin (opening business accounts), writing (Medium posts, reports), and publishing (LinkedIn posts, marketing comms). That is diagnostic information. I don’t procrastinate on building things. I procrastinate on being visible and on paperwork. That tells me more about myself than a decade of to-do lists did.
I stop pretending I’m going to get to it. The clearest experience of the system is the one that started this post: knowing, in advance, that I’m about to drop a task. The 4× Loki report line told me yesterday morning that tonight was the deadline and the drop was probable. When I skipped it, there was no surprise. There was only the calm, honest act of writing “drop this week” in today’s plan.
That’s not a productivity win. It’s a dignity win. It replaces the low-grade guilt of an open list with the clean decision of closure.
How to start tomorrow
If you want to try it, don’t adopt the whole thing. Adopt three things:
- Pick a file format, any file format — but one file per week and one per day. Mine is Obsidian markdown, because the files are plain text and will still be readable in 20 years. Notion, a physical notebook, Apple Notes — anything that forces weekly and daily artifacts. Not an app with a smart-filter view. You need files, not queries.
- Time-block the day, the night before or the morning of. Every block gets a start and end time. Every block gets marked ✅ or 🔴 when it ends. No third option.
- At the end of the week, carry unfinished tasks into next week’s plan with a carry count. Increment it every week. When a task reaches 3×, it must either get done or get dropped with a written reason. No task is allowed to live at 4× or above.
That’s it. That’s the whole system. It doesn’t require an app, a subscription, or a methodology. It requires a text file, two symbols, and the willingness to let a number next to a task tell you the truth about what you’re doing.
The file that doesn’t exist yet is still on my laptop. It’s called loki-health-report.md. Today it got dropped. Next week it will not be on my list — because this morning, before anyone else was awake, I wrote the word “drop” in a markdown file, and the number next to it stopped going up.
That is what a productivity system is for.
If you run something similar, or something better, I’d love to hear how you handle the carry. Writing about it is, in itself, one of the items that kept getting carried on my list. This post is a 3× that finally shipped.
Comments