Haskellpreneur

MainQuest: Experiences launching my first startup

My first startup didn't start that well. Here's what I have learned from it.

As much as I looked forward to starting my startup challenge, it had a difficult beginning.

Burnout was one of the reasons. It's one of those annoyances that persist on you for months. I was so eager to get working, but just couldn't. I was able to work about 1 out of 3 days during this period. It should ideally have been at least 5 out of 7.

But that was only one of several issues.

Other reasons for it not going smoothly were aspects of the project itself.

I have finally launched my first startup MainQuest, and it was about time. But I have decided to not market it too broadly just yet. Reasons follow below.

Screenshot of battle screen

What is MainQuest?

MainQuest is a habit tracker and task manager that is directly tied to an actual fantasy role-playing game.

You earn gold by performing tasks, and maintaining habits. And you can buy adventure gear for this gold to advance in the game.

It's built with IHP and Elm (more details in last section of this article).

It officially launched in a free BETA version January 2nd 2020.

Beyond scope

MainQuest started as an ambitious side-project not intended for the 12 startups challenge. I started it in December 2020, and I wanted to make the productivity app tailored to my ideals.

It was to become a productivity app that makes a bridge between your life and an actual game.

I am very happy with the progress I have made with it, but it's not quite yet at the point I wanted it to be. There are several reasons for this.

A good productivity app itself is easy enough to make within a month. A game itself is often not, even a simple one. Combining these concepts compounds on the complexity.

Some unexpectedly hard aspects of making an RPG game was:

To sum it up: The scope was too wide, and I had come too far to narrow it down, or so I told myself.

Not yet good enough

I know that you should ship early and at "just barely good enough".

The trouble with this type of project is that "good enough" is not as easy as for example comparing when using a ticket vendor app. If people can buy tickets through the app somehow, it's good enough for launch. This is not as simple to achieve with MainQuest because a main part of the product is a subjective experience.

In addition to the complexity, it was the user experience itself of the app. If the user experience of an app like this isn't good, users won't come back later to check if it improved.

As I have come to the point where I had to launch the project, I am sadly still at the point where I don't think the app is quite good enough yet. I don't think customers will stick if they don't get to discuss with me directly. I simply haven't learned enough.

There is one thing I want to have in place before I launch it globally on Reddit and big message boards: A good module for collecting user feedback and interacting with the user.

Either I will make one myself, or use an existing solution, I see now that I can't do without this.

Developed in a vacuum

The last paragraph leads me on to a very important point. It's a point already I knew when I started out this challenge, but now I can really feel the pain: Don't develop in a vacuum.

What I should have done about a week after launching the mainquest.app domain is actually launching it publicly with a landing page and start collecting user feedback, maybe even before developing any functionality. Right now, I don't know what people would actually love about this app or not care about.

And that's how I intend to think going forward. Actual user feedback from people that are interested in this product is the gold I am digging for.

Then we can help each other make the product of our dreams, and by that my dream job.

Summary of why I won't market broadly yet

I have become good at building, but at this point I have been lacking the skill and will to measure and learn.

So in summary, these are the reasons I will wait a couple of weeks before I make a big global splash on MainQuest:

I think experienced entrepreneurs might advice me to market aggressively anyway, but I feel that's it's not that big of a loss to wait a week or two.

Feedback mechanisms will be an interesting future topic.

Social media enthusiasm dwindled away

Another lesson I learned is: Don't announce your challenge too early on social media. The announcement generated nice attention and I got several nice PMs, but as life came in the way and the challenge became postponed by several months, I think many lost faith and interest.

I think I should have waited until I felt ready and refreshed, to avoid the pressure and use the momentum of the cool announcement.

This of course depends of who you are. I have only 500+ followers, so mileage may vary.

12 startups in 12 month - avoid these mistakes

Some take-aways so far in my startup journey:

Some technical details

For those who know me, it probably doesn't come as a surprise that the stack is built with as much statically typed functional programming as possible.

The codebase has gotten pretty big:

I will try to comment more on the stack and functional in the future, but I can already say that there are very good reasons for me to be happy with it.

Having a sound type system makes me much less afraid of going into the code and doing improvements. That's good because you never do it right the first time anyway.

Having IHP, the network around it and not least the IHP creator Marc on my side for help and support is invaluable. There are certainly benefits to being an early adopter to a very promising framework.

With sound type systems, I don't worry about tearing up the fabric of the universe and then stitch it back together to improve the internal API. For me, that feels like a superpower.

I hope to see more functional programmers be a part of this startup and bootstrapping community. This is where we should be at, building future FP jobs and proving what we claim about functional programming is true 😀



This article belongs to a 3 part series

  1. I'm launching 12 startups in 12 months

  2. Drained at the starting line

    I took a vacation to relax, but failed.

  3. MainQuest: Experiences launching my first startup

    My first startup didn't start that well. Here's what I have learned from it.