60
27 Comments

Growing My First App to Profitability With No Marketing Experience

Hello! What's your background, and what are you working on?

Hi! I'm Ivan Mir, and I'm running a small company called QotoQot with my co-founder and wife, Irina. We are originally from St. Petersburg, Russia, but nowadays live in Valdivia, a small city in southern Chile.

Qbserve ("cube-serve") is an automatic time tracker for Mac that gives you real-time productivity feedback, tracks project time automatically, and then generates timesheets and invoices. Unlike a majority of our competitors, the app doesn't have any team features and instead focuses on providing the best individual time-tracking experience. The other important distinction is privacy: Qbserve logs all your browsing and document history, but none of this ever leaves your Mac.

So the app's core audience is individuals who want to track their productivity or work hours privately — and not because their boss ordered them to install tracking software. After two and a half years, Qbserve earns around $2,000 each month and has over 4,000 users.

home

What motivated you to get started with Qbserve?

After our gaming startup closed in December 2014, we started looking for freelance work to build up a new financial cushion outside of the game development space, which had become too crowded and offered scarce remote jobs. I decided to move to desktop and mobile applications to leverage my knowledge of Objective-C and C#.

Before the startup, we had been working in cycles of client and independent projects for five years, so building some new product was inevitable. We had both previously used RescueTime and even paid for the pro version for a year, but found that it didn’t help much. Their weekly productivity reports only made us feel slightly guilty about the wasted time. And of course it creeped me out that there was no self-hosted solution — sending all my browsing history to their servers made me pretty uncomfortable.

So we stopped using it. But I had always dreamed of a better alternative, and figured now was the perfect time to give it a go. At best, this project would finally achieve my dream of self-employment. At worst, I would get a product I had always wanted and a first app in my portfolio. I knew that RescueTime was popular, so I didn't research the market much and just boldly assumed that I could get a part of their audience by providing a better user experience.

What went into building the initial product?

Qbserve is a native app built with Objective-C and SQLite. The tracking itself relies heavily on macOS screen-reading APIs for persons with disabilities. Unfortunately, being so close to the unique features of macOS means the app is unportable to other operating systems, including iOS that doesn't allow app tracking for security reasons. This is also the reason why Qbserve is not present on the Mac App Store — Apple requires a restrictive sandbox for the apps that are sold there.

It's hard to estimate the time spent in parallel with freelancing (if only I had had Qbserve back then to track it!), but I think it was about half a year of full-time work in total. This was of course longer than I had expected, despite trying to prevent overengineering and feature creep. For example, I had anticipated that by-project tracking would be important for many customers, but the goal of the minimum viable product was to compete in the less busy niche of personal productivity tracking. I also knew that some customers with multiple Macs were going to ask for data synchronization, but I lacked the experience necessary for this level of complexity, so I didn't even try to plan the app's architecture for working with a server.

Always look for feedback from your target audience, even if you're at the idea stage.

Instead, I focused on easy UX wins, like the dynamic icons whose angry red color shames you into working, or flexible tracking settings that weren't hard to implement but allow users to adapt the app for their individual workflows. I also manually categorized thousands of popular sites and apps, so that Qbserve could automatically sort them into "productive," "neutral," and "distracting" buckets.

The hardest phase was before the launch, where we spent weeks on writing and rewriting various texts, building a landing page, setting up a reseller account, running a beta test and doing all the other prerelease things. Multitasking was so heavy that eventually the app was released under its weird working name, Qbserve, because we gave up on finding anything related to time tracking that wasn't already taken. This name probably hurt its overall word-of-mouth by being both hard to remember and hard to spell when you hear it.

How have you attracted users and grown Qbserve?

Right after the release, we posted the app to Product Hunt, where it became No. 5 that day. Ten days later, I created a "Show HN" on Hacker News, and Qbserve became one of the top submissions that week, bringing a huge stream of sales and feedback. I've spent multiple days doing nothing but replying to dozens of comments and support requests.

