🚗 CatchARide
Have an extra seat on a long car ride? Offer it to a fellow student and save on some gas money!
CatchARide aimed to be a student-to-student rideshare platform where drivers with extra seats could match with passengers headed in a similar direction. Think of it as a smarter, more campus-oriented carpooling app. Despite our team's ambition and creative ideas, the project ultimately didn’t reach MVP due to time constraints and integration difficulties — but we learned a ton in the process.
🎯 Problem Statement
Students often travel between campuses, hometowns, or events, and many drive alone with extra seats. CatchARide's goal was to create a system that connects:
- Drivers, who post their route and open seats
- Riders, who enter their ideal pickup and destination points
Our matching algorithm would pair riders to the most optimal drivers, potentially splitting fuel costs and reducing environmental impact.
🧩 MVP Goals
- User Authentication
- Signup/Login
- OAuth2 using Google accounts
- ID Verification
- Groq + LLaVA for document + face recognition
- Backup: ONID verification with OTP
- Route System
- Drivers list routes
- Riders search and reserve seats
- Driver-Rider Matching
- Proximity-based matching
- Potential integration of optimization algorithms
- Map Interface
- Google Maps API to view and filter routes
🧪 Features Attempted
| Feature | Status | Stack |
|---|---|---|
| User Signup/Login | ⚠️ Not fully functional | React + Google OAuth2 |
| ID Verification | ✅ Basic integration in backend | Groq (LLaVA-vision) + DeepFace |
| Map Display | ✅ Basic integration in backend | Google Maps API |
| Route Filtering | ❌ Not implemented | Planned via React filters |
| Posting Routes (Driver) | ⚠️ Partial integration | PostgreSQL backend |
| Route Reservation (Rider) | ⚠️ Partial integration | PostgreSQL backend |
| Matching Algorithm | ✅ Basic integration in backend | Planned: Google Route Optimization API / Hungarian Matching |
🔧 Tech Stack
Frontend:
- React
- Bootstrap
- React Icons
- Google Maps API
- Google OAuth2
Backend:
- Flask
- PostgreSQL
Verification & Matching:
- Groq (LLaVA 11b) for ID document & face match
- DeepFace (Python) for face recognition
- Google Maps Route Optimization API
- Matching algorithm ideas:
💥 Challenges & Why It Didn’t Work
- We hate React: None of us like working on frontend, and so while the backend implementation was pretty solid, we didn't have any working frontend besides a landing page.
- Integration overload: We thought it was simple to implement, but it was not. Route optimization is an extremely hard problem.
- Lack of planning: Due to a lack of time, we spent significantly less time planning than previous.
- No time for matching logic: We researched strong algorithms but didn’t have time to implement even a basic version.
- Coordination: Multiple directions were explored in parallel which diluted focus.
- Google Maps API: Although set up, real-time integration with routes and user input was incomplete.
- Poor physiological state: Consistent challenges and lack of sleep slowly destroyed our confidence, energy, and determination. A $50 API charge from Google Maps API completely demoralized one of our teammates.
🤔 Lessons Learned
- Get a basic version working first (auth + map), then iterate.
- Plan data models and flows clearly before touching code, and perform better requirements analysis to break the project down into bitesize chunks.


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