Yos Riady software craftsman 🌱

A Practical Approach to Pet Projects

Pets

This post is largely inspired by a Hacker News thread and my own personal experiences with personal software projects.

Most of us have a pet project graveyard. It could be software where we spent considerable time coming up with the perfect name, created a Github repo, purchased a domain name, and saw partway through but never quite finished. The project may have began strong, but came to a halt because more pressing work came up; or because we simply lost interest. In the end, nothing gets launched. Have you experienced this?

Having unused domain names is a clear symptom of consistently failing to ship.

In this post, I’d like to outline the reasons why so many of us struggle with shipping and propose a practical approach to sustainably cultivate your pet projects.

Take my thoughts with a pinch of salt. I’m still figuring this out. This post aims to document my own learning process.

I believe pet projects fail to launch because of a lack of constraints. When there are no deadlines and nothing on the line, we lack the sense of urgency necessary to ship our projects out the door.

With no limits, there is no clear definition of done. Which features are part of the MVP when no launch date is in sight? Without rigid time constraints, we can go on working forever wondering whether we’ve finished. We end up refactoring and tweaking minor components here and there at our own leisure, without knowing whether or not we’re actually progressing. I believe this state is also endemic in ailing startups.

Okay, so how do we impose a constraint? One way I’ve found is by attending a hackathon.

A hackathon gives you a sense of urgency. You’re given 24 or 48 hours to ship something and present it to your peers. There’s a clear, non-negotiable deadline and real consequences should you fail to ship on time. It doesn’t matter that the deadline is arbitrary and the consequences aren’t that significant. What matters is there is a constraint on your project.

Having said this, I’ve attended some bad hackathons. Between the hidden business agendas, lack of sleep, and at times questionable judging, some hackathons today are a far cry from its roots. It’s also unfortunate that for most hackathon entries, development ends after the demo session. Wouldn’t it be great to have an alternative gathering for kickstarting, collaborating, and showcasing our pet projects? A hackering, perhaps?

Alternatively, applying for a competition, funding, or incubators with a set deadline can also kickstart this sense of urgency. Failing to ship at this stage has larger consequences than just a weekend project with no pressure and nothing to lose.

In reality, most of our pet projects don’t have a time constraint. Some of us spend months or even years planning and thinking about our great ideas without anything to show for it.

I think that ultimately, timing is key. We need to start defining clear boundaries for our projects to be able to sustainably work on and ship it out the door.

To sum up, here’s what I’ll be doing from now on:

  • Set a deadline, even if it’s arbitrary
  • Attend hackathons to kickstart my pet projects

Let me know what you think in the comments below!

Author

Yos is a software craftsman based in Singapore.

📬 Subscribe to my newsletter

Get notified of my latest articles by providing your email below.


Going Serverless book

Interested to find out more about serverless? Going Serverless teaches you how to build scalable applications with the Serverless framework and AWS Lambda. You'll learn how to design, develop, test, deploy, and secure Serverless applications from planning to production.

Learn More →