How we built Uploadcare and made it cash-positive

Igor here, CEO Uploadcare. Indie Hackers recently interviewed me about growing our product and the insights we had on the way. I’m sharing the interview on our blog.

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

Beside Uploadcare, I’m also a board member with RIDERS. Ten years ago, my partner and I co-founded a web development agency — Whitescape. We always wanted to start working on our product, but creating an agency was necessary to acquire the initial capital and, more importantly, relevant knowledge and skills.

Before starting Uploadcare, we managed to scale Whitescape up to EUR 1M in gross revenue and launched more than 150 projects for our customers, including Intel, Microsoft, and L’Oreal.

A screenshot of Uploadcare's index pageA screenshot of Uploadcare's index page


What motivated you to get started with Uploadcare?

Well, as mentioned, we’ve already developed more than 150 different projects as a web development agency. Those were in many different industries: e-commerce, classifieds, SaaS, printing shops, social media, and more.

Every time we found ourselves developing a new thing, one component always had to be reproduced from scratch: file handling. Furthermore, we needed to maintain consistency and quality for this part of every project we supported. While developing an MVP usually takes about two months, spending two man-weeks on file issues alone just didn’t feel right.

Of course, we attempted to skip this manual work. Our engineers tried implementing ready-made building blocks like Uploadify. Still, there were no solutions that could handle all our requirements (such as uploading large files, processing media, editing images in browsers, etc.). When using an open-source product, expect you may have to deal with high maintenance costs in the future. Try finding the optimal balance between your initial and future spendings.

If you want to build something great, you need to burn through work without getting burnt.

Long story short, we decided to solve the file problem once and for all. Not just for ourselves but every developer, everywhere. Since then, we’ve found out the problem addresses much larger audiences: not just developers, but businesses. When a file upload or delivery fails, you lose a customer.

Before we began investing our time and money, we’d run some customer development surveys asking the most powerful community of skilled engineers if they needed a file management SaaS product. The feedback was pretty inspiring; it helped us get a Google Group of hundreds of early adopters. That’s how it all began.

Since then, we’ve invested $30k of our own funds and received an angel investment of $250k from one of the Vaizra Investments partners. The VC found Uploadcare in one of those “Top 10 tech startups” lists, and we signed a deal in under two weeks. We thought that those lists were bullshit, but some of them worked. 💰

What went into building the initial product?

There are pros and cons of having experience working as a web dev agency. The pros are a deep knowledge of how to gather a team that can build an MVP and knowledge of how to launch it in production. We were used to launching projects, but we didn’t know much about what to do once the MVP got launched.

If you’re working in an agency, the actual MVP launch is the endpoint. You get your money, and you can bail. 😌

If you’re a startup, the MVP is just a tiny first step: the beginning of a long journey. Well, it’s even more of an ultra-marathon where you’re short on resources and proper training. Eventually, you might succeed, but it will require a lot of patience and leaps of faith. However, you can still be eaten by vultures in the middle of your journey. It always stays on an open loop in your head, which can mess with your sleep. You need to be resilient.

The path from a technical prototype to the actual product with a working financial model took us more than a year and a half. The product we were building was very simple to use but very hard to engineer. We developed it to adapt to a user’s current state and then scale up to millions and billions of operations per month.

Now, I’m happy we spent time building a core product and weren't trying to implement the largest number of features possible. It’s served us well since, representing one of the major reasons our churn rate is less than a single percent. Developers trust our core infrastructure and recommend us to their friends. It means a lot. 🤗

A screenshot of Uploadcare's Docs Intro pageA screenshot of Uploadcare's Docs Intro page

How have you attracted users and grown Uploadcare?

At first, we did a stealth launch. We published our MVP: a landing page and a minimalistic dashboard. Then, we asked a few of our friends to give Uploadcare a try with their startups. I’m happy to say that most of them are still our customers. Their Uploadcare integration scaled up in line with their business. That helped us test our hypothesis without risking much (well, maybe a chance to be beaten up in a bar by a bunch of friendly folks) 🎉

As the second step, we announced our launch in many dev-friendly communities: Hacker News, Reddit, and many others. Product Hunt wasn’t even a thing back then, so we just searched for relevant news feeds and tried to get in there.

