Inspiration
Never fear, your allies are here!
We were inspired to create our product because of the limitless amounts of wasteful driving and fuel that apps like Uber and Lyft bring upon the world as well as the exorbitant prices they cost. With Allies, users have a stronger incentive to share their rides with others to minimize costs, while also eliminating carbon waste at the same time. And since Allies is only currently available to UCLA students, we can feel comfortable driving with our fellow Bruins.
What it does
With Allies, you can split your rideshare fees amongst your fellow allies and save the day (and your wallets!). Allies allows you to connect to UCLA students who are going to the same place you are. Simply sign-in with your UCLA email and enter:
- Time and Date (either now, or in the future)
- For example, if my flight lands at a certain time or if the concert ends at a fixed time
- Starting Location (where your quest begins)
- Use our interactive map (via the Google Maps API) to pick the exact location
- Ending Location (where your quest ends)
And voila! You will be instantly matched to students in the same boat as you and can reach out via Instagram. Simply install our all-in-one app (to be released on the App Store and Play Store soon), choose your destination, and watch as Allies connects you with many more allies who are going to the same place as you!
- Safety in Numbers
- Don't feel comfortable riding in a strangers car? Get your allies to join you, with fellow Bruins you can trust!
- Environment
- Less fuel spent overall when you share your ride! Safer for the planet, and safer for you!
- Cost
- Most pragmatically, your rideshare costs will cut dramatically when you have your allies by your side!😊
How we built it
For the frontend, we used React Native, and for the backend, we used Python and Postgresql. Furthermore, we utilized the Google Maps API, Instagram Messages API, and HTTPS to ensure seamless communication amongst all of our project’s features.
Challenges we ran into
In making Allies, we ran into a few interesting challenges which halted our progress. One issue was trying to find the minimum distance between users across both time and distance. We needed to minimize waiting time, distance between starting points, and distance between ending points in an algorithmically efficient manner (all in real-time). After some research and experimentation, we decided to use the K Nearest-Neighbors Algorithm (KNN).
Another challenge we faced was communication across the backend and frontend. Although we tried to initially do everything in React itself, we realized that this wasn’t scalable and ever-increasing in complexity. To build our communication architecture, we set up a REST API and several GET and POST requests that allowed our database to communicate with the app.
Accomplishments that we're proud of
We are proud of our ability to maintain a multitude of user profiles in our backend for utilization when users look for other riders. We're also proud of how useful our product is, since this is a problem many people have run into multiple times. We feel that we have all as students run into a situation where this app could have been useful in our UCLA journey, and hope this allows travel around UCLA to be a lot less painful.
What we learned
As we made the app, we quickly realized that it would be necessary to use a more advanced algorithmic method if the app was going to scale. We learned that it was important to think about potential difficult algorithmic points ahead of time so that we didn't have to rewrite the code. For instance, if we had proceeded with our naïve approach, our run-time would be far too great as the number of users increased, rendering our app slow and unusable.
Another learning point was how to integrate our app with the Google Maps API. This was a little tricky as the documentation of the React component we used wasn’t too thorough. It took some trial and error, but we were able to work together and figure out how to incorporate it.
What's next for Allies
In the future, we plan to include a lot more features not limited to but including in app messaging to put aside the need to share social media to rideshare, comparing fares on multiple rideshare apps, secure payment through the app, flexible time windows if you may need to get to your ride faster, and more filters so that you can choose who you ride with so you are most comfortable! We plan to refine the app and make the UX better given what people prefer.
Log in or sign up for Devpost to join the conversation.