Rideshare is a platform that helps members of a community carpool with one another.
Skills Used: Full-stack engineering project using PHP, SQL, and front end HTML, CSS & Javascript/jQuery.
Introduction.
Yes, the frequency of my posting has gone down. I needed to take a break from the blog because I realize the publish button has inadvertently become a barrier for me. A project’s zest seems to slowly wane as soon as my post goes live, and I needed to reorient my finish line around executing and launching projects I’m passionate about. So the blogging took a backseat to the pursuit of learning new skills and building+launching products. This post is a during-the-process-reflection of Rideshare.
This last year, I’ve been developing a passion for coding and engineering. For anyone interested in picking up code, I highly recommend the path I took:
- I started with HTML and CSS. starting with learning HTML and CSS. It’s encouraging as an introductory language to immediately see how your code creates a visual output and can be applied.
- Then, I moved into Javascript which provides more logical operations and makes a simple web-based project meatier.
- Recently, I’ve been focusing on the back-end with PHP and SQL in order to learn the complete the stack for building a web app. I learn best by doing, and so I worked on a team to build out this rideshare concept while applying what I was learning on the full-stack development side.
Here we go:
Problem.
It’s not uncommon to see this scenario when the holidays approach at USC:
As broke college students trying to find affordable ways to travel, group chats buzz with people trying to share the cost of a ride.
Students are on to something. Carpooling is a more environmentally sustainable and affordable option, but carpooling is still incredibly inconvenient. So my team and I asked ourselves the question:
“How might we make it easier for people to carpool with one another?”
Opportunity.
Lower the barrier to carpooling by harnessing the power of existing communities. Carpooling products like Waze exist, but the barrier to sharing a ride with complete strangers is still too high. I’ve noticed friends download Waze Carpool in the past, but still prefer the message boards over an unfamiliar product.
By tying rides to a community, we can also make carpooling logistically easier with a higher frequency of shared destination or departure points. Think of people that go to the same school, same gym, same office space. I’ve often asked USC students I catch at my climbing gym, for example, if they have extra space for a ride back to campus. My team and I wanted to leverage this common ground to facilitate easier carpooling. More convenient AND better for the environment.
The Challenge.
For our Minimum Viable Product (MVP), we wanted to build out Rideshare for USC students going to LAX, and other frequented destinations. We aimed to make sure the app was ready in time for the winter break so we could do a soft-launch for the holidays.
Designing the Database.
The database follows a fairly simple structure that involves pairing two users together that satisfy the criteria for matching (same “time_window”, “pickup_point”, and “dropoff_point”).
2 views sort a user based on their “pairing_status” into the “pairings” or “waitlist” view. Then, it’s a fairly simple matching process: when a user enters their trip details, it will either find them a match and change their “pairing_status” so they join the “pairings” view, or it will keep them on the waitlist to check against future users that enter their trip details.
UI design.
Our main intention was to develop as straightforward a UI as possible. The workflow therefore only requires a few clicks to enter potential trips and immediately either get paired or get added to the waitlist. In the early stages of UI development, we stripped away the excess fluff to provide our test users with the simplest and most direct way to get paired.
I also experimented with using Google’s Material Design frameworks for some of the input elements like the calendar and time window selections. Again, UI design was no-frills, so we could focus on developing the MVP in time to get tested.
Our Product so far.
A functional version of our desktop app can be viewed here. It limits the destinations you can enter for now, but we designed the code so that in the future, the Google Maps radius based feature can identify if locations are in proximity to one another.
In order to better market this to communities and organizations, we’re also exploring how this could be integrated as a Slack Plugin. We imagined scenarios where people send a link to rideshare in their group chats, and so we’re also creating comical advertisements that engage people to sign up in a group text. You’ve heard B2B and B2C, what about B2GC (business to group chat)?
[Edit: Unfortunately our application to use the Lyft API was just rejected, but we’re going to keep trying to see if we can integrate that feature shortly.]