Ride-hailing · Full-stack · 2024
TapRide.
A production ride-hailing app for riders and drivers. Request a ride, watch your driver arrive on a live map, agree a fare up front, and chat in-app — all backed by a real-time database.
What it does
-
Real-time GPS tracking
Riders and drivers see each other move on a live OpenStreetMap (Leaflet) map, with positions streamed as they change so the pickup is never a guessing game — no Google Maps API key.
-
Driver matching
A ride request is matched to nearby available drivers, who can accept or decline. The rider is notified the moment a driver is on the way.
-
In-app chat
Rider and driver can message each other in real time to coordinate the exact pickup point without sharing phone numbers.
-
Up-front fare estimation
Fares are estimated from distance and route before the trip is confirmed, so there are no surprises at the end of the ride.
-
Runs on web and Android
A React + TypeScript web app and a genuinely native Android app (Kotlin + Jetpack Compose), sharing one Appwrite backend.
Built with
How it's put together
TapRide uses Appwrite for authentication, the database, storage and real-time location/chat updates over a WebSocket, OpenStreetMap + Leaflet for the interactive maps (no Google Maps API key), a React + TypeScript web client and a native Kotlin + Jetpack Compose Android app. Driver and rider state stay in sync through Appwrite Realtime, so the map and trip status update live for both sides.