Inspiration
Rihla was inspired by the transportation gap many Muslim students and community members face when trying to attend salah, campus events, grocery runs, and local gatherings. These trips are often coordinated informally through text messages or group chats, which makes planning unreliable and hard to trust. We wanted to create a dedicated platform that makes these community rides easier, safer, and more organized.
What it does
Rihla is a community rideshare platform designed around real use cases like masjid trips, event transportation, and errands. Users can sign up, create rider or driver profiles, browse destinations, offer rides, request rides, join trips, and track ride activity through map-based logistics views. Instead of relying on scattered conversations, the platform gives users a structured way to coordinate transportation.
How we built it
We built Rihla with Vite, React, and TypeScript for the frontend, using Wouter for routing and React Query for client-side data management. For authentication and persistence, we integrated Supabase, using it for user auth and relational data storage across rides, requests, profiles, events, masjids, and errands. We also used Google Maps to power location selection, route visualization, and ride tracking experiences.
Challenges we ran into
One of the biggest challenges was getting the architecture aligned while moving from mock scaffolding toward a real integrated data model. We also had to resolve issues around location defaults, realtime logistics behavior, and keeping the frontend consistent with the Supabase schema. Another challenge was designing the relationships between rides, requests, drivers, riders, and destinations in a way that still felt simple to use on the frontend.
Accomplishments that we're proud of
We’re proud that Rihla solves a real, community-specific problem instead of being a generic rideshare clone. The app supports meaningful use cases like prayer transportation and campus event coordination, while also including trust-oriented profile flows and live map-based logistics. We’re also proud that the product feels polished and functional enough to demonstrate a credible path toward real deployment.
What we learned
We learned that product architecture matters early, especially when authentication, data design, and frontend behavior are tightly connected. We also learned a lot about integrating Supabase into a modern React app, designing relational systems around community mobility, and making location-aware interfaces feel practical rather than purely decorative. Most importantly, we learned how much stronger a project becomes when it is grounded in a real user need.
What's next for Rihla
Next, we want to make Rihla more intelligent, trustworthy, and production-ready. That includes improving ride matching, strengthening verification and safety flows, expanding realtime updates, and refining request acceptance and driver workflows. We also want to remove remaining demo assumptions, improve onboarding and notifications, and evolve Rihla into a reliable transportation platform for campus and masjid communities.
Built With
- aladhan-prayer-times-api
- anthropic-claude-api
- css
- flask
- google-maps-javascript-api
- radix-ui
- react
- supabase
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.