
UniPool - University Carpooling Platform
An exclusive carpooling app for university students — featuring verified access, real-time ride matching, in-app messaging with live location sharing, a two-step seat approval system, and a post-ride ratings engine.
Timeline
January - April 2026
Role
Full Stack
Team
3
Status
In developmentTechnology Stack
Key Challenges
- University-only Email Verification
- Real-time Supabase WebSocket Architecture
- Race-condition-free Auth State Management
- React Query Cache Consistency Across Tabs
- GPS Cold-Start Latency
- Real-time Chat Architecture
Key Learnings
- Expo Router File-based Navigation
- Supabase Auth, Realtime & Storage
- Zustand for Client State
- React Query for Server State & Cache Invalidation
- Location Services & Geofencing
Overview
Last Updated - 5 April 2026
UniPool is an exclusive mobile carpooling platform built for university students. Access is domain-locked to institutional email addresses, so every participant is a verified peer. The app covers the full ride lifecycle — posting and discovering nearby rides on an interactive map, a two-step seat-approval flow, real-time in-app messaging with live location sharing, a post-ride ratings engine, and a notifications feed.
The backend runs on Supabase (PostgreSQL + Auth + Realtime + Storage), with Zustand for client auth state and React Query for all server data fetching and caching.
What's Done
- Auth & Verification — Domain-locked sign-up, email verification, and multi-guard route protection (login → profile setup → main app).
- Ride System — Full ride creation wizard, interactive map with a 5 km radius filter, and a two-step host approval flow with seat and gender-constraint enforcement.
- Real-time Messaging — 1-on-1 chat per ride via Supabase Realtime, with live location sharing, date separators, and an emergency call button surfaced from the chat header.
- Notifications & Unread Tracking — Notification feed, bell badge, per-chat unread pills, inbox tab badge, and consistent mark-as-read via React Query cache invalidation.
- Ratings — Post-ride star ratings with dismissal persistence, dynamic host score on profiles, and a star-distribution breakdown modal.
- Settings & Profile — Edit profile, avatar upload (Supabase Storage), account & security screens, soft account deletion, and a full about/credits sheet.
- Performance — React Query adopted across all screens (zero
useEffect-based fetching),expo-imagefor memory+disk caching, and cached GPS positions for instant location features.
What's Planned
- Supabase RLS Policies — Row-level security is not yet configured. This is the primary blocker before any public release.
- Push Notifications — Background alerts when a ride request is accepted or a new message arrives.
- Payment Integration — The payment methods screen is a UI stub; Stripe/Razorpay logic is not yet wired.
- Production EAS Profile — Current build config only generates a preview
.apk; a production.aabprofile is needed for the Play Store. - Error Boundaries — No graceful fallback UI on fatal errors yet.
