Creating An API for Developers Earning $15K/Month

Published: December 13th, 2018
Ervin Ruci
Founder, Geocode.xyz
$30K
revenue/mo
1
Founders
2
Employees
Geocode.xyz
from Ottawa, Ontario, Canada
started December 2016
$30,000
revenue/mo
1
Founders
2
Employees
Discover what tools Ervin recommends to grow your business!
platform
email
customer service
social media
productivity
analytics
Discover what books Ervin recommends to grow your business!

Hello! Who are you and what business did you start?

I’m Ervin Ruci.

My latest startup is geocode.xyz - a geoparsing, geocoding API for the world.

Launched in 2016, it has grown to thousands of daily users, over a hundred millions in monthly API calls and revenues of over $15k per month. That’s over 1,000% up from a year ago, and still growing fast - the current month is always higher than the previous one.

creating-an-api-for-developers-earning-15k-month

What's your backstory and how did you come up with the idea?

I have a background in CS and Math (My master CS thesis was on a class of 3SUM hard problems in Computational Geometry)

I’ve been building independent bootstrapped startups since 2005, when I quit my last day job. One of those is geocoder.ca, a geocoding API for Canada and the US I started in 2005 (and is still going strong). It also served as the starting point to go global with geocode.xyz in 2016.

Identify your strengths and do what you like to do. Having a sense of purpose is important, especially when that purpose is to solve a problem you can muster the ability to solve.

The idea of building geolocation API’s started from the time I was in Graduate School, due to the lack to such APIs at the time (Google Maps had not been released yet.)

I did not validate the idea, this was a product I needed myself for a number of other projects I was working on. As demand for the API grew, so did a business plan aimed at paying for the time it took me to add all the features that others requested.

Take us through the process of designing, prototyping, and manufacturing your first product.

Designing a geoparsing/geocoding software is a complex tech process. It combines NLP techniques with Computational Geometry algorithms and fast in-memory databases.

It took about a month or so to build the first geocode api back in 2004. It only worked for Canada, and was limited to forward geocoding. Later on it grew to include the US.

The process usually goes as follows - write scripts to clean up and import data from different sources. Validate and test. Tweak the software to deal with more edge cases (without affecting anything else). Estimate various performance and accuracy metrics and finetune further towards the ever closer goal of 100% coverage and accuracy.

There is always an inverse tradeoff between performance and accuracy. Now the API can guess with a high degree of probability geocodes from (possibly misspelled/incomplete) locations mentioned in text. The north american version of geocoder.ca (USA & Canada) has taken 14 years to build, and I’m still tweaking it every now and then.

Building an API that works globally though, was a different kind of beast.

In 2016 I started working on a complete re-write that is now geocode.xyz, while on vacation in Spain. (I like taking working vacations)

There was enough open geodata available globally due to the success of the OpenStreetMap project and various government open data initiatives, to make the effort worthwhile.

The new rewrite of the software uses reinforcement learning techniques to geoparse and disambiguate locations from text of any length, which are then geocoded by matching them against existing geocoded datasets based entirely on open data.

In the beginning the startup costs were close to zero (I bought the geocode.xyz domain name during the xyz sale in 2016 for $1) For servers I used a free cloud instance on AWS and I also released the software on AWS Marketplace for those requiring better performance (which is directly related to the specification of the provisioned server)

About two years have passed and the costs of running the business have somewhat increased alongside revenues.

I make money from AWS Marketplace. The software is rented by the hour. It costs between $0.10/hr to $6.00/hr, depending on the number of CPU’s on the hardware. AWS handles all customer relations, so that part of the business is on autopilot.

I also make money by selling API access directly That pricing page was only recently put up, for a while the API was free and most of the business model was based on AWS.

Although the free version is now more restricted via throttling, I have picked a pricing model for API access that is very cheap compared to the closest competitors. While some have gone the other way and actually increased pricing, for eg Google Maps Platform, I’ve kept the pricing simple and low.

Geocode.xyz offers unlimited plans for a flat monthly fee of 200EUR as well as pay-as-you go options.

Describe the process of launching the business.

The process of launching a business like geocode.xyz is trivial. Point the DNS to the server with a working copy of the software and done! That was not a landing page - I never built one - it was a working API.

It was out there for about 6 months before it got noticed and started getting its first clients.

The greatest resource is the general availability of technology. With a cheap laptop connected to the internet you can learn and create anything you want.

I was the first and only client for a while (I used the API for my book scanning project - books.geocode.xyz and a few other projects I was working on at the time) I did place a link to geocode.xyz from geocoder.ca, so that’s how it got noticed initially I guess.

