Discuss Home · Bootstrapped Podcast · Scribbleton Personal Wiki · HelpSpot Customer Service Software

Finally Launch Something for Myself (again): IP Sidekick


#1

I’ve been stuck in the rut for a very long time, failing to finish and ship my own projects. A rough estimate, I’ve a handful of incomplete person projects the last few years. Have been doing alright with client work, so it’s mostly problems with focus and discipline. Hopefully this is starting to change:

I just shipped IP Sidekick ~2 weeks ago. It’s a geolocation API, i.e it returns physical location information given an IP address. I plan to add more bits of data to it to stand out from the crowd. For example. This is the output that you get:

$ curl https://ipsidekick.com/17.142.160.59

{
  "countryCode":"US",
  "ip":"17.142.160.59",
  "gmtOffset":"GMT-7:00",
  "country":"United States",
  "timeZoneName":"America/Los_Angeles",
  "holiday":"Independence Day"
}

It includes the public holiday of the location for today.

Feedback welcome!

Also game if you want to talk about motivation and focus :slight_smile:


#2

I use https://www.maxmind.com/en/geoip2-precision-country-service for this. They are an established company and seem to be ten times cheaper than your service.

So why would I use your service? Just being honest. You don’t say where you get the data from, how do I know it is accurate? At the very least you should display the visitors location info on the homepage to demo the product.

Your free plan is generous but you run the risk of just getting lots of free users on your service.

You need more plans, free or $100 does not make sense. Also you should have a credits option like maxmind does.


#3

I don’t intend to compete solely by price. But Maxmind is $0.0001/request. Assuming 1 req/s, that would be 86,400/day and 2,592,000/month. So if you run 1 req/s, Maxmind will cost $259.2.

Naturally, it will cost less if you run fewer requests. But like I said, not competing solely by price :slight_smile:

If it’s convenient, can you share what you use the geolocation service for?


#4

OK but $100 I can get 1 million credit lookups on maxmind. That would do me ages.

I use it for to track the country locations of users who sign up to one of my sites, so I can spot fraud.

I would also use a product like this to regionalise prices on my sofware site wordcleaner.com so I could show a £ price to customers in the UK etc.

Maybe look to do a partnership with https://wpsimplepay.com/ to let users target prices to a region?


#5

Ah. Thanks for suggesting WP Simple Pay. I thought of building a WP plugin but didn’t have a good idea where to start. Partnering with some one/them sounds much better.

Thanks for taking the time. Much appreciated.


#6

Your data isn’t really valuable. I can use Rails GeoIP with MaxMind’s free version of the data and get by in most cases without even needing a web request.

The real power of MaxMind’s service is getting to zip code, dma, msa, county, city, state, etc. I would need far more granular data than what you currently offer and I can more or less get for free.

If you could get that all, it’s definitely interesting. I think your pricing would need to significantly change though - especially for enterprise customers if you want to attract away from MaxMind.


#7

And this: :wink:

Average Income (US Only) The weighted average income in US dollars per person for the zip code(s) associated with the IP address.

I do not think OP should try and catch-up with MaxMind. But I’m pretty sure it is possible to collect information of average income per area not only from US, but from other major countries - and this information can be interesting to someone providing flexible prices or upsells.

What I don’t like is the daily limits. It would make me nervous. Granted, the per day limit of 84K is rather high (for me), but I’d rather have a fixed block of 2.5M requests for $100. If one day I spend 200K, and another day 20K - it still works, I won’t get DoS on 200K day. And if I’m getting closer to the block limit too soon, I’d expect to get a email warning me, and then auto-renew if I don’t do anything.


#8

The real power of MaxMind’s service is getting to zip code, dma, msa, county, city, state, etc. I would need far more granular data than what you currently offer and I can more or less get for free.

Thanks for the feedback.

If it’s convenient, could you share what you use for zip code, DMA/MSA and city/state?


#9

Thanks!

For paid plans, the system doesn’t enforce limits at the moment, partly because I haven’t implement it and also because I am thinking of just recording it and sending an email alert after the fact to avoid issues similar to what you described. If it continues to work this way and I lay it out in the site/docs, would it be better?

