This document describes a mobile app-based system for real-time taxi ride sharing. The system uses GPS and spatial databases to match riders and drivers. Riders submit ride requests through the app, and the system searches for nearby taxis to fulfill the request based on travel distance and schedules. If a driver agrees to pick up the rider, the fare is divided between passengers. The system architecture includes mobile apps for drivers and riders, web services to store and access user and ride data, and spatial databases to track locations. The taxi searching algorithm uses a spatio-temporal index of grid cells to efficiently find candidate taxis near a rider's location.