Despite the successful launch, our press outreach turned out to be a failure. Reporters from a few sites (mostly non-English ones) contacted me for a review, but otherwise the press wasn't interested in Qbserve at all. Even Apple-related sites have ignored our pitches, and we still have no reviews from them more than two years later.

The idea that good software is easy to promote is just as silly as the "good software sells itself" myth.

Later, I came to understand that Mac app reviews simply don't bring enough traffic, even for sites focused on the Apple ecosystem, because Macs aren't that popular compared to other platforms (making up just 10% of desktops worldwide and 20% in the United States). But back then it was extremely frustrating, and in an attempt to fix it, we decided to go to the Apple Worldwide Developers Conference to catch some reporters in person. This was the most expensive mistake in the history of the app. It turns out that the Apple-related press community is more of a private club and not the free-for-all we had experienced in the game-development world. So we barely connected with anybody despite our best efforts. But even if we had known the right people, I doubt that flying to California would have been a cost-efficient way to promote the app.

After being ignored by reporters, we tried to maximize the app's exposure at places that allow user submissions:

While all these sites bring little traffic on their own, you never know who will find your product there. Slowly, Qbserve started getting included in those typical "Best Apps for X" articles — maybe the writers had found it in one of these lists? Another "spray-and-pray" approach we used to increase Qbserve's popularity was participating in many giveaways and cheap app-bundle sales that paid less than $1 per license.

After exhausting most of the options of getting links to the app's landing page itself, we switched to content marketing. I spent a couple of months learning to write better and drafting some in-depth articles for our blog. A couple of them got to the top of Hacker News and attracted quality backlinks to our site, but most didn't go beyond a couple of newsletters.

We also tried the "side-project marketing" tactics with Sloth Worth, a browser extension for tracking money lost due to procrastination. It was quite easy to build by using the database of distracting sites from Qbserve. This extension did well on Product Hunt and brought a few backlinks from reputable sites, including Lifehacker.

The marketing channels that didn't work well:

  • Twitter — even when my article got tweeted by a popular developer with over 60,000 real followers, it received just a few hundreds of clicks. Also, there is no long-term effect because tweets "live" less than a day.
  • Reddit — the conversion rates are close to zero, and many subs are really hostile to self-promotion, even when the content is good. Though freebies like Sloth Worth can do well.
  • Advertorials in Apple-related blogs and newsletters — most of them didn't even come close to breaking even (we were tracking conversions with discount codes).
  • Affiliate program — the majority of applications came from really spammy sites, and the few good partners didn't bring in any sales.
blog

What's your business model, and how have you grown your revenue?

Qbserve is sold for $40 per seat, and we do not charge for updates. The reason for this generous pricing model is that there never was a plan for developing the app into something bigger. We made many specific improvements, but none of them would justify an upgrade fee or a subscription for most customers. The only exception was project tracking, but at the time of adding it, the customer base was still small, and most people had bought the app only a year before. To avoid a problem like this for the next product, I would plan the finances and a road map at the early stage.

We use FastSpring as a reseller because they deal with international sales taxes and license generation. Their fee is 8.9% per transaction, which is a bit high but still much better than the 30% charged by the App Store. Other than that and $10 per month for the site hosting, there are no regular expenses, so the remaining 90% is profit.

I already mentioned a huge boost from Hacker News that bootstrapped the app: we earned over $20,000 in one month, with a $4,269 peak on the day when the trial ended for most new customers. In the following year, the revenue was only $15,370, so without Hacker News, I wouldn't have been able to work on Qbserve almost full-time.

Even the best articles and books about business or marketing are a map, not a territory. The only way to learn the territory is to explore it.

This honeymoon was over pretty quick. Two months later, Qbserve started earning less than $1,000. Being stressed by the app's low visibility, I made a typical mistake and decided that if we added more functionality, like project tracking, the app would get more sales and love from reviewers. But of course, after more than half a year of work and all the new shiny features, the revenue barely moved and my pitches were still being ignored by reporters and bloggers.