Re average income: I’m quite keen on adding more data to the results. Eg. One of the things I am toying with adding an (approximate) currency exchange rate based on what the API client sends (e.g "US") and the result might be 1.3 if the user is detected as in Singapore, so sites can display an approximate price before hitting the checkout flow. There’s quite a few interesting pieces of information that’s possible though, some more useful for websites, some probably more for backend, like batch processing (like average income or flags indicating the IP is that of a proxy or it’s a bad IP, in terms of trust/fraud).


#10

So definitely a unique case for my company - TheoremReach. We basically partner with mobile app developers to allow them to monetize their users by completing surveys in exchange for in-app content.

We collect a user’s zip code, and then from that extrapolate to city, state, dma, etc. and we allow market researchers to target by whatever demographic regions they want (since they may want to talk to X people in the Chicago DMA or Y people in the city of Cedar Rapids, IA, etc.).

Something that would be truly valuable is if you could get access to Experian’s credit checking details. They have a ridiculously expensive (unless you’re doing it en masse) API that let’s you send in like name, address, email and phone number and they attempt to match it in their system. Then return you income level, estimated credit score, and a slew of other things. I’ve wanted to use it for one of my startups by price has prevented us from doing that - they wanted to charge $1 per lookup unless we purchased 100k lookups for $0.10 each. And the prices go down from there. It’d be very interesting if you could basically purchase in bulk and then re-sell for like $0.25/lookup. I think they also have income by zip and other stuff as well.


#11

I’d say no, it wouldn’t be better.

First, nobody reads docs. If your pricing page says “84K/day”, everyone normal assumes it is what it is, and not “yeah but we do not enforce it”.

Second, if you do not enforce it, why mislead people anyway? Describe it is as it is. And what does it mean “planning to send an alert”? OK, you alerted me and I don’t give a damn and use some 400K a day. What are you to do? Enforce it? Then you are enforcing it, or planning to - and saying otherwise in the docs would be a lie. Letting me have it? Well, then you’re open to abuse big time.

Third, the issue of weekdays/weekends still stands - average weekend traffic can be 10x smaller (or larger) than the weekday one; A fixed per day ratio just doesn’t make much sense, IMHO.

A “$100 per 2.5M” price tag also allows new consumers to ramp up the usage gradually. There are smaller guys who will find $100/mo price too high - simply because their traffic is just too low still. But they may grow bigger (good luck to them!) eventually. The “$100 per 2.5M” would allow them to spend these $100 over a year or two at first, and then over shorter and shorter duration - and that would be fine with them because that would mean their traffic is growing too.

(Having said that, I’m very far from the pricing in the geo-tagging industry, so all my logic can be flawed at lot)


#12

Thanks for the tip. Looks very interesting!


#13

If no one reads the site/docs, then they wouldn’t read 84K/day too :slight_smile: But I understand your point though. I definitely want to make it as simple and as clear as possible.

Not enforced as in it’s a soft limit during runtime, so it doesn’t bomb and return a 429 status code immediately when the user runs too many queries. Instead the user get a notification after the fact and be asked to upgrade if this looks like a pattern. If they don’t, the API key gets blocked. It might sound vague but the idea is rare spikes are fine and wouldn’t cause a problem for API clients operationally. Of course a consumption-based plan would work too if we provide the right knobs like auto top up.

I’m definitely exploring pricing though so all feedback are much appreciated.


#14

Hi @hboon, good to run into a fellow mobile developer outside the mobile echo chamber!

I’ve recently put all my development efforts on the shelf and started scouring for details on pre-build validation strategies, particularly whatever updates I might have missed since 2012-13. Have you embarked on this project based on your own exercise to validate pain, commercial demand etc prior to building?


#15

It’s a combination of research on competition, gut feel and a desire to carve out a different niche.

There has been numerous geolocation services that has come and gone over the years. Some pretty big ones are still operating, so the market is definitely there. I think there’s room for one that is has a different take, hence the angle on attaching results other than the typical country/city/lat-long.

I could have and probably should have done more research, but I wanted to ship something (to get out of my rut) and this seems small enough to be able to ship quickly enough (and thankfully it did!)


#16

I see, thanks for sharing your thought process. Looking forward to any updates you may share in the future!