Building a small, open-source product: how it happened

How I built a usable product through curiosity and iteration

Ivo Valchev
Product Coalition

--

This December 2020, in the space of a little over a couple of weeks, I built a small open-source application. tinybreak.online is a tab in your browser that reminds you to take regular 20-second breaks, every 20 minutes. It helps ease the strain on your eyes from looking at the monitor for hours.

In this story, I’ll share the exciting journey that led me to build tinybreak.online, and show you a way to find your own unique way forward.

A lot of people in the development community, yourself included I am sure, have a passion to build their own little tools. That can be automating a tiresome task, building your own website, or releasing a fully fledged product. In any event, those side projects all have a common pitfall: rarely if ever developers complete their own side projects.

App idea: be a user of your own product

At first, it’s tempting to google for “side project ideas”, like I had been doing over a period of several months. That is a good way to see what other people are passionate about building. It is a great way to get an understanding of the size and scope of most side projects out there. However, don’t just grab one of those ideas and jump to building.

Instead, think of something you’d be passionate about building and benefiting from as a user. Be a user of your own product, this will give you the motivation to keep going, and also an insight into the actual problem that people want solved. Don’t forget: people don’t use your product, they take the painkiller to the problem they have.

Example: So, for me, my eyes were getting tired after spending hours in front of the monitor. I knew it was a good idea to take small rests to reduce eye strain, but in the midst of focused work I could never get myself around doing it. That was the problem.

I didn’t need an app, what I needed was a solution to reliably and easily make it so that my eyes get less tired. So, for example, if I knew how to set up an alarm on my phone to send me those reminders, with as little setup effort and distraction to colleagues as possible, I wouldn’t ever have built TinyBreak.online. The app itself is a means to an end, that’s it.

One evening, though, I found myself out of good series to watch on Netflix, and was in full-steam creative mode. What did I do with that free time and inspiration? I Googled for solutions to reduce eye strain (oh, the irony!) and found those nice little websites that send you notifications to remind you to take pauses from starring at the monitor. The problem was, most of them were ancient, they had difficult to remember domain names and URLs, and were full of irrelevant noisy content. Being in that creativity mood, I thought cool, let’s start a side project! And start a side project I did.

Start building, start iterating

The great thing about side projects and small apps is that they are so easy to build. It took around 3 hours that same evening to build an MVP (minimum viable product) that was as bare bones as possible: it was a countdown with repeating 20-minute-20-second cycles, sending a notification when a cycle ends. I put it online that same evening and went to bed determined to use it at work the next day.

That next day at work was awesome: I impatiently waited for the first notification from TinyBreak.online to arrive, not so much to get the strain off my eyes. I was excited to be using the new app, to see it in action! The first notification came at 9:20, followed by the “Get to work!” alert 20 seconds later. The feeling of meaningfully benefitting from something I built 12 hours or so ago was fulfilling.

After a few cycles, however, I found a problem which I didn’t anticipate in advance: Every 20 minutes, as the notification poped up on my screen, I looked away. But then, I didn’t know when to resume working. All the time while I was starring through the window and onto the street outside, I kept wondering: had the 20 seconds elapsed yet! It turns out that, most probably, users needed the app to allow some other mechanism to alert them to the fact it’s time to get back to work. This is how the optional sound alerts were born: allowing me to know when to dive back to whatever it is on my screen, but also letting me switch them off if it begins to irritate the colleague sitting opposite me.

The point here is, you’ll never correctly anticipate 100% how your product will work in the real world. So, don’t try to. Instead, iterate and learn from the true, real experience of using the product. Start small and go bid when you know more.

Tell your friends about it

Soon enough you’d reach the sweet spot where you’re pretty much satisfied with how the side project works for you. But your own use case will almost certainly deviate from that of others. Tell your friends and let them use it, help them solve that common problem that you share, but adjust the solution to their own unique situation.

When I shared the app with my closest friend, Joana Trashlieva, she immediately found two or three things that were wrong with the app. While I work for a small firm, Joana works at a 5000+ employee enterprise and she participates in more online meetings in a day than I do in a 5-day working week! Sitting in front of her computer, with TinyBreak.online’s tab open in the background, she sometimes needed to silence the alerts repetitively, so that she wouldn’t get interrupted during those meetings. But the “Silence for 1 hour” button which the app had didn’t allow her to silence the app multiple times. It is something I never would have though about, let alone need to work in my regular day at work or in the comfort of home. Her unique insight into the issue revealed how important other people’s perspectives are to any product. People will use the product in their own way!

Here’s one example!
Norman doors, a great example of both bad design and people’s use (and abuse) of products!

One of those things Joana told me about was not even a “bug” per se, the fact was that my mental model and Joana’s mental model about the app itself were different.

Telling your friends about what you are building, and letting them be part of the journey, is an invaluable experience for both. Don’t miss on it.

Tell your wider circle

Reach out to even more people, and help them give you the feedback that you need to improve the product further. For TinyBreak.online, right before sharing the app with a wider circle of people, I added a small third-party tool to help me collect feedback. If at least one other person genuinely likes the solution, you’d be surprised how willing that person will be to give you the feedback needed to improve the product. Remember that there’s no positive or negative feedback, there’s just feedback: useful insights to learn, improve and grow in the process.

Know your why

That phrase has been on my mind for some time know, as I’ve heard it a lot from comedian Michael Jr., motivational leader Simon Sinek and US House Speaker Nancy Pelosi. Such a powerful phrase that applies to everything we’re doing, not what, but why.

So, why TinyBreak.online?

  1. Because I want to look after my health and mental wellbeing
  2. Because I want to help others look after theirs
  3. Because I am passionate about teach and building products, it’s not work, it’s fun.
Try it on https://tinybreak.online
Try it on https://tinybreak.online

--

--