The code got cheap. Your attention did not.
Two years ago, if you had an idea on a Tuesday night, the gap between the idea and a working thing was a weekend at minimum, and usually a month. That gap did the filtering for you. Most bad ideas died in the gap, because you could not be bothered.
The gap is mostly gone. You describe the thing, a model writes it, and by midnight there is something running on localhost. That is genuinely wonderful, and it broke something.
What actually got harder
The bottleneck moved. It used to be typing. Now it is these two:
Choosing. When building anything costs an evening, everything looks worth building. I have started four projects in a month that I would never have started in 2023, and not one of them was better than the thing I abandoned to start it.
Finishing. A project that took a month to build has a month of sunk cost keeping you at the desk. A project that took four hours has four hours. The thing that gets you from a working prototype to something people use is the same as it always was, and models help with it much less than they help with the first 80 percent.
So the scarce resource is no longer skill or time. It is a decision, held for longer than a week.
Streaks are not a productivity hack
I am suspicious of streak mechanics generally. Most of them are a manipulation: a number that goes up so you keep opening an app, with nothing underneath it.
A commit streak is different because it is not a made-up number. It is a record of days you actually shipped something, kept by a system you cannot lie to. You cannot backfill it with good intentions. When it looks bad, it is because the week was bad.
That turns out to be worth having in your face, for a reason that has nothing to do with gamification: it is the only feedback loop in solo building that runs daily. Revenue is monthly at best. Users are lumpy. Whether you did the work today is knowable today.
What I put on my own screen
Three things, all on the new tab, because that is the page I open most:
- The wall. A year of contributions across GitHub and Bitbucket as one graph. Not per account, because my work is not organised the way my accounts are.
- Two or three current goals. Written as sentences, not tasks. They are there to answer "is what I am about to do one of these" and nothing else.
- Pipeline status. Quiet when everything passes, loud when something is in flight or broken. If I have to go looking for it, I will not look.
Then, because a browser tab is easy to close, the same streak sits on my phone's lock screen. I also open the app when I start work, which shuts the notifications up until I stop. It sounds slight until you have glanced at a locked phone at four in the afternoon and seen today still dark.
The uncomfortable part
None of this makes you pick the right thing to build. There is no widget for that.
What it does is make the gap between what you said you were doing and what you actually did visible every single day, on a page you open fifty times. In a period where starting is free, that gap is the whole game.
Ship something today. It does not matter who typed it.
