Inspiration

As college students, we oftentimes struggle to find reliable transportation that is both environmentally friendly and affordable. We found that when we used rideshare options such as Uber and Lyft, many of our friends were taking separate rides to the same destinations around the same times, wasting money and contributing to climate change.

With Roadshare, we automate this process into an easy-to-use service that helps cut the cost of a ride in half, while taking more cars off the road. In the process, we hope to create a more sustainable and affordable transportation option.

What it does

RoadShare allows individuals to request a “match,” by texting basic information about their pickup location and destination. Our program, using the Twilio API and geocoding, determines if there is another rider requesting a similar ride that can join the ride, creating a “match.” Similar rides are determined by pickup location, destination, and request times. The users then meet up at a central location and ride together.

This program also makes use of the Google Cloud API to accept and send texts in over 100 languages, making this service highly accessible to users of diverse backgrounds.

How we built it

We began by conducting more research into the rideshare market, looking further into the drivers behind carbon emissions. We quickly understood that we needed a solution to single-passenger Uber/Lyft use that was both simple and accessible. This solution also needed to find matches conveniently, in order to minimize prices and take more cars off the road.

Twilio API: In order to build the text functionality, we used Twilio to read in a user’s texts, store data, and reply to the user.

Google Cloud API: We made calls to this API to automatically determine the language that the user preferred (based on their last text), and translate each of our future messages into that language.

Google Maps API: In order to determine the location of the user given their input, and match them with another nearby user, we geocoded the location inputs. From this, we gathered their longitude and latitude, as well as the walking distance between these points.

Between these 3 API’s, as well as JavaScript (TypeScript) for custom logic, we successfully built a text-based service that reads in pickup locations and destinations, locates a match, and pairs users to ride together.

Challenges we ran into

Our first challenge was coming up with a domain name. We wanted a name that accurately reflected the sustainability and nature of the application. After brainstorming over 50 options, we settled on RoadShare.tech. This name reflected the shared sense of responsibility behind sustainability and riders would be physically sharing roads.

Beyond the domain name, we faced challenges as it related to the scope of the project. We prioritized simplicity and accessibility, so we went with a text service that could operate over 100+ languages, as opposed to immediately defaulting to a complex mobile app. With limited scope, we provided our users with an end product that lacked convenience features but we were able to successfully create a highly functional application.

Finally, in the implementation of the code, we faced common challenges including connecting to APIs, syntax errors, the logic of how to respond to user input errors, and speed. We resolved these using debugging practices and creating decision trees to map out possible outcomes.

Accomplishments that we're proud of

First and foremost, we are proud of creating a technical solution to advance sustainability. Many technical solutions are not centered around sustainability, and it’s an overlooked topic that deserves more attention. There are many “engineering” solutions to sustainability issues, to help make our world a more habitable place. We are thrilled that our solution brings us one step closer to that shared goal.

This was Abby and Kate’s first hackathon. We are proud of Abby and Kate for remaining resilient through several coding challenges and maintaining the energy to complete the project. They were quick to ask questions and remained inquisitive despite setbacks.

We are also proud of successfully implementing multiple APIs. We each had limited experience with APIs, and were able to integrate multiple into our application, having them interact with one another.

What we learned

On the technical side, we learned that it is possible to create an automated service that does not require a mobile or web application. In creating this service, we learned how to integrate several APIs together, manage data in an organized fashion, and make SQL pulls to find the most relevant data. We gained a better understanding of JavaScript and TypeScript, as well as Twilio, Google Cloud, and Google Maps APIs.

Equally as important, in terms of soft skills, we learned how to collaborate with individuals of diverse backgrounds, in pursuit of a shared goal. We differed in observable characteristics, political affiliation, and problem-solving approaches, yet remained focused on tackling our shared goal, through compromises and trust. We also learned that technical solutions should tackle specific problems, and address user pain points with every iteration. We now appreciate how sustainability and financial benefit are not mutually exclusive, and that financial benefit can be leveraged to incentivize sustainable actions at scale.

What's next for RoadShare — Split a Rideshare

We plan to implement a number of new features: safety/security protocols, a mobile application interface, preference allowances, and integration with rideshare APIs.

Safety and Security: It is important to add security measures to ensure the safety of our users. We plan to implement photo-ID verification in a future iteration, for everyone's protection.

Mobile Application: User preferences and profiles may change. We would eventually move from text implementation to mobile app implementation so that it's easy for users to visualize preferences and requests.

Preference Allowances: Ask users how long they're willing to wait to find a match, or how far they're willing to walk, which helps better meet individual needs. Modify response and flow logic accordingly.

Integration with Rideshare APIs: Allow users to book directly through the mobile app, by integrating an Uber/Lyft API within the Mobile App interface. This will increase convenience and increase retention.

Share this project:

Updates