The very first client was a journalist who wanted to analyse twitter feeds for local attitudes towards the european migration crisis around 2016. They built some neat real-time data visualizations using the geocode.xyz geoparsing API and I spent some time to make it work better towards that specific use case. (I did this for free, so that’s not a client technically)

The first paying client on the other hand came around December 2017. I’m not a liberty to share more details about the client and their specific use case, suffice to say that it was a situational awareness app.

Then in January 2018 there were 3 more clients. Another 5 in February and so on. Some of them use the geoparsing API, others utilize geocoding and/or reverse geocoding. The Batch geocoding port is also quite popular, especially with smaller clients who are just looking for a quick and easy way to visualize data on a map.

In the meantime the AWS marketplace instance had sales very shortly after it was published back in 2016.

At the beginning of 2018, geocode.xyz started getting a lot of clients, so it is from this point onwards that I may call it a “business”. I don’t know why. My marketing efforts have been limited to giving talks at conferences (here is a recent talk). Perhaps some of those who had found the API useful, linked to it and wrote positive reviews in certain forums.

Since launch, what has worked to attract and retain customers?

Since launch my main focus has been on improving the API. It has gone a long way since two years ago.

Now it corrects and standardizes messy addresses in any language, reverse geocodes with high confidence scores anywhere in the world, geoparses street intersections, autocompletes, provides sentiment analysis on text, geolocation codes based on Hilbert spaces, elevation data on reverse and forward geocoding, IP address geolocation, and geocodes based on many more data points (postal codes, landmarks, physical geography, etc)

Geocode.xyz is now an enterprise contract selleron AWS Marketplace (as of two months ago) and a Standard Technology Partner on AWS (as of Nov 1st 2018). Enterprise Contract for AWS Marketplace gives large enterprise customers the option to purchase software solutions using a standardized contract template. That removes a hurdle we used to have in negotiating large scale deployments of our solutions on AWS.

Building a better product goes a long way towards gaining and retaining customers. Marketing helps too, taking the time to do this interview is an example of the type of marketing I do. Conference presentations is another.

I suppose once a product gets noticed it grows fast, and this happened in 2018 with geocode.xyz. My guess is, if I can continue to add requested features and improve on existing ones, that this growth will continue until it plateaus due to the limited size of the market for this type of API and on the potential entry/growth of other competitors.

I still don’t really know what happened in 2018 that caused geocode.xyz to get noticed and why that did not happen in 2017. It is not something I’ve done. I was certainly working a lot harder on this in 2017 with fewer results.

How are you doing today and what does the future look like?

Geocode.xyz is very profitable with running costs staying below 10% of overall revenue.

A lot of new features will be coming in the coming months, including enhanced reverse geocoding - a much-requested feature from our IoT clients.

Long term, I intend to further the collaboration with AWS, because that is currently the fastest growing revenue segment.

Through starting the business, have you learned anything particularly helpful or advantageous?

Running your my business(es) is a lot of work. Going from idea to product, especially at the start, is a lot of effort. The product is never perfect, so the effort in on-going, because I’m a perfectionist.

I can also work less and take time off - and I do occasionally - although vacations do tend to turn into working vacations. The business can run itself without much involvement from me at this stage. I still work hard, because I like it, and I feel more of a sense of purpose this way.

I’ve worked harder each of the past 13 years than I did during the previous 7 years as a full time software developer. I’ve also earned much more.

What platform/tools do you use for your business?

I’ve built my own content management systems, integration tools with Paypal/Stripe and I use nothing more than a simple text editor on a terminal window to edit code on a server.

The only other tool is a laptop that I use to connect with my servers and which I carry with me pretty much everywhere I go.

What have been the most influential books, podcasts, or other resources?

I’ve never read any business books nor utilized any other resource on how to do what I do.

I do follow some of the discussions on Hacker News, Indie Hackers and a couple other blogs to check out discussions on topics I find interesting.

The greatest resource is the general availability of technology. With a cheap laptop connected to the internet you can learn and create anything you want.

Advice for other entrepreneurs who want to get started or are just starting out?

Identify your strengths and do what you like to do. Having a sense of purpose is important, especially when that purpose is to solve a problem you can muster the ability to solve. That, combined with the purpose of being financially independent, could convert your time into a successful business.

My own strengths have revolved around the design of algorithms. My weakness is the business side, but that’s not too hard to figure out once you have a product that works well.

Are you looking to hire for certain positions right now?

I am hiring right now.

Where can we go to learn more?