| ▲ | Show HN: Hackney – Compare Uber, Lyft, Waymo, and Robotaxi Prices(hackney.app) | ||||||||||||||||||||||||||||||||||||||||||||||
| 39 points by griffinli 14 hours ago | 29 comments | |||||||||||||||||||||||||||||||||||||||||||||||
I created an app that compares real-time prices and wait times across Uber, Lyft, Waymo, Tesla Robotaxi, Curb, and Empower. It shows you all ride options in one list, then once you’re ready to book, it deeplinks you to the provider’s app with the route pre-filled. Edit: Here's a demo video: https://www.youtube.com/watch?v=VV8PEAjxwQI I reverse-engineered ride-hailing mobile apps to understand how they fetch prices from their servers. You sign in to my app with your ride-hailing accounts, and then my app requests live prices from the same APIs that ride-hailing apps use. Importantly, my app is built using an on-device approach: the app on your phone stores authentication tokens locally and sends network requests directly to each ride-hailing company’s servers. This keeps your accounts private. I wrote a blog post showing network requests sent by my app, which you can verify yourself: https://blog.hackney.app/p/how-hackney-works This seems like an obvious app. Why doesn’t it already exist? That’s because most ride-hailing companies don’t offer public APIs for prices and wait times. Uber does offer one, but they prohibit using it for price comparison. When someone built a comparison app using the official API, Uber terminated their API access (https://www.benedelman.org/news-053116). There are apps today that don’t use official APIs, but they run your account tokens through their servers and send price requests server-side. To integrate a ride-hailing provider, my app sends network requests for sign-in, token refresh, ride prices, and ride history (to power a feature that shows you unified ride history across apps and how much you’ve saved on each ride). Some ride-hailing apps implement certificate pinning to prevent you from viewing their network requests, and some communicate with their server using Protobuf, a data format that doesn’t include the original field names. Building an app using this approach is technically complex, but it makes possible all sorts of useful products that couldn’t otherwise exist. The app is completely free. In the future, I may monetize through a subscription or partnerships with ride-hailing companies. I’d love to hear your feedback. You can download it today. iOS: https://apps.apple.com/us/app/hackney-compare-rideshares/id6... Android: https://play.google.com/store/apps/details?id=app.hackney | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | xnx 5 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I'm wary to try this for fear of my Uber account getting locked. Great example of something that on-device general agents should be able to do: Operate the apps to get prices and summarize prices. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | gonzalohm 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
You mentioned that Uber specifically forbids using their API for price comparison. Aren't you worried that they may implement something so you can't use internal APIs? I'm pretty sure none of the companies would like this app. Even though I think this is great and promotes fair pricing | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | f3408fh 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
How did you get this through App Store review? My understanding is Apple tends to be pretty strict about apps that rely on reverse-engineered private APIs. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | readme an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Ah yes, an application that should exist in a free market but will probably disappear soon. You are a good person. Keep going at it. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | testfrequency 24 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Uses a British name, launches in America. - Stolen Uber UI - Slopped Uber illustrations - Lloyds Bank logo - Abused Uber API Godspeed | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Thaxll 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
It doesn't exists because: - it's against ToS - it can get you banned Reversing API is trivial, this is not the reason. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dgerken 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Much needed. I've been waiting for this. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | fragmede 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
This is really cool! Is support for Zoox on your radar? | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | msylla 13 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Neat idea, is it US only? | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | oleg_kabanov 13 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Great project. Is there a web version? | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | cammikebrown 3 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Literally takes 5 seconds to open up different apps, lol | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||