· 23:08
Jack: hi everyone, you're listening to Scaling Devs, the show that investigates how devs go from zero to one. I'm joined today by Ed Freyfogle, who is the co-founder of OpenCage, a Geocoding api. And Ed, is also the host of the Geomob, Ed, thanks so much for joining.
Ed: Thanks for having me. Great to be here.
Jack: Ed, could you tell us a little bit about yourself and a little bit about OpenCage?
Ed: let's, let's start with me. I am, , an internet veteran. Uh, you know, started my career about 25 years ago during internet 1.0 times. Uh, worked at Yahoo for a long time as a software developer. Then, eventually started my own company, which was a real estate search engine. And we kind of grew that business over the years.
And one of the key things that we needed in building that was geo coding. Which is the process of, you get an address and you turn it into geographic coordinates or the opposite, you have geographic coordinates and you turn it into an address. anyway, you know, I could go on for hours about the sex, drugs and rock and roll of online real estate.
But, uh, long story short, we eventually sold that business in 2015. We, we had built up this knowledge of, of Geocoding in house and, and this technology, the buyer for various reasons was not interested in that. It was still kind of in its infancy. And so myself and a colleague from my old company, we then took over the geocoding piece and branded it as OpenCage, and that became our geo coding api.
And we've been running it ever since. So I guess it's been seven years now. Main point about um, OpenCage is we do one thing, uh, which is geo coding. We do it using open data, so this is very different than proprietary geo coders. So we use data sources like Open Street Map, that's, that's probably the biggest ones, but there are many others as well as particularly country specific data sets.
Um, and we kinda aggregate all that data and then, provide a clean, simple, easy API for people to, to geocode. We do both forward and reverse geo coding. So address to coordinates, coordinates to address. We do it for the whole world. Different offerings for different types of customers ranging from, tiny startups or even just one off projects all the way up through, and, you know, people doing tens of millions of API requests a day usually, for things like vehicle tracking or things like that.
Jack: That's really cool. And so just to make sure I understand, so it'd be like if I was starting like a, a mobile app to find dentists, would I use OpenCage to.
Ed: You could, you could. So if you wanted to let people do a search, like, you know, show me, um, search for dentists in London or something, you could do that. , the main use case is people who have large databases of addresses. So, for example, a real estate site or, company database or whatever.
So imagine you have, you have some sort of service where you have a continual flow of incoming addresses that you want to, operate on geospatial. So most geospatial software, of course, works on longitude and latitude. Okay, so the step one of almost any gsta process is take my addresses, turn them into longitude and latitude so I can show them on a map or I can do all kinds of, searches and queries on them and analysis.
So we have a lot of customers kind of from, data processing kind of companies. And then the other ind use case is the opposite, where you have coordinates from say, a tracking device or, or, a mobile app or so. And you want to turn that into human readable information. So imagine, you know, someone fires up your app and you in the app, you can get the coordinates, but you wanna show them, you wanna know which country are they in which state, which city, you know, like on Twitter, the tweet sent from, , this part of is LinkedIn or whatever,
There are a lot of different twists on it. Different levels of granularity and things like that. And, the world is actually a very, very complicated place in terms of how, how humans have chosen to arrange it. And there are all kinds of edge cases and things like that. So what we try to do is, is solve all those.
Mash up the geographic data also with other, data. So for example, things like time zones or all this kind of stuff, and make it as simple as possible for software developers to just utilize this, very clean, simple interface, very reasonable pricing. A very reasonable pricing model as well.
Jack: Yeah, I really liked the way you talk about the pricing on your website and compared to like other services, um, it's all very transparent.
Ed: so as I said at my, at my old company, at the real estate, company, we started kind of way back in the day when the whole idea of mapping mashups, came out and like, , Google Maps launch and for the first time you could kind of put things on a map. I mean, this sounds like the stone ages these days,
we used Google Maps heavily and we were like a big Google Maps case study when it first came out. And it was super cool. And then all of a sudden Google's like, okay, now we're gonna introduce quite severe pricing. A a, we couldn't afford it cuz we were a startup, but also, you know, really felt like kind of a bait and switch type thing.
And the pricing was kind of unclear. Um, and actually even to this day, they have gotten better. You can go to their site and look at the pricing, but very, very quickly, if you have any significant volume, the pricing becomes contact sales. Which sucks. Because then you know, you're not, getting the best price.
You're getting whatever price you negotiate and. and it's just not transparent. You can't plan for it. And so we try to go the opposite direction. We also know, you know, obviously cloud services have become much more, , prevalent and if you ask people, you know, people who use AWS or whatever, and we're like, what do you dislike about the pricing?
One of the things people really hate is that it's just not, it's not transparent and it's hard to plan. They don't know what the price is gonna be. And so we try to offer the opposite. We have flat fee pricing. so you, can get at different packages, small, medium, large, each package has some, limits.
But if you, you know, on a given day, if you need more, you can go over your limit. No problem. Our limits are based on the, daily average over the course of a month. So, you know, if every day you're going over your limit, then at some point, we say, okay, you need to move from small, up to medium.
But you never get a surprise Bill. You know exactly how much it's gonna be. I mean, basically we, we, put ourselves in the shoes of the developer because that's exactly who we were. And we think, what, what is the model that we would like? And, and that's what we try to do.
Jack: Yeah. And it, it seems like your big competition is Google, in the space
Ed: we have a couple, Google, a couple years ago, Amazon also started offering geospatial service. But really I would say we have two competitors. One competitor is these, these giants, the, the proprietary giants. So Google, Amazon, companies, like there's a company called here. But at the other end of the spectrum, because we're using open data and we're relying heavily on various open source, software architectures and things, many people try to do it themselves.
Okay. And, and they certainly can. I mean, it's, complex, but it's, it's not, uh, rocket science. You can do it yourself, but then you have to maintain it. And actually, many of our best customers are people who originally did it, the. Realize it's kind of a living beast. Very often they come to us when they had one guy in the team who, who set it up and everything.
And then for whatever reason, he's no longer there and has left the company. So now they realize, oh, Crap. We don't really know how to maintain this. And so they want the experts to, take it over. I can tell you it is, definitely much more cost effective for us to do it, do it for you than for you to try to do it yourself.
But, you know, developers like to tinker and play, so a lot of people need to first learn the hard lesson that it's, uh, it's better for us to do it for them. But yeah, those are, those are kind of the two main competitors
Jack: yeah, that's interesting. And, Adam d Vander, who actually recommended that you come on this podcast. Thanks Adam. Um, I know it talks a lot about this like kind of developer jto mind trick about like showing how hard it is to actually do the thing yourself. And then, um, how do you kind of overcome that?
Ed: Yeah. Well in our case, I mean obviously we, provide a software service, but it's a little bit different than most software in that there are two pieces. There's the software plus the data, and the data is changing continually. And so, for example, open Street Map, which is the main data source that, we're building upon, uh, is getting like five to 6 million edits a day.
Okay? So this is not, um, a static data set at. Obviously you can just take a snapshot, but then you're getting out of date very quickly. So the DevOps challenge of keeping that up to date is very real. We try to make that clear to people. Not everyone, you know, some people have the skills to take that challenge on and wanna do it themselves.
Some people don't. The other point to make is that there are a lot of edge cases. They perhaps don't anticipate. I mean, geography is so complex. Every country does it slightly differently in how they're ranged. You know, and, and then depending on your needs, people want different levels of granularity and things like that.
People wanna search a culture search very differently. So in the UK if you ask someone whether they live, they start spitting out some incomprehensible string of, letters and numbers. That's how UK post goods work. And society has kind of agreed we're, we're gonna use post goods, which makes no sense to many people in, in much of the rest of the world.
Names change all the time of roads and things, but also even of regions you know, it's weird and wacky and wonderful. That's, why we enjoy it. But, it's really, it can be nontrivial depending on your use case. So,
Jack: I know that you are completely bootstrapped, um, with OpenCage. Could you talk a bit about what it's been like to bootstrap?
Ed: So as I said, we, we spun out of my former company and at that point, the service, I, think maybe we had one or two customers. We had kind of just launched it the, the year before, as they had an experiment and, and we had just put up a webpage and said, you know, here's, here's our service.
Does anyone wanna use this? And announced it in various places and a few customers came in and then, You know, I just sold my company and was kind of taking a break, but I was like, you know, I need a new project and I want to keep learning things and doing things. So myself and my colleague, we said, well, let's, let's run this for six months as a side project and see kind of how it goes, right?
And we'll use it as a chance to learn, and explore. And so bit by bit we started working on it and adding things. And then eventually we, took it out of beta and added pricing. You know, slowly but suddenly customers showed up and, you know, of course we would learn from those customers. But we really had one huge advantage, and that is that we could afford to go slowly.
We weren't in any rush. And I frankly that was necessary because I don't know, really, it would've been difficult to accelerate things. I think, one of the big, big challenges that we have, Our service is not discretionary in any way. So you either need geocoding or you don't need geocoding.
And if you don't need geocoding, you know, you might come to our website and you like the look of it and you're like, wow, these guys are really smart and this is really cool. This is great, but you're still not gonna buy, right? Cuz you don't need it. So we need, and the people, if you do need geocoding, you already have an existing solution.
In one form or another, either you built your own thing or you're, you're using Google or whatever it is. So we have to find you or, or get you to find us on the day that you're unhappy with that existing solution, which is very difficult. And even, you know, even if people have a suboptimal solution, they stick with it for a while.
Right. Any developer, you ask them, uh, you know, of all the systems in your company are the ones that you would like to replace. They can, you know, list five or six, but that doesn't mean they're gonna replace 'em tomorrow. It, it's more like, oh, when we get to it or whatever.
So, it requires a lot of patience and just kind of slowly but steadily building awareness. In the community so that when that day does roll around that they either they start a new project that needs geocoding or they, um, you know, they get so fed up with the old solution, or they, they get the bill from Google and they're like, oh, Christ, you know, we can't keep paying this.
And that day we're top of mind. And then they, they make the, the transition to, of course, we have to follow all the basics of, you know, make it very easy for you to try our service. Very easy to sign up. You don't have great documentation. All these kinds of things. I mean, those are table stakes, but even if you do all that, you know, it's, it's difficult.
We cannot induce demand. We have to be present when the demand comes to us. So, so that's kind of, it requires a lot of patience, frankly.
Jack: That's really interesting. And you kind of have spoken a lot on some other podcasts about how you see that playing the long game is the only shortcut, and I just wondered what kind of long games that you've played, with that patience.
Ed: Well, for example, our pricing, you know, so services [00:13:00] like Google or an Amazon, you know, imagine, imagine, you know, all of a sudden you have some big spike in need. So , your database tripled in size for whatever, for because of some big promotion. I. So now all of a sudden you need to do a lot of geocoding, whereas previously you didn't.
And your costs are gonna fly, you know, go through the roof unexpectedly. Not, not unexpectedly, but like, you know, you can have this huge spike in price. You, you, maybe you didn't plan for that, maybe you didn't budget for it. And our approach is opposite. Would we want to be a long term, steady, reliable partner for our customers?
You know, they might have ups, they might have downs or whatever, but they pay a fair price and it, just goes on continually. I actually think a lot about, you know, of course we look, look for inspiration and companies we can learn from and copy the way that our customers think about us is a lot as a kind of a utility, right?
We're a very backend service. We we're a tiny piece of what they're doing. It's not visible. Usually it's, you know, part of a data processing pipeline and they think about us the way perhaps you think about your, um, electricity, right? What you want is when you flip the switch on the wall, the light should go on, and when you get the bill at the end of the month, the price should be reasonable.
And that's it. You don't, you don't wanna like every day be logging into your electricity dashboard. You don't wanna, I mean, maybe there are a few freaks like that that are into that, but the vast majority of people, they just want it to work and, and be a reasonable price. And that's exactly the way most of our customers think about geocoding as well.
You know, it requires just being a stable, steady provider to those customers. And we don't hassle them, we don't spam them. We, um, you know, of course when they have questions we answer promptly and, and try to help them. You know, we're not in their face all the time. I mean, also from a marketing, challenge, many, many people come to our site, they sign up, they get an API key, and then they never come [00:15:00] back to our site.
They don't need to, right? Cuz they're just using the api. And so we don't have a lot of touch points with the customer. They're not, we're not forcing them to log in to, get our messages or anything. They just, they use the service. You know, we charge their credit card, everyone's happy. So yeah, that's kind of what we do.
Jack: That's really interesting to think of it like a utility. And then I'm kind of imagining like a lot of the marketing as if it's like a utility company.
Ed: Exactly. You don't, you don't wanna read, uh uh, you know, electricity digest weekly or whatever, just because you wanna have your lamps work. Right. The, the marketing that we take is, um, we try to be very active and supportive to the communities that we rely upon. So, for example, open Street Map, we are corporate members of the Open Street Map Foundation, and we sponsor a lot of projects in the Open Street map world.
We try to, use our voice to amplify things. So on our blog, we interview people from the Open Stream app community and things like that. , it, then we have the, the broader geospatial community. Um, and we actually, we run an event, geo Mob, which, which started as an event and it's still an event, but now it's also a podcast.
Where we, you know, feature interesting geospatial projects, talk with people doing interesting things around geospatial. I mean, there is actually an amazing amount of innovation happening in this space. You know, we try to do innovative things around Geocoding as well, but Geocoding is a tiny, tiny building block of what's happening in geospatial.
And it's, it would be disingenuous if like every, every week we spammed our customers with our like, check out this cool new feature we made. They're like, that's not the nature of the service that we provide. Right. You know, we're doing data cleaning, we're doing, uh, you know, all these types of things, but it's not. It's not particularly exciting or glamorous. That's just not the nature of the service. But there are people doing exciting, interesting, wow type things in the space. And so we feature them in the geo mob community and, at our events and on our podcast. And that's all sponsored by us. Um, and that's a way that people hopefully build a very positive brand association and become aware of our brand so then in, you know, three months, six months, or when that day comes, that they have a, a geocoding project.
We're top of the short list of the people that they're gonna try out.
But the, the problem with this approach, or let's say the negative of this approach, It is slow. It, it's slow, it can be difficult to measure, you know, so we put a lot of effort into sponsoring these things and, and giving back to the community.
And, and it's very difficult to measure that. You know, someone who, read an interview on our blog six months ago now becomes a customer or someone who came to one of our events, you know, and had a good, had a good time, and got to know our brand and enjoyed it, then, you know, three months later, Signs up for a trial, and then three months after that, his company actually becomes a customer.
You know, that's a, that's a challenging conversion path to measure.
Jack: Do you kind of try to even measure that or do
Ed: Well, we try in the sense that we, of course, we ask people when they sign up, optionally, you know, how'd you hear about us? How did you. Or, or especially bigger customers who we might have more of a dialogue with. We try to ask them, but that's pretty, I wouldn't say that's always reliable.
Even sometimes the person themselves doesn't even know, I'd be like, how did you hear about it? And be like, oh, a colleague told me that about you. Right. And, you know, who knows how that colleague found out? Or, so you just kinda have to take it on, faith and just say, we're doing the right things.
we're getting positive feedback from these communities. We're seeing that people are doing trials and signing up and, you know, and generally things are moving in the right direction. One challenge as a bootstrapped business, you know, very limited resources. You can burn a lot of energy and spin your, you know, spinning wheels a lot that don't actually, you know, really help.
You know, in the sense of like, of course I could, I could invest a lot of energy into like, oh, how can we track who, you know, who told who to come track? But, you know, I don't, I don't see a simple way to do it. And it's better to focus on the things that we can control,
Jack: You kind of touched on it like, that you are kind of focusing on this kind of like enthusiasts of the space and like maybe like fort leaders. Do they have a lot of influence over
Ed: I think this is, this is my own anecdotal experience, but there are many, many software developers out there, and let's say the boss comes to them one day and say, oh, we have this project, we're gonna need geo cutting. Usually that software developer, probably the first thing you're gonna do is be like, oh, my friend Bob, or the guy I worked with two jobs ago, or whatever, he's kind of knows about this space.
Let me ask him. And that's because it's, it's a, it's a complex topic, right. If you're not in it day to day, you know, or even things like open street map or whatever, everyone's kind of heard of it. Unless you're spending every day in there with, you know, your sleeves rolled up and really getting into the nitty gritty, it can be a bit much and very overwhelming.
So the first step when you're, you get that type of project is you might say, oh, let me, let me ask, you know, whoever it is that knows, and hopefully that guy is the guy who's listening to our podcast, coming to our events, has heard of us following us on Twitter or whatever, you know, whatever it is.
Somehow we've succeeded in getting a touch point with that person. Again, hard to remember.
Jack: And I think like software engineers are very like kind of trusting of each other in that, in that kind of,
Ed: If I had a way to go faster, if I, if I had a, a marketing channel that I. You know, say, oh, I put in X and I get X plus one out, I would do it. But all of our attempts in that regard have been, it's easy to burn a lot of money on marketing, particularly things like Google AdWords or whatever, without really having tangible results, you know, I can definitely get people to click on my Google.
ads The question is, do they then become customers? You know, is it, or is it just, you know, I'm, I'm getting the wrong people, or I'm getting them at the point where they don't actually have demand so it, it's a challenge. Or there are a lot of people, of course, who want things for free. So we all, we do offer a free trial of course, cuz people have to try it.
But you get a lot of people who firm the free trial is more than adequate. You know, I can't spend a lot of money to get people who just come for a free trial and then never, never actually become a customer. That's not a great strategy. It's hard. We don't have, we don't have all the answers, but we try different things and so far it's been working.
Jack: Amazing. that's all we've got time for. It's been super interesting to hear, about OpenCage and about yourself. Where can people learn more about, , about you and about Open?
Ed: Probably, the easiest way is you can, uh, follow me on Twitter, which, my handle is Fry Fogal, which bit of a cumbersome spelling, but maybe you can put in the show notes. But, um, about OpenCage, if you just search for. Open cage geo coding, you know, we'll be there. Um, if you are interested in geospatial stuff, then I highly recommend you, check out our event and podcast.
So it's the Geo Mob Podcast. We host events. We originally started in London when I was living in London. and now we do them in a couple different cities around Europe, London, Barcelona, Tel Avi. Hopefully we're gonna be adding a few more cities in the coming, coming year. And the way the events work is we just have, , four or five different people kind of give brief presentations about their projects and then we go drink beer at a pub and, um, that's it.
It's just people talking about interesting projects they've been working on. I mean, it could be startups, but it could also be hobbyists. A lot of people from the open stream map community. It could also be academics. And occasionally we have people from kind of like the big companies as well.
Come along to an event and if you can't make it to an event, check out our podcast where we then interview the people who have spoken. So yeah, would love it if anyone, anyone gets in touch with any questions.
Jack: Thanks so much for joining Ed, and thanks everyone for listening. We'll see you again next week.
Listen to Scaling DevTools using one of many popular podcasting apps or directories.