Inspiration
The buses are often overfilled here at Santa Cruz. This has led students to ask others about carpooling by posting stories on Snapchat. But, the problem with this is that these stories are often drowned by multiple other unrelated stories that are posted on the University's Snapchat. In order to make carpooling more accessible, we zeroed in on this one problem and made a project dedicated entirely to it. Not only does it make carpooling in Santa Cruz easier, but it also saves money and promotes sustainability!
What it does
Our program allows people around Santa Cruz to either host or join a carpooling session. If you host a session, people wishing to join may view your post and decide if they want to join or not. If the host gets people requesting to join, the website connects them allowing them to communicate. If both people agree on carpooling, the host lets the other person in his session. People who wish to join sessions can also see how many spots are available when they browse sessions to join.
How we built it
As a group of unique people with different skill sets, we brought together a diverse range of tools that we could use to build the application. We settled on the creation of a Django RESTful API behind Svelte Front-End. The front end took care of most of the user interaction and interfaces, while the back end did the calculations necessary to schedule efficient carpool opportunities.
Challenges we ran into
Due to the rarity of such a union between Django and Svelte, it was predictably hard to implement some things that would've been child's play in other frameworks. One problem that held us back the most was the problem of user authentication. Eventually, we settled on using a token authentication system because of how inconsistent middleware could be between our front and back ends.
Accomplishments that we're proud of
We're proud of how clean our UI looks and how smoothly the website runs. Our map system is clean to the eye, and the algorithm behind our app works well in
What we learned
We learned that it's super important to plan out what you're doing before you do it. Had we started with a plan, we might have noticed that using Svelte to call authenticated external API's is super challenging to do. We might have seen that Django and SvelteKit did not pair well with each other. We might have been less confused as to what the API was sending or expecting at any given point. Our largest crux this year was our desire to jump right in to programming without having first considered the how, what, or why of it.
What's next for RideTogether
RideTogether never got fully finished during CruzHacks, as we ran into an issue with Svelte and our current API implementation that was irreconcilable at the last minute. Going forward, we hope to rework the API in order to allow us to finish the project, then add on some additional quality of life features, such as the ability to message the people you're in a group with, or the addition of user profiles and ratings so that riders and drivers know who they're getting into the car with.
Built With
- django
- html
- mapbox
- positionstack
- python
- svelte
- sveltekit
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.