Here's a scene you might know.
It's 8:40 PM. Dinner is done. You open your laptop to finally work on your side project, and you read the same function three times without understanding it. So you check one tab. Then another. At 10:15 you close the laptop, tired and a little annoyed at yourself.
Nothing is wrong with you. You spent the whole day using your brain for your job, and now you want to use the same brain again. Most side project advice pretends you have a spare one in a drawer. "Wake up at 5 AM." "Grind every night." Sure.
This post goes the other way. Smaller steps, slower pace, and something you can still be doing six months from now. Some of it won't fit your life exactly, and that's fine. Take what works, skip what doesn't, and feel free to disagree with me. 😄
Reading time: about 10 minutes
In this post- Count the Hours You Really Have
- Pick One Project. Really, Just One.
- Make the Weekly Goal Almost Embarrassingly Small
- Cut Big Tasks Until They Fit One Evening
- Build a Routine That Survives a Bad Week
- Your Energy Matters More Than Your Hours
- Make Distractions Annoying to Reach
- When the Excitement Wears Off
- When Progress Feels Painfully Slow
- Don't Let It Eat the Rest of Your Life
- A Simple Plan for This Week
- Quick Reference
Count the Hours You Really Have
Most of us guess. "I'll code every evening" sounds great on Sunday and falls apart by Wednesday.
So try this once. Take a normal week and mark the hours that are truly free. Not the ones you'd like to have. Subtract the commute, cooking, chores, the family time you don't want to cut, and the evenings when your brain is already done.
For a lot of people with a full-time job, the honest answer looks something like this:
- Three short sessions on weekdays, about 45 to 60 minutes each
- One longer session on the weekend, maybe two or three hours
That's roughly 5 to 8 hours a week. It sounds tiny. It isn't. Plenty of real projects have been built in "tiny" hours, as long as nobody wastes them deciding what to do.
Plan for the number you actually have. A plan for the life you wish you had is just a nice document.
Pick One Project. Really, Just One.
This is where most side projects quietly die.
You start an app. Two weeks later, you get a better idea, so you start that one too. Now you have a folder with five repos, and none of them can be shown to another human being.
When your time is limited, splitting it is the fastest way to finish nothing. So pick one. A few questions can help you choose:
- Would you still care about this in three months?
- Can you get a first rough version done in weeks, not years?
- Will you learn something you want to learn anyway?
The other ideas aren't dead. Put them in a notes file called later.md and leave them there. When the current project is done, or when you stop it on purpose, you can open that file and pick the next one.
Make the Weekly Goal Almost Embarrassingly Small
"Build the app" is not a goal. It's a mountain, and your brain knows it. That's why you feel resistance before you even sit down.
A weekly goal should fit in your real hours with some room left over. Something like:
- Set up the project and get a login page showing on screen
- Build the form that saves a new entry
- Fix the three annoying bugs and put it online
Pick one or two. Write them where you'll see them. On Sunday, look at what got done and choose the next ones.
Here's the part nobody likes to hear: estimate how long it will take, then double it. Seriously. Small things grow, especially when you're tired. If the goal still feels good at twice the time, keep it. If not, make it smaller. 😅
Also decide what "done" means before you start. "Learn React" never ends. "Build a to-do page with add, delete, and a saved list" does.
Copy-paste weekly goal template## Week of <date> **Goal 1:** small enough to finish in one or two sessions **Goal 2:** optional **Done means:** one sentence **Next step:** one line ## Later - idea - another idea Cut Big Tasks Until They Fit One Evening
A good rule: every task on your list should be finishable in one sitting. If it can't, it's still too big.
Say your task is "Add user accounts." That could swallow a month. Slice it:
- Create the users table
- Build the sign-up form
- Save the new user
- Build the login form
- Check the password and start a session
- Lock the pages that need a login
Now each piece is an evening. You never have to wonder what to do next, and that matters a lot when you only have an hour.
One small habit helps more than it should. Before you stop for the day, write one line about what comes next. Something like this:
NEXT: connect the login form to the API STUCK ON: session cookie not saving Tomorrow you skip the "where was I?" fog and just start.
Build a Routine That Survives a Bad Week
Motivation comes and goes. A routine doesn't need it. It just needs a time and a place.
Here are two schedules you can steal and bend:
| Morning people | Evening people | |
|---|---|---|
| Weekdays | Mon, Wed, Fri: 6:30 to 7:30 AM | Tue, Thu: 8:30 to 9:30 PM, after dinner has settled |
| Weekend | Sat: 9:00 to 11:30 AM | Sun: 2:00 to 4:30 PM |
| Everything else | Not project time | Not project time |
These times are examples. Shift them to fit your own days.
Look at how much empty space is in there. That's on purpose. Rest days are part of the plan. Three or four sessions that actually happen beat seven that live only in your head.
Tip: make starting easy. Leave the editor open to the right file, keep your next step written down, and keep the setup friction low. The harder it is to begin, the more likely you'll skip it. Some days the hardest part of the whole project is opening the laptop.
Your Energy Matters More Than Your Hours
Two free hours don't help if your head is empty. After a day of coding, your brain can be as tired as your legs after a long walk. A few things that make this easier:
Eat, take a short walk, sit somewhere without a screen for 20 minutes. Jumping straight from the work laptop to the project laptop rarely goes well. ☕
The cheat sheet below shows how.
On a bad night, promise yourself 20 minutes. If you keep going, great. If not, you still showed up, and the habit stays alive.
| Your energy | Good project tasks |
|---|---|
| Sharp | Design choices, weird bugs, anything that needs real thinking |
| Okay | Building features you already planned, writing tests |
| Tired | Renaming things, writing the README, testing what you built, tidying code |
No row here is "better". The goal is a task that fits the brain you have tonight.
And sometimes the right move is to skip the session and go to bed. That's not failing. Code written at 1 AM usually gets rewritten the next day anyway. 😴
Make Distractions Annoying to Reach
Don't fight distractions during the session. Set things up before you sit down, because willpower runs out fast.
- Put the phone in another room, or at least on Do Not Disturb
- Close work chat, email, and every tab that isn't for this project
- Know your task before you start, so you don't wander into "research" that lasts the whole hour
Watch out for one sneaky trap: endless setup. Choosing the perfect stack, the perfect folder structure, or the perfect task app can eat a full week and produce zero features. Use tools you already know. Boring is good here.
And when a shiny new idea shows up mid-session, write it in later.md and get back to work. It will still be shiny tomorrow.
When the Excitement Wears Off
At the start, everything is fun. Around the middle, it gets boring. That's normal, and it happens to nearly every project.
A few things that help:
- Keep a short "done" list. Even one line per week. On days when you feel stuck, reading it reminds you that you're moving.
- Get something working early. A rough version that does one thing is far more exciting than a perfect plan.
- Show it to one person. A friend, a coworker, an online group. You don't need an audience. You need one person who says "oh nice, what's next?"
- Remember why you started. Learning something? Building a tool you want? Maybe earning a bit on the side? Keep that reason where you can see it.
If you've truly stopped caring, be honest with yourself. Is the idea still worth it? Dropping a project on purpose is very different from letting it fade away and feeling guilty every time you see the folder. Both are allowed. The first one just feels a lot better. 🙂
When Progress Feels Painfully Slow
It will. You might spend a whole evening on one bug and close the laptop wondering what you even did. That's what working in small pieces feels like.
Some thoughts for those nights:
- Five hours a week still adds up. It just doesn't feel like it day by day.
- Don't compare yourself with people who seem to ship something new every Friday. You don't know their hours, their team, or what they leave out of the story.
- Shrink the first version. Cut features until it's small enough to finish. You can always add more after someone actually uses it.
- Once a month, open the project and compare it with how it looked four weeks ago. The gap is usually bigger than it feels.
Don't Let It Eat the Rest of Your Life
A side project should be something you chose. When it starts feeling like a second job with no salary and no days off, something has to change.
Warning signs worth taking seriously
- You dread opening the project
- You feel annoyed when someone invites you out
- You're trading sleep for coding hours
You're tired all the time, even on days off
Limits that keep things healthy
Keep at least one full day a week with zero project work
Don't pay for coding hours with sleep. Ever.
Protect your meals, your exercise, and the people you care about
Don't code during family time or plans you already made
If you notice two or three of those warning signs, ease off. Cut the weekly goal in half, take a week away, or pause the project completely for a while. The code will wait. It's patient like that.
Caution: every single commitment can look small and reasonable on its own. A little extra here, a quick favor there, a new goal because you suddenly feel good after one great night of sleep. Add them up and you're out of energy. So if you want to sprint, give the sprint a clear finish line and plan some rest after it.
A Simple Plan for This Week
If you want somewhere to start, here's the whole thing:
- Pick one project and write its name at the top of a notes file
- Count your real free hours for the next seven days
- Choose two small goals that fit those hours (then ask if they'd still fit at double the time)
- Put three sessions in your calendar like real appointments
- At the end of each session, write down the very next step
That's it. No perfect system. Just a small start you can repeat.
Quick Reference
Bookmark this part for the nights when everything feels too big.
| If this happens | Try this |
|---|---|
| You never find time | Count your real free hours, then plan for those |
| Too many ideas | Pick one project and park the rest in later.md |
| The goal feels huge | Shrink it, then double the time estimate |
| The task feels huge | Cut it until it fits one session |
| You keep skipping sessions | Fixed times, a ready editor, and a written next step |
| Your brain is fried | Take a gap, then do an easy task or a 20-minute version |
| You keep getting distracted | Phone away, tabs closed, task decided before you start |
| Motivation drops | Keep a "done" list and show it to one person |
| Progress feels slow | Compare with last month, not with other people |
| You feel burned out | Halve the goals, rest, and pause if you have to |
Last Thing
Working on a side project next to a full-time job isn't about hustling harder than everyone else. It's about keeping the goals small, protecting your rest, and showing up often enough that the work piles up quietly.
Some weeks will go well. Some won't. Both count. 🐞
If this helped, send it to a developer friend with a half-finished project sitting in a folder. They might need the nudge.
Now go close a tab or two. You've earned it. 🙌