A positive side effect from coding so much was overoptimizing my workflow and reaching 200 hours of work a month (though that meant $5 per hour with the current revenue). An article that mentioned Qbserve got to the top of Hacker News again and got us an additional $4,000 that month, with a long tail of increased sales. From there it went viral (over 125,000 reads so far) and brought many backlinks to our site, which helped rank it higher in the search results.

Qbserve is still not in the top positions when you search for a time tracker for Mac, but improving organic traffic from search has been the best growth strategy for us since we can't bid for ads as much as our subscription-based competitors.

revenue chart

What are your goals for the future?

Qbserve already feels a bit too complex compared to the first iterations when it was a pure productivity-tracking experience. At the same time, we barely get any feature requests nowadays, so I would prefer to keep it from bloating any more. Instead, we are going to polish the existing functionality to make it more comfortable to use and do a small facelift to match the visual style of newer macOS versions.

For now, we decided not to localize the app because purchases from most non-English-speaking countries are below 2%. Localization requires a lot of work, both on the website and in the code, and considering the current revenue, it probably wouldn't pay for itself. We also can't provide support in languages other than Russian and Spanish, so having our site in French or German would be somewhat misleading.

On the marketing side, we will continue looking for ways to improve the site ranking in the search results, because that's Qbserve's main channel of revenue growth. It will also benefit our future projects because we are keeping all the products on the same domain.

What are the biggest challenges you've faced and obstacles you've overcome? If you had to start over, what would you do differently?

The biggest challenge was a very naive understanding of how the modern internet economy works. The idea that good software is easy to promote is just as silly as the "good software sells itself" myth. I would definitely spend more time learning marketing. I still have a lot to learn, even after all the experience with Qbserve.

Financewise, I would also split the licensing into basic and professional tiers to make the complex features pay for themselves. Doing it from the start would have been easy, but nowadays it would require many adjustments in the design and code.

While I'm pretty happy about the extensibility and stability of the code base, I wish we had spent more time planning the UIs for the future. For example, Qbserve still doesn't support full-screen-window resizing because of the early design mistakes. It would be hard to correct them now without redesigning the app, but we have already polished the user experience, and thousands of customers are used to Qbserve as it is. I think it's safe to say that everybody hates redesigns (except for their authors), so we'll try to fix these problems as carefully as possible.

Have you found anything particularly helpful or advantageous?

Having a co-founder is really helpful because you can always ask for a second opinion. This is especially important when you start looking at the product from the engineering angle or get obsessed with unimportant details — a partner can get you back to your senses.

I had never expected something like this, but our customers have turned out to be amazing — they've sent us not only many useful suggestions but also a whole lot of good vibes. When you're struggling with something for weeks and suddenly receive a grateful email on how your product helped someone to spend more time with their kids, it's just incredible and instantly recharges your batteries.

Having a co-founder is really helpful because you can always ask for a second opinion — you have a partner that can get you back to your senses.

Probably the biggest advantage was having the opportunity to learn and do things at my own pace because of our additional streams of income — I did freelance part time in the first year, and Irina works on her stock illustration portfolio full-time, switching to QotoQot tasks when I need her help. I'd have made even more mistakes if I had had the pressure of running out of money to live.

What's your advice for indie hackers who are just starting out?

Even the best articles and books about business or marketing are a map and not a territory. The only way to learn the territory is to explore it, so start small and release as fast as possible. Avoid getting stuck in code because development is only a means to the goal of selling a product.

Unless you have a spare five-digit budget for the top agencies, don't hire anybody for marketing, press outreach or SEO — do it yourself, and the results will be many times better than what you can get for bootstrapped money. Spend at least a trial period on services like Ahrefs to understand how information flows on the internet — you'll be amazed by all the underwater currents and trends.

Pay a lot of attention to the user experience, not only UIs but the whole interaction with your company and products. Always look for feedback from your target audience, even if you're at the idea stage.

Here are the resources I've used for learning these topics:

Where can we go to learn more?

See Qbserve itself and our smaller products at QotoQot.com. I occasionally share some interesting articles on my slow Twitter, and Irina posts her daily illustrations on Instagram.

