Open your notes app. Scroll down past the grocery list, the half-baked startup ideas, the "TODO: finish this" comments in three different repos. Somewhere in there is a side project you were excited about four months ago. You had a name for it. Maybe a domain. Definitely a README.
It's still there. Unfinished. Probably never getting finished.
You're not alone. The average developer has 4–7 side projects in progress at any given time, and most of them die in silence — not from failure, but from losing track. The project didn't stop being interesting. You just stopped knowing where it stood.
Why Todo Apps Don't Work for Side Projects
The instinct is to reach for a todo app. You've got one open right now. You know the type: Todoist, Things, Notion, a plain text file named ideas.md that hasn't been opened in six weeks.
Here's the problem: todo apps optimize for task completion, not project momentum. They're built around the assumption that if you can see what needs to be done, you'll do it. That works for recurring responsibilities — reply to email, schedule the meeting, pay the invoice. It doesn't work for creative, exploratory side projects.
Side projects aren't a list of tasks. They're a state of mind. "Build the auth flow" isn't a checkbox — it's an afternoon of context switching, decision-making, and often rabbit-holing into three things you didn't expect. You can't reduce that to a checkbox without losing the thing that makes it valuable.
The other problem: todo apps have no concept of time pressure or momentum. A task you added six months ago looks identical to one you added yesterday. There's no signal for "this is stalling." There's no mechanism for "you haven't touched this in 30 days." It just sits there, quietly rotting in your list, making you feel vaguely guilty every time you scroll past it.
The Project Manager Trap
Maybe you've graduated to an actual project management tool. Linear. GitHub Projects. Trello. A Notion database with custom properties and kanban views that took three evenings to set up.
These tools fail solo developers in a different way: they optimize for team coordination, not individual momentum.
When you're a team of one, you don't need sprint planning. You don't need velocity charts. You don't need standup templates. These tools add process overhead that was designed to solve coordination problems across 10+ engineers. For a solo builder, that overhead is just friction. More friction = less building.
The Notion trap is its own special circle of productivity hell. It's infinitely flexible, which means you'll spend more time designing your tracking system than using it. You'll build the perfect project database with status properties, priority fields, OKRs, and a roadmap view. You'll feel organized. You'll have shipped nothing.
What Actually Works: Build Streaks
The developers who consistently ship side projects don't use better todo apps. They use a different mechanism entirely: daily build streaks.
You've seen this in the wild. GitHub's contribution graph started as a minor feature and became one of the most powerful behavioral drivers in developer culture. Developers check it. Hiring managers check it. It creates social proof of consistency — and more importantly, it creates loss aversion. When you have 14 consecutive days of commits, you don't skip a day. Breaking the streak costs more psychologically than the effort of one small commit.
The same mechanic applies directly to side projects. A streak counter for your projects — not your commits, not your tasks, but your actual project activity — changes the question from "should I work on this today?" to "do I want to break my streak today?"
Loss aversion beats motivation every time. You won't always feel inspired. You'll almost always feel reluctant to break something you've built over 21 consecutive days.
The Problem with Streak Apps That Aren't Built for Developers
There are generic habit trackers that support streaks. Streaks.app, Habitica, Beeminder. They work for gym routines and language learning. They break down for software development because they can't connect to what you're actually building.
Logging "I worked on my project today" as a checkbox is better than nothing. It's not much better than nothing. It has no visibility into what you shipped, which project you touched, or whether your portfolio of side projects is alive or dying.
What developers need is a side project tracker that understands the software development context: GitHub commits as automatic activity, multiple projects with independent statuses, streaks at the project level and the portfolio level, and a way to make your progress legible to others.
Public Accountability Multiplies Streak Effectiveness
The second piece of what actually works is accountability — and specifically, public accountability.
Private streaks work. Public streaks work better. The "build in public" movement exists because people discovered this empirically: when other people can see your progress, you're more likely to make progress. Not because you're performing for an audience — most of the time nobody's watching. But the possibility that someone could see your last commit date changes behavior in a way that a private todo list never can.
Public accountability also creates a forcing function for clarity. When your project status is visible to others, "I'm working on it" isn't good enough. Either the project is alive (recent activity) or it's stalling (no activity in 30+ days). That binary pressure cuts through the self-deception that buries side projects. You can't tell yourself a project is "on pause" when the tracker says it's been stalling for 47 days.
How to Track Side Project Progress That Actually Sticks
Here's the framework that works, based on what developers who consistently ship have in common:
1. Track at the project level, not the task level
Stop making lists of what you need to do. Start tracking whether you touched the project today. One data point: did it move or did it sit still? That binary question — alive or stalling — is more honest and more actionable than any task list.
2. Connect tracking to what you already do
If tracking requires a separate action every day, you'll stop. The most sustainable systems connect to existing behavior. For developers, that means connecting to GitHub. Every push to a repo should auto-count as project activity. Manual logging should exist for days you code outside GitHub, but auto-tracking via webhook is the foundation.
3. Build a streak, then protect it
Start a streak. Any streak. Log activity for three days straight, and watch what happens to your motivation on day four. The streak itself becomes the momentum. At 7 days you'll feel it. At 21 days it's a habit. At 30 days you've shipped a meaningful chunk of a side project — guaranteed.
4. Make it public by default
The activation energy to share progress is the biggest drag on accountability. Remove it. Use a tool where your progress is public by default, so you never have to decide whether to post an update. The system makes you legible to the world automatically.
ForgeOS: Built for This Exact Problem
ForgeOS (forgeos-3.polsia.app) is a side project tracker built by developers who got tired of every other tool failing them. It implements exactly this framework.
- GitHub auto-tracking — Connect your repos via webhook. Every push auto-logs activity. Your streak builds without you thinking about it.
- Project status system — Alive, Stalling, Shipped. Not a task list. An honest snapshot of your portfolio.
- Developer build streak — A consecutive-day counter that lives on your dashboard and your public profile. Protect it or break it consciously.
- Public profiles by default — Your projects and streak are visible at
/u/yourusername. No configuration required. - Milestone celebrations — 7, 14, 21, 30, 60, 90 day milestones auto-detected. Shareable achievement cards so your streak becomes social proof.
The explore page shows what other developers are building right now. Seeing a developer with a 45-day streak next to a project with a "shipped" badge is the most effective motivation you'll find outside of shipping something yourself.
The Shift That Changes Everything
The goal isn't to track your side projects perfectly. The goal is to ship side projects faster by removing every friction point between you and daily progress.
Todo apps add friction (the list is never done). Project managers add friction (the process is heavier than the work). Generic habit trackers add friction (they don't understand your stack).
Build streaks reduce friction to zero. You worked today or you didn't. Your streak is intact or it's broken. That binary clarity — applied consistently over 30 days — produces more shipped side projects than any todo list you've ever maintained.
The graveyard of unfinished side projects is a solved problem. The solution isn't trying harder. It's changing the incentive structure so you stop letting projects die quietly and start building daily. Streaks do that. Public accountability does that. A tracker built for how developers actually work does that.
See also: How to Build in Public Without Burning Out — the sustainability framework that makes streaks work long-term.
Start your first streak — it's free forever. Your public profile goes live the moment you log your first project. After 7 days, you'll understand why the streak mechanic is the thing you've been missing.
Ready to stop letting projects die? ForgeOS takes 60 seconds to set up.
Start building for free →