Inspiration
Pakistan, with a population exceeding 240 million, faces a growing urban mobility crisis marked by skyrocketing fuel prices, unpredictable traffic congestion, and alarmingly poor air quality. For students and working professionals alike, daily commuting is both expensive and exhausting. Public transport remains unreliable, while ride-hailing services are unaffordable for routine use. In our own university years, we experienced these struggles firsthand: coordinating carpools through WhatsApp groups or Facebook posts, hoping someone was heading in the same direction, without any real route visibility, time assurance, or safety mechanisms. It was out of this frustration and a desire to help others facing the same challenges that Vroo was born. Over several months, we researched, designed, built, and refined a ride-sharing platform tailored to Pakistan’s unique commuting landscape. Vroo isn’t just another transport app - it's a platform that enables secure, affordable, and smart carpooling within known communities like university campuses, or corporate offices, built from the ground up using Google Maps Platform tools and S2 Geometry to bring structure and safety to ride sharing in Pakistan.
What it does
Vroo connects people within verified communities to share rides intelligently and safely. Drivers can publish their daily routes, while riders input their pickup and drop-off points along with preferred time windows. The platform then uses real-time routing and detour-aware matching logic to connect users whose paths align. It considers whether a detour to pick up a rider is feasible for the driver in terms of distance and timing, calculates dynamic fares based on fuel prices, distance, and detour length, and shows drivers their estimated arrival time to each rider. Features like live location sharing, SOS emergency alerts, verified user communities (restricted to organizations or universities), route preview on maps, and a smart recommendation engine make the experience seamless. Vroo prioritizes safety and clarity with its map-first approach and also offers ride scheduling, ride history, and route sharing.
How we built it
Vroo is built on a map-first architecture, combining real-time geospatial computation with a tightly integrated user experience. At its core, Vroo solves a dynamic multi-constraint matching problem, aligning driver routes with rider requests based on proximity, detour tolerance, and time window compatibility. We implemented a custom spatial indexing solution using the S2 Geometry library to efficiently represent and query routes on a global grid. By converting both driver routes and rider pickup/drop-off points into S2 cell unions, we dramatically reduced the complexity of spatial lookups, allowing our backend to pre-filter candidates based on geospatial overlap. This cell-based intersection check acts as the first layer in our match pipeline, followed by route analysis and time filtering.
For dynamic route evaluation, we relied heavily on the Google Directions API. When a potential match is identified, we generate two paths: the driver’s original route and the modified route that includes the rider’s pickup and drop-off. We calculate the total detour in terms of added distance and duration, using these deltas to compute a weighted detour cost. If the detour remains within acceptable thresholds (e.g., 10–15% increase in trip time), and the rider’s pickup time window can be met, the match is considered valid. These detour costs also feed into our dynamic fare calculation system, which accounts for base distance, detour effort, and live fuel price data—giving both parties a fair, context-aware cost estimate before ride confirmation.
The Maps SDK for Android serves as the foundation of the mobile interface. We used it to render live, interactive maps where users can view their current location, select or adjust pickup and drop-off points by dragging markers, and visualize both individual and shared routes through polylines. For driver-side navigation and real-time trip tracking, the map is updated dynamically as the user moves. To manage this with performance in mind, we implemented smooth animation of vehicle markers and ensured efficient handling of state changes, such as re-routing or mid-trip edits.
To simplify location input, especially in a context like Pakistan where address structures are often informal, we integrated the Places API and Autocomplete service. These tools provide real-time location suggestions as users type, reducing errors and ambiguity. Once a place is selected, we use the Place Details API to extract precise geospatial attributes such as coordinates, place IDs, and structured address components. This information is crucial for S2 cell generation and route computation.
Additionally, we utilized the Geocoding API to resolve user-entered addresses into standardized latitude and longitude pairs. This was especially helpful when dealing with non-standardized text inputs or when refining locations dropped manually on the map. These coordinates are essential for downstream processing: from route generation to spatial filtering and map visualization.
For ETA validation and pickup time filtering, we again used the Directions API. Riders can specify a pickup time window (e.g., between 7:30–8:00 AM), and the system calculates whether the driver’s route can feasibly pass through the rider’s location within that range. These calculations ensure punctuality and reliability in ride coordination, especially during peak hours.
Beyond ride matching, our system uses Firebase for user authentication, session security, and real-time capabilities. Firebase powers our in-app chat system, allowing drivers and riders to coordinate without leaving the platform. It also enables notifications for trip status, match updates, and SOS alerts. Emergency features like live location sharing and SOS broadcasting are tied directly to map events and persist even in low-connectivity scenarios, ensuring user safety.
Lastly, we implemented a lightweight recommendation engine based on past ride history and behavioral patterns. It factors in frequently matched co-riders, preferred time slots, and historical ratings to surface relevant driver suggestions. This is particularly helpful in tight-knit communities, where trust and consistency are valued.
Challenges we ran into
Building a ride-sharing platform from scratch with full geospatial awareness came with a range of technical hurdles. One of the most difficult aspects was animating the vehicle marker along the map route in real time. This required syncing continuous location updates with visually smooth transitions on the map while also handling dynamic polyline rendering across multiple waypoints, particularly when a ride was edited or rerouted during its lifecycle. A key optimization challenge emerged with the Google Places API: it was triggering excessive calls during marker movements. To mitigate this, we implemented logic to fetch Place IDs only when a marker was fixed, rather than while it was being dragged, thus reducing API overhead and enhancing accuracy. Another major challenge involved building the matching algorithm itself, which needed to account for multiple constraints such as route overlap, pickup time windows, detour tolerance, and seat availability preferences—all running in near real time. Our detour calculations, driven by the Directions APIs, had to be carefully optimized to avoid exceeding usage quotas while still maintaining performance. Furthermore, implementing continuous live location tracking, especially during offline or SOS scenarios, added complexity in ensuring reliable location broadcasting and redundancy in critical situations.
Accomplishments that we're proud of
One of our biggest milestones is getting selected for a prestigious incubation program in Karachi, where only 20 ideas were chosen out of 200+ applications. This program is now helping us transition Vroo from a student project to a real-world business through mentorship, legal consulting, and go-to-market strategies.
We also received direct industry mentorship from a leading tech company, which guided our architecture and scalability plans. Furthermore, Vroo was selected among the top final-year projects at our university, which validates both the technical depth and societal relevance of our solution.
What we learned
Throughout the development of Vroo, we deepened our understanding of how Google Maps APIs can be used not just for visualization but as a core logic engine for intelligent routing and decision-making. We learned the importance of optimizing API usage, especially when working with quotas; batching requests, caching results, and spatial filtering were critical to our system’s scalability. Working with S2 Geometry taught us how to structure the world into computable regions and enabled us to pre-filter matches effectively.
We also discovered that map UX is about more than just placing markers; it requires smooth feedback, responsive polylines, and real-time visual updates to help users trust the system. Designing the route-matching logic also helped us gain experience in combinatorial algorithms, geo-coordinate calculations, and time-sensitive filtering based on actual road conditions.
What's next for Vroo
With the incubation program underway, our next goal is to launch Vroo as a live product, starting with university campuses and office parks in major cities like Karachi, Lahore, and Islamabad. We are also exploring partnerships with institutions and organizations to pilot the platform in controlled communities. In parallel, we will continue to refine our backend logic, improve mobile performance, and further optimize Google Maps API usage to handle larger volumes of users. With a strong technical foundation and growing business support, Vroo is now on the path to becoming a scalable, community-first ride-sharing solution for Pakistan.
Built With
- app
- azure
- firebase
- flask
- flutter
- google-maps
- mongodb
- next.js
- node.js
- postgresql
- python
- together.ai
- vercel
Log in or sign up for Devpost to join the conversation.