Recently I launched Tau Reader which is a small RSS reader I’ve been working on for a few days (spread out over a couple weeks). This is the first time I’ve ever actually launched a side project and it’s been a surprising learning experience.
Like most devs I pretty much perpetually have side projects in various states. I like having side projects under construction because they’re a good way to learn. That’s precisely why I started Tau Reader in the first place. I was looking for an excuse to play around with Rails 5.
The thing I learned most with this though is the importance of doing something with the project. I can’t count how many projects I’ve worked on, gotten to a point of almost being launchable, and then just lost interest and walked away. To be fair to myself I never started most/any of those projects with the intention of launching them. But once I looked at Tau Reader and thought to myself “I wonder if anyone else in the world would use this?” I committed. It took an afternoon to setup the basic requirements for people to sign up for it and use it like I was. Add in another afternoon of getting it launched and dealing with SSL certs and that was that … it’s live.
When I’m working on a project I usually get lots of ideas for things I could add to it and enhancements I could make. I’ve gotten into the habit of logging those in whatever task manager I happened to be using at the time. In this case I used GitLab issues as that’s where the repo is hosted. Usually these ideas are logged and then, like the rest of the project, eventually abandoned. But once the decision to launch was made they weren’t just throw away ideas any more. They were real. Real features, real enhancements, real changes that would improve a real product.
Working on a project that is live to the world is different from working on one that only you will ever see. Even if you have no users or traffic the fact that it’s out there and is live makes it different.
I’ve always learned best by building something meaningful. Take a language, framework, or library I’ve never heard of before and an idea for a project and I can be up and running in no time. And building out that project, by adding real features to it, is the best way to learn it. And launching taking your side projects the last mile needed to launch them to the world is a great way to do that.