Hello! What's your background, and what are you working on?
My name is Aaron Davidson, and I'm in my late 30s. After I finished a BSc. and MSc. in Computer Science, I've worked at or co-founded a number of interesting software companies — in biotech, online poker, games, and communications software.
Cronometer.com is a personal diet and health tracker that (unlike the more popular mass-market trackers out there) features an eccentric devotion to overly-detailed nutrition data and analysis, and a pedantic focus on getting the science and data correct.
Cronometer started as a personal side project in 2005, and over the years slowly transformed from a hobby into a real company with $40,000/month in revenue, several full-time employees, and over a million users.
What motivated you to get started with Cronometer?
It was 2005 and I wanted to live forever... I was volunteering with Aubrey de Grey and the Methuselah Foundation and was learning all about the CRON diet (Caloric Restriction w/ Optimal Nutrition), which at the time was the most researched intervention in mammals that provably boosted life and health-spans.
People interested in trying this diet need to carefully analyze and track their nutrient intake to safely do a long-term calorie restricted diet. Nothing out there at the time was any good, so I wrote my one diet tool.
I called it "CRON-O-Meter", as the program featured little progress bars for all your daily nutrient requirements. As you logged healthy foods to your day, you'd see your target bars fill up to 100% — hence the "O-Meter" part.
This was just a little Java + Swing desktop GUI app I released as an open-source project on SourceForge, and announced to the other CRON hobbyists online. It slowly gained a small following in this community and spread from there. I continued to maintain the project and keep the data updated for many years, and it continued to slowly gain popularity.
What went into building that initial product?
It took about two months of my time to launch the MVP (minimum viable product), and then about three more months to iterate and roll out the iOS and Android apps, and the premium upgrade. I wrote the server/web version in Google Web Toolkit, so it's primarily Java, and we run on Amazon Web Services (AWS).
During this time I was unemployed and doing a small amount of consulting with my former employer to pay the bills. I was also diligently skiing all the fresh powder in Banff and then scrambling and mountain biking the nice summer days — I had a pretty awesome work-life balance in those days.
At what point did you begin to turn Cronometer into a "real company"?
At the start of 2011 I had just quit my high-paying job in online poker in Ireland and moved back to the Canadian Rockies to be a ski bum for a while. All the CRON-O-Meter emails (bugs, questions, requests) were starting to feel like a bad job. Clearly there was some traction here.
I knew I'd need some income soon, so I started a complete re-write from scratch that would become the SaaS version — hosted in the cloud with a web-app and accompanying mobile app. In February 2011 I launched Cronometer.com.
It was the definition of a minimum viable product — embarrassingly ugly, clunky, and limited, but it worked. I launched the free web version with a few Adsense ads and a premium "gold" version users could subscribe to. I also continued to support the open source CRON-O-Meter app, but included an easy way to migrate the data into a Cronometer account.
Because of the historical user base, I immediately had users and a trickle of revenue. By this time it was also clear that while it was designed to scratch my own itch, it was being adopted by many other groups who needed hard-core nutrition analysis — athletes, people managing medical conditions, vegans, and ketogenic dieters.
By the fall of 2011 it was making roughly $2000/mo in revenue — more than enough to cover hosting costs, but not nearly enough to live off of. At that same time, several friends all got laid off in the aftermath of Full Tilt Poker's spectacular self-destruction (a whole other long story), and I ended up spending the next four years with them doing two other funded startups.
During those four years, I had very little time to devote to Cronometer, and it was essentially on life-support and basic maintenance. I'd occasionally squeeze a few new features in here and there, but it was pretty limited.
Cronometer's home page in May 2017.
Despite this, it continued to grow solidly each year. By the end of 2012 it was making $3.5k/mo, then $6k/mo in 2013, $12k in 2014, and $18k/mo in 2015. In 2015 I started using some of the money saved up to hire some contract developers, and I started making some progress on much-needed product improvements.
In 2016 (at $28k/mo) I went from working full-time to part-time at my other startup and hired my first full-time employees. In 2017 I finally went full time. We are now making $40k/mo and have 4 full-time and 2 part-time staff.
Despite slowly bootstrapping from a hobby to a real company over 12 years, we're still very much like a young startup in many ways, since the pace was so incremental for most of those years.
What'd you do to spur that kind of user growth over the years?
We've grown almost entirely organically from word-of-mouth. If you have a noteworthy product and you're willing to sit and wait 5-10 years, organic acquisition is easy!
We actually still have very poor SEO. We are largely a single page app with very little content that can be crawled. Since our competitors are so SEO-driven, we decided not to invest much in playing that game. We don't have much SEO presence at all. What we do have are lots and lots of people chatting about us on the internet, recommending it on their blogs, forums, Reddit, YouTube videos, and so on.
We did experiment with paid Google and Facebook ads, but we quickly determined we'd never come close to making a positive ROI on those ad spends.
Our most successful active marketing efforts have come from partnerships and sponsorships with targeted influencers in the personal health and dieting space. Cross-promotions with authority figures that are already big fans of Cronometer has helped attract users from their audiences.
As we mature as a business we'll need to develop a real brand and marketing strategy, but right now we're still very much product and engineering focussed. We currently get over 1500 new signups per day, but we have a long way to go to improve retention.
What's your business model, and how have you grown your revenue?
We make revenue from 3 main sources:
- Adsense revenue from the free version
- Subscription revenue from the Gold and Professional editions
- Mobile App sales
We use Stripe exclusively now. We used to offer Stripe, Paypal, and BitPay (for Bitcoin), but simplifying the option to just use Stripe was worthwhile.
Over the years we haven't really changed anything much at all with the structure here, and have just continued to focus on improving the product itself, which has gained us better retention and conversion rates.
We have a very interesting seasonal pattern. Every year we see massive growth starting on January 2nd. After the New Year's Eve hangover has worn off, the resolutions kick in and people start working on their beach bodies for summer. We see rapid growth until March and then slower growth into August. Then there's a slow decline into the winter and particularly large drop from Thanksgiving on into the Christmas holidays.
It all makes perfect sense, and we see this very strong pattern every year. The good thing is that we always grow far more in the first half of the year, than we shrink in the last half!
Our revenues have grown proportionally with the growth of our user base, with the exception of ad revenue which has dropped significantly since last year, despite our having a much larger audience. Many users are installing ad blockers, and it's been a constant source of frustration that Google's Adsense constantly serves out malware and misbehaving ads that take over the browser.
What are your goals for the future, and how do you plan to accomplish them?
We're really excited about our recent big projects. We recently launched a Professional version that lets healthcare and wellness providers manage their roster of clients. They can monitor, interact with, and coach them in real time, all within our system. We think we're on to a big new market with this and are rapidly improving it as we listen to feedback from out first 100 Pro customers (doctors, dieticians, fitness coaches, nutritionists).
We're also forging ahead with some big investments in our data curation. We want to have the biggest and best nutrition database on the planet. We're only going to be able to do that if we can find clever ways to automate what is often very labor intensive data entry and curation. We're working on some smart systems to try and bring those costs way down. It's a difficult project, but a key component to our long-term success.
On a more personal level, my goal is to keep growing the company into a robust one that will be around for a long time. I have a great lifestyle and still live in a small mountain town (Revelstoke, BC) with a great Ski Resort just minutes from my front door.
What are the biggest challenges and obstacles you've overcome?
The biggest challenge has always been the lack of resources to get things done. Being bootstrapped means your capacity to get things done is capped by cash flow, which can be endlessly frustrating. We're always maxed out on cash flow with an ever-growing backlog of work to do. We have to wait to hire much needed people until the growth is there to support them.
I often wonder where I'd be with this business if I had raised a traditional round of financing and been more aggressive with it early on!
One decision I made early on has had long-lasting consequences. When I wrote the native iOS and Android apps, I didn't spend time making any UI to sign up and configure an account. I focused just on getting the app out with the essentials, so an existing user who had already made an account on Cronometer could download our app and use it.
However, anyone new who came to us through the App Store would not be able to make an account. To avoid the customer service overhead of all the complaints I'd inevitably get from these users, I decided to charge for the app hypothesizing that no one would pay $2.99 for the app if they didn't already have an account.
Fast forward to today, and we're kind of stuck with that old decision because those app sales are a large chunk of our revenue, and we can't afford to change it to a free app with ads without a huge hit to our cash flow. Meanwhile, our competitors that released free apps grew far faster — MyFitnessPal sold to Under Armour in 2015 for $474M. Oops!
Support has been a huge burden. Even with dedicated help, so many things still have to be escalated to me, it eats up a lot of time that I wish could be spent on development instead. But at the same time, it's so important to have that constant dialogue with your customers, and talking directly to customers experiencing pain points in your product is invaluable.
What have your biggest advantages been?
With this business, I had the rare luxury of stumbling upon traction without looking for it. It started as a personal hobby project to scratch my own itch, and eventually there was a clear signal that there was a market demand for it.
If you're not trying to be the next Silicon Valley unicorn, that's probably a good strategy for finding traction. If you build a product for yourself because it doesn't yet exist and you really need it, there's probably a million others like you out there. Maybe not a billion, but unless you're a freak, there's a million. And thats enough to build a good small company out of.
I can't really claim there's any other secret sauce — if you have an MVP with traction, then all you need after that is good execution. On the development side, I'm very comfortable. Other than resource constraints providing a heavy throttle, we can execute on that very effectively. I feel like at this point in my career I confidently know how to write software and run a team.
Executing operationally is also important. Pay attention to your metrics/log/customers every day. I have a morning routine over my first few cups of coffee:
- I read through the support email queue and forums and triage any important issues.
- I scan our system metrics in New Relic, read through any fresh stack traces and crash logs.
It's a quick pulse check on how things are operating, and it often uncovers hidden issues I wouldn't have otherwise spotted until much later.
As we're a 100% remote team (with people in Canada, US, and Ireland), we use Slack to run the company. Not just for daily chat, but operational awareness. We integrate source control, issue tracking, builds, deployment messaging, alerting, sales, and KPI messaging into Slack, so as a team we all know operationally what's going on in the system.
On the marketing side of things, I'm still completely out of my element. To grow there, I feel will need outside help or to hire to bring that experience on. As an engineer, I just don't process that world well. On my more arrogant days, I feel we don't need to invest in marketing, as we already have strong organic acquisition, so resources are better spent on improving the product (yielding better retention and more word-of-mouth).
I firmly believe in making sure we offer great support. Nothing surprises and delights customers more than a fast and personal response to their emails. Don't waste opportunities to delight your users. This pays dividends and helps you earn loyalty and glowing reviews.
What's your advice for indie hackers who are just starting out?
Most of this is cliche, but it's true!
Release early and often. You should constantly be embarrassed about your product in front of people, and just keep grinding away at improving it in the open. People are forgiving if it's useful, and respond positively to seeing progress! Feedback is invaluable. The more they feel your product has potential, the more complaints you'll get. Complaints and demands for improvements are a strong signal you have traction. Lack of criticism means no one cares about your product enough to complain.
Have a way to make money from day one. You need to cover costs, and you need to know if people will pay. And users need to know you're not going to go belly up, so you'd better demonstrate a viable business model from day one, even if you have a free tier.
I worked another job full time while running Cronometer for years. It was doable, but I came close to burning out several times. To help with this, I was lucky I was able to negotiate moving to part-time at my day-job until I could afford to go full-time.
Cloud all the things! We use AWS, BitBucket, Pivotal Tracker, Stripe, and Slack.
Work/life balance, duh! I don't work more than 40 hours a week. I take mornings off to ski the powder days. I live a good life. It's a marathon, not a sprint.
Despite having a viable and growing product that people love, I still wake up every day and see a dumpster fire. All I can see are all the flaws and missing features and problematic user experiences. All I can do is spend our limited resources to try and improve things, one day at a time.
Where can we go to learn more?
I'm happy to take some questions down below!