Hello! My name is Erik Rothoff, and I work together with Johan (my twin brother) and Mattias on an RSS feed reader called feeder. Johan does design, Mattias is focused on user experience, and I'm the programmer — I keep everything up and running.
feeder allows people to follow RSS and Atom feeds and get notified in different ways. We have a Chrome extension, an iOS app, a web app, and soon also an Android app.
Our competitive edge is that we always try to do things in a simple way. User experience is key for us. One much-appreciated feature is that you can set updates as fast as 1 minute. Our default is still insanely fast compared to others: 10 minutes. Besides our users being tech savvies like us, we get a lot of marketers, lawyers, and businesses as customers for whom fast updates are crucial.
It began in 2010 when I first moved from Firefox to Chrome. I missed having an RSS feature in my browser, so I began working on feeder in my spare time during a summer internship at a Swedish software company.
In 2011 my brother and I graduated high school and decided to do the whole freelancing thing. After a year, we had enough savings to try working on feeder full-time in our parents' spare room. During a 3 month period we rewrote and redesigned the Chrome extension completely. The work we did back then is still the basis for the entire product.
After those 3 months I got a full-time job at an exciting Swedish startup, iZettle, and feeder became a full-time hobby project again. At this point we started trying to monetize by adding the paid option.
Since feeder is and has always been a hobby project, we never needed any funding. The 3 months we spent full-time were funded by our freelancing. Since then, we've reinvested all revenue back into the business.
As for time, we love coding and designing stuff, so working on it after-hours has just come naturally to us.
To date we have never done any advertising or marketing campaigns. feeder has grown organically, and also through a lot of luck by via being in the right place at the right time. The Chrome Web Store has been the primary driver of growth.
For a couple of months we were growing with 1000-3000 active installs a day. This was because Google was experimenting with a feature called Web Intents in Chrome. Every time a user visited a website with an RSS feed, a small popup appeared asking, "Which Chrome app/extension do you want to open this feed with?" feeder was second on that list, under the name "RSS Feed Reader":
If you look at the graph below, you can see where Web Intents was released:
Around the time that we hit 500,000 active installs, Google discontinued the Web Intents feature and our growth flatlined. We kept our user base, but we just didn't grow at that insane rate any more.
For a long time it was only my brother and me running things, and we know nothing about marketing or getting people to talk about a product. Good marketing from the outside just looks like a good product was released. People were happy so they started talking about it. That's pretty much what we tried to do: Build a good product. Over time we've learned that it's not that easy. People don't just "start talking" about something.
Our extension is free, and to monetize we created a hosted version, and tried to convert our free user base to paid. feeder has evolved over time, and our goal is for it to be a lot more compelling than the free version. Here is a graph of our revenue:
According to Chartmogul our paying user base generates monthly recurring revenues of $2982.
We started out by taking donations from within the extension. To our surprise, we actually got some, probably around $100 per month. However, as anyone wanting to live off their business might see, that's just not sustainable.
In 2013 we released what we called feeder pro. With it you could sync your feeds between computers. The database was hosted on our servers. Users would pay a one-time fee of $20 for a lifetime account. We essentially had software licensing pricing (one-time payments) for hosted software, so to be able to keep the lights on we would need to rely on a continued stream of new users. For us it just seemed like a catch 22: We couldn't host it forever without new users, and new users would cost more to host.
A year later we switched to a subscription-based model: $2 per month or $20 per year. I can't help but think that we'd be able to support a developer full-time if we just charged $5 instead of $2. If we charged $10 per user we could have an office! It's a tantalizing thought. Just recently we have toyed around with the idea of increasing prices a bit. If and how much, we don't know yet.
If we do decide on a price change, it'll be to allow us to enhance the speed of developing new and better features for feeder. We really want our users to understand how it will benefit them if they have to pay more each month. It's a natural thing to change prices during a product's life, but you need to get your customer base to be part of the process and be clear in explaining your reasons to them.
feeder subscriptions have grown every month since creation. That doesn't mean we're not losing customers (churn in SaaS-speak); it just means we're adding more than we're churning. Our churn rate is pretty high, because of the nature of the product (heavy competition, complexity of the product) and the complexity of RSS. In the chart below, green is new customers and red is churn:
In July of this year we introduced a free 14 day trial. All literature on the subject says that it should be a good idea. Below I've graphed our results. In total it did not make much of a difference. Growth stagnated a bit, but that can be explained by the lag of new signups when switching to a free trial:
Annual plans tell a similar tale. It's too early to tell for sure, but growth is still looking good:
The huge impact has been on our monthly plan. Based on this graph it can be concluded that the only role the monthly plan serves is to let people try it out as cheaply as possible. With a free trial this eliminates the need completely. Yikes:
Revenue is not profit. So talking about revenue is never fun without talking about costs. feeder is primarily hosted on Linode, but recently we have moved some stuff to AWS. Below is a breakdown of costs.
By switching to Cassandra, and storing the contents of the posts on Amazon S3 instead of a MySQL database on Linode we were able to cut our costs in almost half:
Amazon S3 is an amazingly cost efficient key-value store for large objects. The only thing that's really costing us money is the writes. Also, Amazon SES is really price competitive when it comes to transactional e-mails:
Our goal is to build something that is valuable to our uses. If we succeed in delivering value to our users, the revenue will grow to something that will create a sustainable business within our lifetimes. We are now drawing up plans for the future, and we are all very excited to start to deliver on the "Big Plan" for feeder.
Not have two payment providers! Back in the day before Paypal bought Braintree, we had to manually integrate the two for both credit cards and Paypal transactions. Getting the two to work together has been a constant pain. I think I've spent 50% of my time just figuring out payments. It also limits which third-party tools we can use for metrics, etc.
Luck and patience. We would probably not be here today if not for Chrome's Web Intents.
And thanks to bringing Mattias onboard, we're starting to understand our users better. While getting to know them, we have really started to appreciate the support our users have given us during the last couple of years. We really are thankful for the fantastic people we have as users and are now trying our best to give back.
SaaS metrics are hard. Really hard. If you try to roll your own, you will fail. A question as simple as, "How many active subscriptions do you have?" is amazingly complex. You are wrong if you think it's as easy as counting the number of active credit cards in the system. If a user has cancelled their subscription, but paid for a full period, do they count as active or churned? The answer is: It depends. Who do you want to fool and why?
For anyone reading this far: Please remove the user graphs in your internal admin tool, and get a proper tool like ChartMogul. (Price Intelligently has a service named ProfitWell which is really slick, too.) We used to have our own graphs. Big mistake!
It might be a bit pricy, but Chartmogul provides a lot of cool numbers. It works with both Paypal and Braintree at the same time. Plus Mattias is a finance nerd, so for us it is worth it. I bet your SQL reports don't have settings like these:
I wish we could refer you to a detailed blog post about each and every question posted here, but we just haven't been on the ball enough to post that stuff. We've started to post blogs now at blog.feeder.co.
We would love to have you all try a free trial at feeder.co, and afterwards we would really appreciate if you could give us feedback on our product, so we can enhance it even further with your thoughts. Mattias personally would love to hear and discuss your feedback.
We are trying to make ourselves more visible wherever our users are. If you have any questions, we're always listening at support@feeder.co. We also have a blog, Twitter (@feederco), and Instagram (feederco). Our Indie Hackers forum handle is feederco, and we'll be available to answer more questions in the comments below.
You can also leave a comment below, and I'll try to get back to you!
Great interview. Love the graphs. That's a hell of a drop when Google dropped intents. Did you have any idea that was coming, and how did you deal with that sudden change?
Happy to answer any questions. :D