sonnora@systems:~/products/rideshare$ cat README
RideShare — drivers post trips, passengers book seats.
A BlaBlaCar-style ride-sharing app: drivers publish trips with route, schedule, seats and price; passengers search nearby trips and reserve a seat. A Flutter app backed by a Rust API with PostGIS search and self-hosted maps.
// the problem
Empty seats drive the same highway every day.
Intercity travel across Latin America means expensive bus tickets or driving alone — while thousands of cars run the same corridors with empty seats. That matching happens over WhatsApp groups and word of mouth: no schedules, no guaranteed seats, no fair prices.
RideShare is a marketplace with three moves: publish a trip, search by origin and destination, book a seat. Geospatial matching finds trips near both ends of your route, and BlaBlaCar-style suggested pricing keeps fares fair.
// features
Publish, search, book
Publish a trip
Origin, destination, departure time, seats and price per seat. The app suggests a fair fare from distance and operating cost.
Geospatial search
Search by origin and destination with PostGIS proximity matching on both ends of the route.
Routes and map
Drivers pick from three routes — recommended, no-tolls, shortest — computed by a self-hosted Valhalla engine on OpenStreetMap data.
Real places
Place autocomplete served by a self-hosted Photon geocoder, boosted with a local seed list.
// under the hood
The stack that moves people
Rust with Axum in a layered api to domain to infra design, rustdata persistence over PostgreSQL + PostGIS.
Self-hosted Photon for geocoding and Valhalla for routing over Mexico OSM tiles — no per-request map API bills.
Login delegated to UserBrew with Google OAuth, decoupled behind an AuthService trait.
A single multi-arch image — nginx serving the Flutter web build plus the Axum API — across local, dev, QA and prod.
// connect
Running a corridor full of empty seats?
Get in touch about early access, a pilot for your city or organization, or the development roadmap.