Inspiration
As first-year students without cars, we often found transportation beyond campus expensive and inconvenient. Renting Zipcars or calling Ubers adds up quickly, especially when you don't have anyone to split the cost with. We realized UCI lacked a student ridesharing platform—something simple and secure to connect peers heading in the same direction. ZotRide was born to make transportation more affordable, convenient, and community-driven for UCI students.
What it does
ZotRide is a ridesharing platform made exclusively for UCI students. It lets users offer or request rides—either free or cost-shared—to make commuting more affordable. Students can also create and join private organizations to coordinate transportation for events. By connecting peers traveling to similar destinations, ZotRide helps build community while making everyday travel simpler and cheaper.
How we built it
We began by aligning our strengths and dividing roles between frontend and backend development.
Backend: Brendan and Kenneth designed the relational database schema using QuickDatabaseDiagrams and implemented it with Flask, SQLAlchemy, and PostgreSQL (SQLite for development). We created RESTful API endpoints for CRUD operations and integrated Google Sign-In to restrict access to UCI-affiliated users.
Frontend: Isaac and Ethan started with a Figma prototype, then built the interface using React, Tailwind CSS, and DaisyUI, adding animations with Framer Motion. Isaac implemented the Organizations feature, while Ethan handled user profiles, ride management, and driver functionalities. Once core features were ready, we came together to integrate the backend API with the frontend UI.
Challenges we ran into
A major challenge was designing a relational database complex enough to handle multiple users, rides, and organizations efficiently. Defining relationships and many-to-many links took time, but QuickDatabaseDiagrams helped us visualize and finalize the structure.
Time constraints also forced us to prioritize features: we focused on essential functionality like connecting riders and drivers over advanced filters or extra UI polish, ensuring a working MVP. Although it would’ve been great to get more specific filters on the home page, we had to make trade-offs to ensure we produced a useful product before the deadline.
Accomplishments that we're proud of
We’re proud of the depth and polish achieved in just twelve hours. We built a robust backend, a fully functional frontend, and implemented features like Google OAuth, organization management, and dynamic ride listings. Highlights include a rideshare map using the Google Maps API and smooth UI animations powered by Framer Motion. Our ability to integrate all these features cohesively was a huge win.
What we learned
We learned the importance of focusing on a minimum viable product—choosing high-impact features over quantity. Early on, we tried to implement too much, but reorganizing our priorities helped us finish a functional, feature-rich app. We also discovered how crucial clear communication and documentation are for teamwork—avoiding merge conflicts and speeding up development. Writing a clear backend README and API documentation proved invaluable for integration.
What's next for ZotRide
We plan to add advanced ride filtering, profile images, and a driver rating system for transparency and safety. Organizations will soon be able to create events with automatic ride assignments. We’re also exploring driver’s license verification APIs and live location tracking for added security. Long term, we aim to expand ZotRide into a full-fledged web and mobile app that continues to enhance student transportation at UCI.
Built With
- figma
- flask
- google-maps
- google-oauth
- postgresql
- python
- sqlalchemy
- typescript
Log in or sign up for Devpost to join the conversation.