A few of us were sharing an Uber at another hackathon, and our ride was very boring. We figured it'd be fun to have some sort of friendly competition to keep us entertained during the ride, and thus UberQ was born!

What it does

UberQ allows friends to make their rides home way more interesting. Instead of just splitting fare equally between everyone, we allow groups to compete against each other for the piece of the pie. Users will compete in a trivia-style game, and the final fare split is determined by the correct number of questions answered.

How we built it

We have a Node.js (the only real dev language) backend generating an API, which is then grabbed by the Android app. Users interact with the app only, and all the authentication and logic is passed back and forth between the server and the phone(s). All of our question data and user data is stored through DynoDB on Amazon Web Services.

Challenges we ran into

Android setup was causing us a whole slew of problems initially, but we managed to power through. And toward the end of the submission deadline, AWS DynoDB failed (for everyone using the service), and therefore made it impossible for us to continue working until they resolved their issue.

Accomplishments that we're proud of

Creating and implementing a unique idea that we (and other hackathoners!) would actually enjoy using is in itself something we're proud of. We came in with no experience using the Uber API and only very basic Android development experience, but we managed to connect it all together into a fully-featured product. The thing looks great, and works even better!

What we learned

There's a multitude of ways to accomplish the same goal, and some ways are way more straightforward than others. Experiment around and find what works best.

What's next for UberQ

We'd like to expand the idea of "Uber gamification" to include a wider variety of games. A common complaint of any travel medium is boredom, and we've helped push toward fixing that problem. Additionally, we'd like to possibly allow for phone-to-phone communication and an iOS app down the road.

Share this project: