DEV Community

Elvio Vicosa
Elvio Vicosa

Posted on

How my side projects failed

This content was first published in https://elviovicosa.com/writings/reflection-failed-side-projects/

In the last couple of years, I launched some side projects. All digital. Three of them are permanently retired, and their domains are already expired. I built 2 iOS apps, one e-book, and a micro-SaaS1.

Like many indie developers, I like the idea of building products, solving a problem, and charging money for it. When listening to some startup founders' interviews and reading TechCrunch-styled websites, it seems that coming up with an idea and turning it into a business is something simple. I found the reality different. Launching something that people are willing to pay is hard. Making it consistently is even harder. Especially if you want to bootstrap it while keeping a full-time job.

This post is a self-reflection, where I want to think about what went well, but most importantly, what went wrong with my past projects. The mistakes I should avoid and the things I must focus on when building new projects.

1. iLearn (iOS app)

iLearn was my first project. It was an iOS application i built to help people to learn and practice English.

It was fun to build it. I learned lots of things, like iOS development (Objective-C and Swift), design, and a bit about marketing. There was no planning, just building something I thought would be useful.

In a few weeks, a number of education blogs featured iLearn. It was free and people started using it. I honestly have no idea how blogs discovered the application. The only marketing I did was to put a website live. A couple of months after the launch, I was shocked to see the number of downloads. Thousands of downloads in a single day. To my surprise and amusement, i discovered the app was featured in the App Store, inside the education category.

I made no money with it. Zero. To be honest, I never had planned on making money out of it. I was happy to see people using it.

I kept the application for two years. In that time, lots of similar apps joined the App Store and iLearn got outdated. Since there weren’t many people using it, I decided to shut it down.

2. Mamae (iOS app)

Mamae (mummy in Portuguese) was my second project. It was an iOS application that I built to help new parents to track their baby's daily activities. Parents could track things like breastfeeding, pumping, sleep pattern, etc.

Since the beginning, I planned to make money with Mamae. The app had one feature free (Nursing) and all the other features were behind In-App Purchases ($1,99 each). It was the first time I sold a product online and I felt really good about it.

Motivated by sales, I invested in improving the app. I worked on stability, a feature to sync data among multiple different devices, and translation to Portuguese, Spanish and German languages.

I reached out to a few parenting blogs. Most of them wanted to charge me to share about Mamae. A couple of them shared for free. The application got some momentum and was featured by Apple. That brought lots of users, and some ended up converting to paid. The application was featured by a well-known blog about design: Abduzeedo.

The growth numbers were good. I was invited to join a Berlin Startup Incubator to expand the application. I thought about the idea for a couple of weeks but decided to not join. At the time I had no kids and I didn't feel like working full-time on it.

I put Mamae on the auto-pilot for a year. There is lots of competition in App Store and the sales drained after a few months. I made the app totally free for another year, and then shut it down.

3. Phoenix for Rails Developers (e-book)

Phoenix for Rails Developers is an e-book I published. It was the most successful project I had so far, and it's the only project that is still alive.

Back in 2012, I discovered the Erlang programming language, and I have been a big fan ever since. Around 2016 I started playing with Elixir and it was love at first sight.

After reading Nathan Barry's Authority book, I decided to write and publish a book about Elixir. More precisely, a book covering the Phoenix framework, using my Ruby on Rails background.

I invested time to build an audience around the book. I wrote blog posts, free PDF guides, etc. On the launch day, there were around 1k people on the book waiting list. I emailed them with a special 30% discount and the first sales happened less than 5 minutes after.

While writing the book I had serious doubt that anyone would buy it. Seeing people paying for it, sending emails sharing how they used the book to adopt Elixir in their companies just amazed me. It still amazes me today.

So far, the book has made a total of $16,180.40. It's broken down into two license categories: 1) Personal ($14,422.20) and 2) Company ($1,758.20).

I wrote about the writing, publishing, and marketing approach in an Indie Hacker interview.

4. Statictastic (micro-SaaS)

Statictastic was my first micro-SaaS project. The idea was simple: help companies to easily publish their Jekyll or Hugo websites. My goal was to build a tool to be used by anyone, not only developers.

The idea was simple, but the execution... I ended up building too many features. I built a CMS, a form submission tool, managed redirects, password protection, etc. All of it without never talking to potential customers. The quality of the features was not good enough. It was not a surprise to me.

Several people tried the product. A few became paid customers. When talking to some of the churned customers, the feedback was similar: they liked the features, but they were not solving their problems.

I believe I could have improved Statictastic to meet customer expectations. It could at some point become a sustainable business. But after almost one year of working on it, I was not willing to keep investing in it.

I thanked the few customers for their trust and retired the project.

Things I can learn from my past projects

Decide whether I want to build a business or learn new tools

While building Statictastic I tried to include features that were not core to the problem, just because it was fun to learn. I spent a considerable amount of time learning and researching how to build them. As a software engineer, it's easy to get distracted by tech and neglect things like marketing and customer research.

Building a business with the tools I already know is hard. Trying to build a business while learning new tools, is just too much. For my upcoming projects, it's important, to be honest from the beginning: do I want to learn new tech, or do I want to build a business? In the case of the latter, using boring technology2 is the way to go.

Launching is hard, but it is the easiest part

Lost of people have ideas and plans to build something. Few people launch their ideas. Launching is hard, but launching is the easiest part. In my projects, the "building" phase is exciting. Launching is exhilarating. Keeping working on it until it grows is tough. Phoenix for Rails Developers was the only project I kept investing time in. Not surprisingly, it was also the only project that had meaningful financial returns.

I think it has a lot to do with mindset. I started most of the projects with "launching" as the final goal, and it's not. Launching is just the first step and I should plan for that.

Audience

The only project I invested time in building an audience was the one that was "successful". Was it a coincidence? I don't think so.

For upcoming projects, I want to either use the existing audience I have access to (Elixir, software development) or be ready to spend time start building a new one on the way.

There's no path to follow

Some people on the internet pretend to have the success formula3. The recipe to launch a side project following a number of steps, and voilà, success. I always questioned myself: if they knew how to do it, why are they not doing it consistently? I have no idea.

This time I won't spend time reading more books about past experiences. Instead, I want to use this time to build, test and improve my projects.

Start small

Building things is nice to please a software engineer's mind. It's fun and exciting. But it's also distracting and delays learnings.

I want to focus on the minimum necessary to start testing things. It's not about launching landing pages with a form to collect emails. It's about launching a real product, that solves a real problem well. Then, with customers, decide on how to build additional stuff.

Foot notes

  1. Micro-SaaS is a term coined by Tyler Tringas.
  2. Boring tech-stack for me is: Elixir, Phoenix, PostgreSQL, plain HTML+CSS, plain JS and deploying to a VPS with Ubuntu, Nginx and Let's Encrypt.
  3. I'm more aligned with @levelsio, on launching things and seeing what gets traction.

Top comments (0)