logo
Back to Projects
UniPool - University Carpooling Platform
In developmentExpo (React Native)TypeScriptExpo Router+5 more

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 development

Technology Stack

Expo (React Native)
TypeScript
Expo Router
Supabase
Zustand
React Query
react-native-maps
EAS

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-image for 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 .aab profile is needed for the Play Store.
  • Error Boundaries — No graceful fallback UI on fatal errors yet.

live from New Delhi, India
© 2026. Source