S
← All writing

Lessons From Shipping 12 Side Projects in 12 Months

One small project a month, shipped no matter what. Most flopped, two found real users, and all of them taught me something. Here's the scorecard.

SStalin K.4 min read
A laptop on a wooden table next to an open notebook, a coffee mug, and fresh flowers

Last year I set myself a simple rule: ship one small project every month. Not "work on" — ship. Put it on the internet with a URL, and tell at least one person about it.

Twelve months later, I have twelve projects, two of which people actually use, and a notebook full of lessons. Here are the ones worth sharing.

The scorecard

Month Project Outcome
1 Timezone meeting planner for nomads Still use it weekly
2 Café Wi-Fi speed log 40 contributors, then a spam attack
3 AI-generated packing lists Fun demo, nobody returned
4 Markdown-to-slides converter Replaced by a better existing tool
5 Personal link archive Quietly excellent, just for me
6 Visa-day counter My most popular project ever
7 Browser extension to hide like counts Rejected from the store twice
8 Recipe scaler Abandoned after the domain cost more than the idea
9 Tiny uptime monitor Runs on a $5 server, never breaks
10 Generative postcard art Pretty, pointless, loved making it
11 Changelog generator from commits Five GitHub stars, one very kind issue
12 This blog's redesign You're looking at it

Lesson 1: Constraints are a gift

A one-month deadline kills scope creep instantly. Every project had the same question on day one: what is the smallest version that's still useful? The answer was almost always "much smaller than I wanted."

The visa-day counter — my most popular project — is a single page with a date picker and a number. That's it. People love it because it's that simple.

Lesson 2: The boring projects win

The flashy ideas (AI packing lists, generative art) got the most excitement on launch day and the fewest returning users. The boring utilities — a counter, a planner, an uptime checker — quietly accumulated people who came back.

Solve a small, recurring annoyance. It's less exciting to announce and far more satisfying to maintain.

Lesson 3: Distribution is half the project

I used to think "if it's good, people will find it." They won't. The projects that found users were the ones I posted in the right niche community, wrote a short explanation for, and shared with people who had the exact problem.

This year, I'm budgeting a full week of every project just for telling people about it.

Lesson 4: Plan for abuse on day one

The café Wi-Fi log was going well until a bot found the submission form and filled it with thousands of casino links overnight. I had no rate limiting, no moderation queue, and no backups.

If your project accepts input from strangers, assume some of those strangers are robots with bad intentions.

Lesson 5: Some projects are just for you

The personal link archive has exactly one user. It's also one of the most valuable things I've built, because I use it every single day. Not everything needs an audience to be worth making.

Lesson 6: AI changed the math

About halfway through the year, I started using AI coding tools seriously. Projects that would have taken me three weekends started taking one. That didn't make the projects better — but it meant I spent more of my month on the idea and the users and less on wiring up forms.

Would I do it again?

Absolutely, but differently. This year it's six projects, two months each, with the second month devoted entirely to users and distribution. Fewer launches, more follow-through.

If you've been sitting on an idea, here's my unsolicited advice: give it a month and a URL. The worst case is you learn something. The best case is someone emails you to say thanks.

Keep reading