Hello! What's your background, and what are you working on?
Hello! I'm Joan Boixadós, and I'm working on everydayCheck, a simple and beautiful habit tracker to help you form new habits. The idea is that the best way to reach our goals is to work on them every single day, no matter how little we do.
I work as a freelance web application developer and product manager. I studied computer science at the Technical University of Catalonia (UPC) and did my master's thesis in Munich (TUM). I then worked for startups until I managed to work full time as a freelancer.
However, the freedom of freelancing is still too constrained for my liking, and that's why I've always built products on the side. Since I've always wanted to have my own business, finding out about stories of indie hackers was very inspiring to me.
everydayCheck is the first product I've tried to monetize, and it's been a success. Since I started charging for it in May, it has averaged $450/month. Right now, every 240 visits convert to about 30 signups and one paid user.
By the way, I also created awesome-indie: an open-source repository of resources to help independent developers to make money. Feel free to contribute!
What motivated you to get started with everydayCheck?
So I came up with the idea of 12 labors, like those of Heracles. I called them dodecathlon. The 12 labors weren't startups, just 12 things I wanted to do or learn in the course of a year. And guess what? January's labor was: "Make a project that makes at least $1." I had never charged for any of my side projects before.
On the other hand, I've always scratched my own itch when it comes to productivity. I think it's something very personal. I've developed several little apps for myself and everydayCheck is one more of them.
I normally have a to-do list on a notebook for what I'll do each day or week. For a long time, there was something that bothered me. There were tasks that no matter if I did them or not, the next day they'd be there again. Go to the gym, eat healthy, etc. It was very frustrating because scratching them off didn't mean I got rid of them. There was no dopamine shot to the brain. There was no visualization of progress.
It was then that I started distinguishing between to-do lists and daily to-do lists. I had the mock-up done before I realized I even wanted to develop it. Then I read about habits, their benefits, and also found out about habit trackers. The idea to "do a little bit every day, no matter how little" had already been in my head for a few years, but I had never developed an app specifically for it.
It's funny to remember now that one of the daily tasks was "Think of 5 business ideas."
From a business point of view, I decided to productize it when, after researching habit trackers, I found that they were all mostly for mobile devices. And there was no nice modern solution on the web.
I thought, "Well, of course it makes more sense as a mobile app." But then I thought of a talk given by Patrick McKenzie about Marketing for Minorities, where he encouraged selling to demographics and on platforms where there's less competition, and I decided to go for it. Most of us spend the day in front of a computer after all!
As a freelancer, you need to be very disciplined. So I like to think I made everydayCheck thanks to everydayCheck, since it helped me to work on it every day, no matter how little I did.
To validate it, I posted my app in several subreddits where I thought the app would be relevant and in most of them it caught great attention. Specifically, this post on r/GetDisciplined exploded. Validating the idea very early on gave me the confidence to go on with it.
What went into building the initial product?
It took me three weeks to have the first working version with the landing page set up and ready to show to people. I was dedicating between one and four hours a day, every day. ;) These three weeks were a great exercise of discarding and prioritizing features.
As a developer, most of the time you just want to develop things to try and experiment, because it's fun. You develop little side projects to try new techs or libs.
With everydayCheck, I tried to be very critical about what I'd implement and what I'd leave out. I wanted it to be so simple that I'd be embarrassed to share it. And I now realize I could've stretched this even more. Do one thing, and do it right.
Things I didn't implement at first:
- Recover password email
- Confirmation emails
- Account settings: change password, nickname…
- Export data
- Stripe integration
I think about it now, and I realize I haven't added that many things afterwards either. My minimalist approach made sense. I now have a big list of features people have requested, but I don't want to add more features just to justify charging more. Unless a feature is really needed and will add a lot of value, I'm not adding it.
I was already familiar with the tech stack, so that was a good advantage. I think for the majority of projects the stack doesn't matter at all. What matters is that you're comfortable enough with it that you can move fast. I was only concerned about the payment system and how to implement the subscriptions.
Thankfully, I found about Stripe. Yeah, I know Indie Hackers got acquired by Stripe, but it's me sharing this link! As someone who has been in the community since the early days, I was afraid the acquisition would kill the essence of Indie Hackers. However, time proved my fears to be unfounded.
Stripe really is a great tool. The documentation and API is great, really state of the art. And I share this because it is especially useful for small businesses like us that are just starting out. It solves many problems that you haven't even thought of when starting. How to deal with a yearly recurring subscription? I really thought I'd have to set up some sort of script that charged my customers every X days, like a cron job. Stripe has a super powerful subscription API.
I remember worrying about refunds: "How am I going to deal with that?" Well, just press a button in the dashboard. Another example: recently, someone asked me for a receipt for his accounting. I was like, "Uh, I'm not even incorporated." I started figuring out a nice way to set up a template for future receipts. But first I decided to check Stripe for the hell of it. It gave me a link; I gave it to the customer. Everyone was happy.
How have you attracted users and grown everydayCheck?
After I finished the initial product, I shared it with a couple of friends, but basically I was the only user for about a month. The app was working for me, so I added the habit to "SPAM 5 links a day." I've always been very reluctant to show my work…
This habit led me to basically the following 4 milestones:
1. The r/GetDisciplined post
This was one of the first places where I shared the app. It helped to validate the idea. I got around 600 signups in one day and 200 in the following two or three. Of this 800 signups, about 100 ended up being daily users. It is important, though, to keep in mind that at the time, the application was completely free.
This experience also taught me that people really enjoy and appreciate that you follow up. My small dedicated server struggled serving all the pages, so it's quite possible that I lost a few potential signups. Also, this completely validated the landing page. People immediately understood what the app was for and wanted to try it out.
2. everydayCheck got featured on BetaList
Note that this didn't happen for a couple of months. Funnily, the app got featured 24 hours after I decided to close it and make it paid. everydayCheck was the trendiest app for the day and also of the week. So that gave it a lot of visibility for several days.
I can't say the traffic it brought was crazy, but the experience served me to once again validate that people liked my product, and also that there were people willing to pay for it without even trying it first.
By now it was late June, and I'm pretty sure I'd already given up on trying to get everydayCheck to the main page of HN with a Show HN. Since I had already validated the product I was more focused on long-term strategies, such as optimizing the site for SEO and so on.
However, browsing around HN I found that Hacker Hunt was killing it. I read what it was — a tool to give Show HN projects more visibility on HN (a Product Hunt for Hacker News products). I took my chances and decided to try once more. I shared everydayCheck on Show HN. And the magic happened. As Justin Jackson would put it, I rode the Hacker Hunt wave.
everydayCheck rapidly started receiving a lot of traffic from HN and making it to the front page of both Hacker News and Hacker Hunt. You can read a longer version in this Indie Hacker's monthly update thread (Ctrl-F: "HackerHunt").
4. The Product Hunt launch
I had posted my app on Product Hunt back in March, and it had gone pretty much unnoticed. However, remember how Hacker Hunt got #1 on Product Hunt? Well, that brought me a hell of a lot of traffic from Product Hunt, and also, people started upvoting it there.
The result? It got featured again the next day on Product Hunt, and to my surprise, it made it to #6 for the day. That was my largest peak of traffic, tripling the amount of signups I'd gained until then. It also validated my product among a community of people that are used to seeing several products a day. The visibility on Product Hunt also made the app appear in several other smaller blogs and newsletters that kept the traffic coming.
All of that without me having a clue about marketing. Barely planning anything. So there's no need for me to talk about how important product execution is.
Of course, these are the sharing attempts that went well — a very small portion of the links I shared in total. So my advice here would be: insist. Just insist. Every day.
Another important thing I did was to set up a Twitter account and share my email everywhere in the app to be accessible to the users and immediately help them out. Getting user feedback is invaluable, especially in the early stages.
In growing the user base, everything counts. I optimized for SEO, I started a blog, I answered Quora questions, I answered reddit threads on productivity, I talked about it on Indie Hackers every time I had the chance ;D. These are my next steps. You have to manufacture your own opportunities.
Just for the laughs, look at this post on Indie Hackers where I got no response and no upvotes. Insist.
What's your business model, and how have you grown your revenue?
I knew I wanted it to be a micro-SaaS and have a subscription-based business model. I had this super idea that you paid $5 a month and you'd get $1 off for every habit you formed. I even checked that I could implement it with Stripe. But then someone wise around here told me, "Don't make your life difficult. People want to understand what they are paying for — make it easy for them. Don't have variable prices."
That made me think about starting simple, and I decided to charge $1 a month billed annually: $12 a year.
So after the reddit post mentioned above, I had a relatively big user base, maybe 800 signups and 100 daily users. The idea was validated.
What about the product: would anyone pay for this? I hesitated between trying to grow the user base or start charging. IH convinced me to start charging. So in this post I asked about the best way to go about it.
I implemented it in the following two weeks and launched it. Basically made the Stripe integration, added a "why is it not free?" message, and gave people 10 more days until it went completely closed to subscriptions. Approximately 30% of the daily users converted! It was great!
(To this day I still wonder how the early users who stopped using the app truly felt about the transition from free to paid. Were they pissed? Or did they simply not find the app valuable and helpful enough to pay $12 a year?)
A funny anecdote here: 24 hours after deploying the paid version, no one had subscribed yet. Then I discovered that I had created the Stripe subscription plan in test mode (so of course the tests worked!) but not in production. So everyone who had been trying to subscribe ran into errors.
By the time I found this out I was pulling out my hair. Thankfully I fixed it and emailed an excuse to everyone who had tried paying for the app. It worked. People love to hear from you. I remember tweeting Stripe about this as feedback. Their tool is not entirely idiot-proof I guess, hehe.
At that point, I'd made the decision to place the product behind a paywall without a free trial. After all, the GIF of the landing page shows what it is. I just wanted to validate it. So I knew that some of the users who tried it found it valuable and paid, but would users pay a yearly fee straight away?
I got lucky once more. I hadn't planned this at all, but the day after I paywalled the product was the day BetaList (to which I had applied maybe a couple of months before) featured everydayCheck. It was the most upvoted product for the day and the trendiest of the week. This basically meant that it was the first thing you saw when you entered the site. This brought enough traffic to validate that people were also willing to pay for it before trying it out. That was great news! It validated my landing page.
However, I felt I lost a lot of signups that could have potentially converted. And what's more, I don't have anything to hide behind the paywall — the app works! (In my own case, in the last four months I've only skipped working on everydayCheck for two days!) So I decided to implement a 30-day trial period. Why 30? Well, we are talking about habits, and you can't form a habit in less time than that. I've observed that people who consistently use the app during the trial period convert at an 85% ratio.
My strategy at that point was more long term. I knew I basically wanted to take my time and learn marketing from scratch. Getting featured on Product Hunt and other parallel efforts have led me to an average of 35 monthly subscriptions — $450/month.
What are your goals for the future?
Three paid signups a day. That'd be roughly a MRR of $1,100. Actually, I promised myself that if I got to that MRR by the end of the year I'd go digital nomad for 2018 and try to experience other cities and places while making everydayCheck grow.
To reach that goal with the current conversion rates (240 unique visits for every one subscription), I need to drive 720 daily visitors to my site. That's my current goal, to drive as much traffic to the site as possible, in both the short and the long term. Hopefully, passive acquisition channels will take over as time goes by.
Thus, the real goal is to learn and enjoy marketing. One of my most encouraging thoughts is to think that if I have gotten here without a clue about marketing and while expending relatively little effort in that direction, there must be a lot left for me to do. There is so much room for improvement.
Some of the ideas I'm working on are detailed further in this Indie Hackers thread. Open to suggestions!
Of course the idealistic goal, and I believe I share this with many fellow Indie Hackers, would be to have a passive MRR that allowed me to reach financial independence. And trust me, I'm not thinking of sums much beyond the goal I set for December 31st. You don't need to make that much in Barcelona to have a good life :P. Enough to have free time to go on other endeavours, to learn new things, maybe to try to build more technologically complex startups, or to spend more time on things I enjoy.
What are the biggest challenges you've faced and obstacles you've overcome?
Disputes between founders are one of the most common reasons that startups fail. And for much the same reason, you are your biggest threat. So my biggest challenge has been me — finding the motivation to work on everydayCheck every day, especially when doing tasks out of my comfort zone.
For example, I've been struggling with marketing for two months. More because of inaction and friction in the learning process than because of actual failed marketing attempts.
I try to think less. The biggest mistake is indecision: analysis paralysis. But failure is progress. There are few things that you can do with real effort and good intentions that can damage your progress.
When you've never managed to make money from a product you've built, getting at least one person to pay for it (who is not your mum) looks hard. Very hard. But once you get there, you realize it's not that difficult, you just need to try different things until you get there. However, getting to a point where the product can generate the same amount of money that you make with your full-time job? Well, that's another story.
I guess I see this as the biggest challenge because it's where I now find myself. But marketing is hard. As an engineer, you know the outcome of your work, you have task X, and task X can be hard, or impossible, but you know you'll conquer it eventually. And when you do, it's done, it works. You succeed!
With marketing you can share 700,000 links and get 0 visits. Likewise, you can share a single link with the right word at the right time of day and to the right people and get 700,000 visits.
Of course marketing people will say you can make it more scientific, and I am in the process of demystifying marketing, but you need to make a mind shift to get there. Marketing is a challenge, and it's just now that I'm starting to enjoy it.
I've been very lucky with the reactions and interest the app has garnered. However, I'm now certain that planning a launch through several channels at once can really boost your initial exposure and momentum.
Regarding the business model, I'm still in the process of finding out if going for a B2C low yearly subscription was a good decision. Obviously, a B2B monthly subscription allows you to break even with fewer customers, but the feature set (and thus the amount of work both in product and marketing) require much more effort. $12/year forces me to find a lot of users to make it viable. But not that many that it sounds impossible to reach, considering how wide the potential audience is.
Finally, success of any kind comes with persistence over a long period of time. As an engineer, I like to constantly try new things and start new side projects. Thus, the biggest challenge for me is to grow with the belief that I want to be working on this forever, or at least for a long time.
Businesses aren't built overnight. That's why I say that ideas are more important to the founder than to the audience. The audience will change depending on what you do, but you won't change, and you'll have to fight for it every day. So make sure it's something that fills your soul and keeps your motivation up.
Have you found anything particularly helpful or advantageous?
Indie Hackers. If you are a solopreneur, you'll have doubts, you'll hesitate, your motivation might wane. That's why I think communities like this one are really important. You might be feeling low, and then you come here and you find other people struggling with you, and you realize what you've already accomplished. And hell, the energy comes back and you go out there get shit done! I think the amount of times I link to the forum from this interview makes it very obvious how helpful I find IH.
In this kind of community, everyone wants everyone to succeed and brings something to the table. I collected most of what helped me get started with awesome-indie. These resources helped me make lots of informed decisions that put me on the right starting path.
Now, the super obvious answer: Having a good product. There's nothing that beats having a good product, no matter how ridiculously simple it is. It'll spread by itself.
One great advantage of everydayCheck is that everyone can identify with the message of the app. The idea of habits and the benefits of creating them is so obvious and common sense that people are willing to hear what you have to say.
While I think having such a low price can make it difficult for me to use certain acquisition channels, I also believe it makes it very accessible to almost everyone in the world. The value proposition is universal, and the price? Almost.
Small things that I believe had a huge impact on my early success:
A very simple landing page, with a GIF that shows both what the app is about and how to use it at once. It's funny that it conflicts with the SEO principle of having more content. My current landing page converts well, but then there's so little text I can barely rank for anything! Some marketers have told me that quotes such as the main one in my landing are unadvisable, since they generally don't convert well. In this case, I believe it immediately puts the value proposition in people's heads.
The title of my first post on reddit: "Thought I owed this subreddit a lot, so I'm sharing this little app I made to help me get disciplined and do what I need to do, by doing it EVERY DAY." It's the one that started it all. Pay attention to the small details when it matters.
The "why is it not free" message. It might make you lose signups, but it filters out those who are never going to pay. This builds trust.
Being close to your users. People like to help one-man bands if you can prove them to be reliable. If you provide answers almost immediately, if you are helpful, you can tap into the power of starting small, and staying small.
I also think it's been very helpful to write about the process. It's no coincidence that so many indie businesses out there do this. It helps you clarify your ideas, build motivation, and generate interest.
Finally, being user #1 of the app has definitely helped.
What's your advice for indie hackers who are just starting out?
Bullet points ahead:
Figure out if someone is willing to pay for your product as soon as possible. By "willing to pay" I mean they actually pay you.
Once validated, forget about the product. Let it ripen. Efforts should then be put in sharing the app and getting to a minimum MRR that empowers you to improve the product.
Use the momentum. For growth but also to get stuff done. Make decisions continuously. Move fast.
The customer only cares about value. So you need to find the shortest path to value. Prioritize tasks by "less time consuming" and "more impactful". Don't fool yourself with irrelevant tasks.
Be close and responsive: Make it really easy for people to see that you are a human being, to get in touch with you. Be transparent, show your fears, ask them where they want you to go.
Ask for what you want. Do you know why my app hasn't been featured on Lifehacker yet? Because I haven't asked. That's my bad.
Write about the process, even if it's just for yourself. It's a good exercise to put your ideas in order and to build motivation.
Talk to everyone about what you are doing. You never know what it could lead to. Side projects are true passions. They are more personal than our real jobs. They build connections.
Follow your gut. Read as much as you want to learn and to get motivated, but in the end no one has done what you are doing. Find your own path.
I've read a lot and I really think Tyler Tringas' Micro Saas blog book contains a lot of value in not so many characters. I think it's good that he had to give up on the idea of writing an ebook, so he wouldn't feel forced to type more pages than actually needed to convey his ideas. For anything else, awesome-indie!
Where can we go to learn more?
- everydayCheck: https://everydaycheck.com/
- Twitter: https://twitter.com/everydayCheck
- My microblog: https://mezod.com
- My Github: https://github.com/mezod
Your best chance to follow everydayCheck's progress is to check Indie Hackers' monthly posts. I'm always super open to feedback and help, so please don't hesitate to get in touch with me at firstname.lastname@example.org!
I also wanted to thank and congratulate Courtland and Channing for the great job they are doing with IH. You are an inspiration for the rest of us!
Hey, I'm probably the least savvy of all the interviewees on IH, but I might also be the closest, so feel free to shoot me any questions. Would love to hear feedback from this interview too.
I like something Pieter Levels always says: "If I can do it, you can too!"