groUber

August 02, 2020

groups + Uber = groUber. Source code available here.

About

groUber is aimed to help event planners create carpools, and is being built for To the Moon and Hack. If you’re going to use this project to plan your event, remember to stay 6ft apart!

Motivation

This project was built by a group of 5 students from UBC in Vancouver, BC who love automating things. And one horrific task all of us have run into when planning our events is creating a workable carpool schedule.

It’s a great option for getting your group together: whether it be parents figuring out how best to get their kids to soccer practice, or friends accommodating those without access to a car, carpooling is common, but creating a plan can be painful, to say the least.

You finally come up with a workable schedule: everyone can make it to the event, no driver has to go in annoying, wasteful loops, and everything can start on time.

Then a driver with 4 seats drops out. And you have to do it all over again. No, thanks.

Introducing: groUber

With groUber, never go through that headache again. As an event organizer, create your event, send an invite link to your friends, and create a carpool schedule with one click. As a participant, simply receive a link, RSVP, and inform the organizer of how many seats you have available. You’ll receive a schedule on the day-of.

Using the Radar API and the Google Maps API, along with a bit of algo-magic, our app will create the most optimal carpool schedule for everyone involved. We were hesitant to do this project at first; the idea of designing an algorithm to find the “best” carpool strategy was intimidating to say the least. After some research, it turns out this is actually classified an NP-hard problem. We didn’t need to solve the problem generally though, and were able to design a heuristic algorithm to be able to compute this with fairly good results. Here are a few examples of scholarly work in this area. It took great teamwork, persistence, and a decent amount of caffeine to get this working.

Now, drivers won’t have to waste gas, and everyone will get there on time. Someone drops out? No problem, our app will allow you to adjust your schedule, painlessly.

groUber is ride-sharing for your group of friends, without all the expenses and overhead. Do a favor for the environment, and for your stress-levels, and start using groUber today.

Here’s our whitepaper where you can find a more in-depth justification for this hack! We also have a slide deck for the visual learners out there.

Installation

Stack

  • TypeScript, React
  • Node.js, npm
  • Firebase, including authentication, hosting, and Firestore

Get it running

npm install Install dependencies.

npm start Run for development.

npm lint Run linting over the project repository.

Deployment happens entirely via GitHub Actions; on any pushes to master, the app will be re-deployed to Firebase hosting.

Usage

Head to grouber.online. Sign-up using your Google account.

Create your event with all key details, and send an invite to your to-be attendees. Once they RSVP, you’ll see their details on your event dashboard. Then, generate your event’s carpool schedule in one click!

Participants must submit their address, if they’re driving, and if so, how many seats they have available in their vehicle.

Contributing

This should be updated soon! Stay tuned for more.


© Michael DeMarco 2020
Built with love, sweat, tears, oh and of course Gatsby.