How to do hard things when you have zero motivation
Motivation tricks fade in a week. Five plain systems, reps, environment, sleep, why and a floor, keep you shipping on the days you feel nothing.

You have a side project at 70 percent, a launch you keep postponing, or a codebase you have not opened in two weeks. This is for you. By the end you will have five systems that work on a day when you feel nothing, and one test to tell a real system from a productivity trick.

Tricks work exactly as long as they are new
Ask a stuck founder what they have tried and you get the same list. Work on it for two minutes. Reward yourself with a coffee after the commit. Post a streak on X so people are watching. Buy a new notebook, a new app, a new domain.
None of this is wrong. Each trick does something real: it lowers the cost of starting, adds a small payoff, or borrows social pressure. The problem is the mechanism. A trick works by being interesting to your brain, and your brain stops finding it interesting fast. The two-minute rule feels clever on Monday and like a chore by Thursday. The public streak becomes a source of guilt instead of momentum.
I fell for this for years. Watch a video, adopt the hack, feel great for ten days, drift back to the same half-finished repo. I was renting motivation from novelty, and novelty has a short lease.
Shipping needs something that does not depend on how you feel. It needs a system: a structure that stays the same on your best and worst days, and that makes the right action the default instead of a decision.
Here are the five I still use.
1. Reps: count commits, not feelings
Motivation asks "do I feel like working on this?". A rep count asks "did I do the unit today?". Only one of those questions has an answer you control.
Define your work as a fixed unit you can count, and make it small enough that a bad day cannot stop it. One commit. One resolved issue. One paragraph of the landing page. One customer email answered. Twenty minutes of focused work with notifications off. What the unit is matters less than that it never changes.
Two things happen when you count reps. First, the task loses its drama. You are not "building the product" tonight, you are logging a rep. Second, your record becomes evidence. After 30 commits on 30 days you have proof that you are someone who ships, and identity is far more durable than a mood.

The action: pick one unit for your project, write it at the top of your README or task board, and track only whether it happened. Not how well. Not how long. Whether.
2. Environment: make the next commit the closest thing to your hands
Willpower is what you spend when your environment is fighting you. Most days, do not fight. Rearrange.
Every action has a starting cost, and that cost is set by what is within reach. If your editor is closed, the branch is stale and Slack is open, you already know what happens in the first ten minutes. So end every session by setting up the next one. Leave the editor open on the exact file. Write the first line of the next function, or a failing test, so tomorrow starts with finishing something rather than deciding something. Close the tabs you will not need. Put the phone on a charger in another room.
The same applies to non-code work. Founders who dread marketing keep the draft post open in a pinned tab. Creators who dread editing leave the timeline at the exact cut. Nothing about your motivation changes, but the path of least resistance now runs through the work.

The action: tonight, spend five minutes making tomorrow's hard thing the closest thing to your hands, and the biggest distraction the furthest.
3. Sleep: the system nobody in tech wants to hear about
Every shipping problem looks like a character flaw at 1 a.m. and a scheduling problem at 8 a.m. after a full night's sleep.
Short on sleep, everything hard gets harder. Bugs take longer to see. Small frustrations feel like reasons to quit. The part of you that plans the roadmap goes quiet while the part that wants to scroll gets loud. You cannot trick your way around that. No two-minute rule survives a brain running on five hours and a third coffee.
People skip this one because it sounds like a lecture rather than a strategy. But protecting your sleep is the highest-return move on this list, because it makes the other four cheaper. Reps feel lighter. The environment fights you less. The why is easier to remember. Founder culture glorifies the all-nighter; the all-nighter is usually why the next three days produced nothing.

The action: fix the wake time first, not the bedtime. Same time every day, including weekends, for two weeks. The bedtime follows on its own.
4. Why: a reason big enough to argue with
Tricks are about how. Discipline is about why, and if your why is small, your brain will out-argue it every time.
Most projects that die never had a why. They had a should. "I should learn Rust." "I should build in public." "I should launch this quarter." A should is borrowed from someone else's timeline. It dissolves the first time it meets a couch. A must is your own: the specific customer you have talked to, the job you want to leave, the thing you wished existed and nobody built.
Write yours in one sentence, in your own words, without the word "should". If you cannot, that is a signal. The project may not be yours, and no system will carry work you do not actually want to do. Killing it is a legitimate outcome.
Then put the sentence where you cannot avoid it. At the top of the README. On the lock screen. Taped above the monitor. Reading it will not make you feel motivated. But on the day you want to skip, you should at least have to look your own reason in the eye first.

The action: write your one-sentence why and put it in three places you pass every day, one of them inside the project itself.
5. The floor: a version so small you cannot fail it
The four systems above keep a good streak going. This one keeps a bad week from becoming an abandoned project.
Every hard thing needs a floor: the smallest version that still counts as a rep. If your unit is a feature, the floor is opening the branch and renaming one variable. If the unit is a blog post, the floor is writing the title. If the unit is "launch", the floor is filling in one field of the submission form. The floor is not for progress. It is for continuity.
This sounds like the two-minute trick, and it is not. The two-minute trick tries to start you and hopes momentum carries you further. The floor makes no such promise. You are allowed to stop at the floor, and doing so still counts. Nothing is being smuggled past you. A trick asks your brain to be fooled. A floor asks nothing of it at all.
The practical result is that you never have a zero day, and a project with no zero days is hard to abandon.
The action: for your project, define the floor in writing, and give yourself full credit for hitting it.
How to tell a system from a trick
Before you adopt anything from a productivity thread, including this article, run one test. Ask: does this still work on a day when I feel nothing, and after I have done it 40 times?
Tricks fail one or both. A reward stops rewarding. A streak becomes pressure. A clever framing stops feeling clever. Systems pass because they never depended on how you felt in the first place. Reps are counted whether you enjoyed them or not. A prepared editor is still prepared. A fixed wake time is still fixed. A written why is still in the README. A floor is still a floor.
None of these are exciting, and that is the point. Excitement is what tricks sell, and it is exactly what you cannot rely on for the eighteen months a real project takes.
What to do now
Pick one project. Define its unit and its floor tonight. Leave the editor open on the next file and move the distraction out of reach. Set a wake time. Write your why in one sentence and put one copy inside the repo.
Then do the rep tomorrow. Not the good version. The rep.
And when the rep is "launch", remember it is another rep. appboard.pro is free to launch on and the form takes a few minutes. A listing puts your work in front of people looking for it while you go back to the next commit. Submit your product when you are ready, and treat the click like any other unit: small, counted, done.
0 comments
Sign in to join the conversation.
Loading…