Also, check out our blog for guides to building your own products and staying efficient. I would especially recommend the "What You Should Know as a Founder of a Software Company" article because it contains lots of links that could be useful even for an experienced indie hacker.

There are many small nuances that wouldn't fit into the interview, so I'll be glad to respond in more detail in the comments.

  1. 1

    Great story, thanks for being so straight up! I launched a small tool a couple of months ago and am trying to do a better job and marketing and demand building up front on this one because I've realized how hard it is. Anyways great read, thanks for posting!

    1. 1

      Thank you, best of luck with your project!

  2. 1

    Thanks for sharing your experience. I cannot tell you how valuable your blog is to me. I can relate to so many aspects of your journey. I have also had a few failed products in the past and I have recently launched another product and looking to scale my product (BoffinBot for Slack).

    Your tips and feedback will definitely help me in my journey.
    Thanks once again. :)

  3. 1

    Beautiful story! Thanks for sharing it with us. Inspiring stuff. I'm working on my app myself too. Just getting started. It's not so easy to combine with studying at university, but these guys https://writingpeak.co.uk/coursework-writing-service are helping me a lot. Bless them and bless you for your story!

  4. 1

    I trialed Qbserve after this article, and I have to say, it's amazing. Way better than Rescue Time, which I never really liked. I bought the full version today - no brainer!

  5. 1

    Been using Qbserve from the beginning. I mean, it works.. https://cl.ly/3ba37a440c46

    1. 1

      Wow, that's awesome! By the way, did you disable site tracking in Chrome? It got broken in Chrome 69 and 70 but updating to the latest Qbserve version should help.

      1. 1

        Yeah, it used to show everything in Chrome. Thanks for heads up.

  6. 1

    These are the stories that really inspire me; not those on TechCrunch and the likes talking about crazy funding rounds and the grand plans—ones I was hooked to in the first couple years of graduating from college. Congrats to you both; just downloaded Qbserve and looking forward to becoming a paid user!

    1. 1

      Thank you! And thanks for supporting the app! 😊

  7. 1

    Thanks for sharing your story. I actually use Qbserve myself.
    I am in a similar position. I have an app in the AppStore, which I have grown over the past few years and only monetize sales. I still do it as a side business just by myself; have to be really hard-core at prioritizing stuff.

    A few observations/differences:

    • I really don't know how to do marketing so mainly rely on the word of mouth. I would disagree on "good software sells itself" being a myth. It's just about the definition of "good". It has to make sense from user's point of view and add value / ease some pain. Anytime I add something meaningful, it starts selling faster and stays that way. Having said that, relying on the word of mouth is definitively slow, which might make a difference regarding competition.
    • Once I earned a bit of money, I started hiring people mostly on Upwork to help me out with well-defined tasks. Yes, you can do a lot of the stuff yourself, however, you don't need an agency for $1k/day to get good results; it's really not that expensive considering the impact. I have hired various specialists and got great results with an ASO/SEO guy (which cost me a few hundred $, leading to doubling my sales, a few k in sales every month), also redesigned my app from scratch hiring a professional UX designer (also a few hundred $) and a graphic designer. I was very careful to only redesign the UI once as I hate changes as a user myself.
    • Once I could afford it, I localized my app to 14 languages using a professional agency, which cost me $5k all together (lot of Help text and the website). It is a bit of overhead when making updates, however, it was worth it and started selling faster. Not sure about macOS but iOS is big in China and some other markets too; also, adding Spanish (es-mx) increased my sales in the US. I explicitly only offer support in English or via auto-translation (Google Translator). It's not that bad and people try to communicate in English quite often. Btw. I optimized the UI so that I don't get that many requests - basically, don't stick the Support button in their face :-)

    Regarding your app, I am happy with it the way it is and recommend it. I am not sure what more value it could give me than what it already does. If I were in your position, I would probably start building something else, possibly to complement Qbserve in the same field.

    1. 1

      Thank you, this is really helpful!

      Re: "good software" – I agree, some apps have great viral potential, my point was that being just "good" is usually not enough. :(

      Re: Upwork – before learning it myself, I tried hiring a high-rated SEO professional there for a consultation but got really poor results. So I feel like "strategic" tasks should be done in-house. But we hired people for design and outreach email collection.

      Re: translations – interesting, I should probably try at least Spanish and Russian after all! But the redesign needs to come first because these are wordy languages that require more space than English. :D

      I've been drafting our next big app in the last months and even doing marketing research before writing any code! It's not exactly complementary for Qbserve but still a productivity-related software, so I hope it can benefit from everything we've learned so far.

  8. 1

    Ivan, I've been using Qbserve for over 9 months now and it's easily my favourite app. There are a few projects I'm working on myself and the percentage indicator up top hitting 90-100% each day is getting me closer to where I need to be, so thank you! Have shared it many times with friends and colleagues.

    Being a Product Designer, I've gone through several re-designs. After reading your reluctance to re-do the UI and having gone through the same issues with people not liking change, this might be a great opportunity for you. The existing product could stay as is but with an 'Upgrade' or 'Try out the new Qbserve' for x days. This way people still have access to the old but can be enticed by the new. Has worked great in the past for me.

    1. 1

      Hi Daniel,

      Thank you, I'm glad it helps! Yes, we can probably go this way. "Qbserve X" or something :D

  9. 1

    Brilliant article and incredibly informative! Thank you :)

  10. 1

    I was thinking "Where do I know which guy's name from?!?" then remembered trading emails with you and buying Qbserve in the early days after that Show HN! :) Glad to hear it's still going well.

    We have a productivity app within the Apple marketplace (iOS app store) - Streaks - https://streaks.app/. Press was a tough battle until we had a brand established. Early on, a relationship with Apple's dev relations was probably the key. Otherwise, we've also found that general press can be more work than it's worth. It can be really frustrating.

    Incidentally, I also have a time tracking project - it's becoming an epically competitive space - https://usepunch.com

    1. 1

      Hi there! Yes, the time tracking market has gone crazy since we started Qbserve! It's also extremely hard to compete for visibility with business-focused time trackers that have huge LTVs and can easily outspend a pay-once product.

      Streaks looks amazing, totally deserves its Apple Design Award!!

      1. 1

        The first time I looked at Toggl's list of staff, my jaw dropped. Imagine having your time over again and building your solution a few years earlier when competition was sparse. You'd be tripping over money.

        1. 1

          Ouch, yes, we were too inexperienced and missed many good opportunities in games and software 6-9 years ago. Well, it's not going to become easier anyway, so the only way is forward. :)

  11. 1

    Thanks for sharing. I love Valdivia. Would you believe I lived in San Jose de Mariquina over 20 yrs ago :). Hope to go back some day. How did you end up in Chile?

    1. 1

      Thank you, what a coincidence!

      We wanted to emigrate somewhere but stay independent. Chile is one of the few developed countries where you can obtain a residency as a self-employed (most other countries require a local employer or a huge investment).

      So we asked some Chileans online about the best city to live and then arrived directly to Valdivia. Now I just don't want to move anywhere, love it here.

      1. 1

        Hi, Ivan. Thanks for sharing your story. I'm also from Russia and I've been interested in Chile for a long time for the same reason - ability to immigrate while being self-employed. However the language barrier seems like a challenge to me. From your experience, how proficient one should be in Spanish in order to comfortably live in Chile?

        1. 1

          Hi! We arrived with almost zero Spanish and had no time to learn it in the first year. But when you work from home, it's not a big deal.

          Spanish is a relatively easy language, so I picked a lot of it just by reading and listening. Talking is still a bit hard for me but I try practicing more to get fluent.

  12. 1

    Thanks for sharing, Ivan. I always enjoy hearing real stories from the trenches. Too often we get the, when I left twitter or google and already had a following stories. I wish you guys all the best!

    1. 1

      Thank you! Yes, I sometimes get envious of those stories but then I remember that we're extremely lucky to get where we are now. So I go back to the trenches, with a sense of appreciation. :)

  13. 1

    This comment was deleted 5 years ago

    1. 1

      Thank you! Best of luck with your product!!