We did not have any media coverage from Tech Crunch or The Verge back then, and we don’t have it now. Some of our friends who had experience with this kind of press told us that it didn’t generate many leads. Though it’s good for getting investments in case you’re looking for the next round.

Uploadcare has been steadily growing since the very beginning. Thanks to our main growth channel: word of mouth. When your product is solid, and you value your users, that allows you to work miracles. The only problem is it’s not scalable.

Since most of our team are engineers, we wrote some articles as part of our content marketing strategy. It worked. The articles still generate a good volume of traffic, fresh leads, and word of mouth. We shared the articles on Hacker News, Reddit, StackShare, and Twitter.

Some good examples: “The fastest production-ready image resize out there,” which climbed to the first page of HN and presumably helped Discord to choose our open-source lib to process all their images, and “How Uploadcare Built a Stack That Handles 350M File API Requests Per Day”, which has become one of the Top 5 2017 articles on StackShare with 27k reads.

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

We’re a SaaS company and charge by the month. We use the three-point pricing model. In his simple yet very useful article “Ten Year’s Worth of Learnings About Pricing,” Tom Tunguz once described an example of it: “The software has a base platform fee, but the fee is $25,000 because it includes the first 150k events are free. Each marginal event costs $0.15.

When a community values your product, the product should not be cheap.

We started charging customers from the very beginning to cover our infrastructure costs. I can’t imagine any other option when you want to launch a SaaS product running a subscription model. We provided a free plan that suits anyone willing to play with Uploadcare for a while or use it for a small side project.

Uploadcare's Pricing page screenshotUploadcare's Pricing page screenshot

It’s a long-term strategy that has also helped us grow a developer community. Every good developer will eventually become a Senior/Lead/CTO, and we try to help them on their way. We pay it forward.

We’re cash positive, so we even have some room in the budget to experiment with marketing and paid channels without getting additional investments. We use Stripe for processing payments, by the way.

At the very beginning, our smallest plan was about $5 per month. When we calculated our margins, we decided to change it to $25 per month. It was a leap of faith, but we received a lot of positive feedback in the end. When a community values your product, the product should not be cheap. Our users applauded our decision, and no one left. Our MRR grew, and we received some cash to invest in building our team.

Monthly Recurring Revenue Growth chart(Revenue from March 2013 through January 2018)

What are your goals for the future?

Our mission is to change the fundamental approach to web development. I’m going to cite one of our customers, Gijs Nelissen, CTO of Prezly:

The best code is the code we don’t write.

Uploadcare helps engineers, product managers, and CEOs to focus on their products instead of reinventing wheels.

Today's goal is to allow third-party developers to extend our API, implementing more and more awesome features, such as AI, virus checking, OCR, and more with our generous revenue-sharing model.


If you had to start over, what would you do differently?

I’ll highlight just a single poor decision, but the failure was epic When we launched Uploadcare, my partner and I tried to keep up with both Uploadcare and the Whitescape agency. We even launched a third startup, RIDERS. It messed up our focus badly. It cost us oodles of frayed nerve endings and, in the end, about two years of precious time.

We’ve managed to keep all of our startups, but if Elon Musk is working on a time machine… please ask him to drop me a single line: “Man, don’t do it!”


Have you found anything particularly helpful or advantageous?

The main and the hardest thing is your focus. We spent a lot of time juggling with three startups. It’s just not right and exhausts your mind and body. You can just burn out. 🔥

Another thing that helped me personally was reading. Classic fiction and fundamental literature help you learn, improve, and think straight. History and religious literature lay your foundation. It helps you take your mind off work and plants many seeds that will eventually help you make your own decisions without blindly copying recipes from business and coaching books.

I spend a lot of time cycling, climbing, and skiing backcountry. For me, it works as a great mediator without actual acts of meditation.

Classic fiction and fundamental literature plant a lot of seeds that will eventually help you make your own decisions without blindly copying recipes from business and coaching books.

When I do sports, I free my mind from my work and troubles. My subconscious gets it and generates ready-made decisions and ideas that pop out my mind on some mountain in the middle of nowhere 🌄 Every time I get back from a journey, I have a to-do list.

And every time I get back from a vacation, I feel refreshed and motivated to improve our business further and further. If you want to build something great, you need to burn through work without getting burnt.

If you found the read useful, give me a shout out in the comments. 🙌🏻

Infrastructure for user images, videos & documents