Inspiration
Every year, tourists visiting regions with rugged or unfamiliar terrain put themselves at risk simply by getting behind the wheel - or by hopping into a car with a driver who doesn't actually know the roads. Steep gradients, unmarked routes, and unpredictable weather that locals navigate instinctively can turn into serious hazards for visitors. We kept hearing about accidents that boiled down to one root cause: the person driving didn't know the terrain. SipiRider was born from a simple idea - what if tourists could always be matched with a driver who does?
What it does
SipiRider connects tourists to vetted local drivers who know the terrain, through a real-time booking and tracking experiences: -Tourist panel - tourists can create an account, view nearby available drivers live on a map, and request a driver for their respective vehicle. -Driver panel- local drivers can create an account and log in their driving licence and manage availability, accept incoming driver request. -Live tracking - riders can see their assigned driver's location in real time via the Google Maps Platform. -** In-app messaging** - tourists and drivers can coordinate pickup details directly in the app. -Fare estimation- A pricing engine calculates estimate cost based on vehicle type and trip parameters. -Admin oversight - A dashboard for monitoring drivers, rides and platform activity.
How we built it
SipiRider is a full-stack, cross-platform application: -Frontend SvelteKit (Svelte 5) + Typescript, styled with Tailwind CSS v4. -Mobile packaging Capacitor, producing native Android and iOS builds from a single codebase. -Distribution Installable as a Progressive Web App (via vite-plugin-pwa), no app store required to try it. MappingGoogle Maps Javascript API for live driver location and route visualization. Backend Node.js + Express REST API, organized into modular routers - 'auth', 'pricing', 'rides', 'drivers' etc. with centralized error handling and a health-check endpoint.
Challenges we ran into
-Keeping driver location updates smooth and low-latency without overloading the map/API. -Designing a matching flow that's simple for tourists who are stressed/unfamiliar with the area. -Getting capacitor's Android/iOS builds to behave consistently with the PWA build from one codease. -Connecting to daraja API is a working process
- Getting live google maps still in integration
Accomplishments that we're proud of
-Shipping one codebase that runs as a web app, PWA and native Android/iOS app. -A clean, modular API that keeps rider, driver and admin concerns cleanly separated.
What we learned
First time working with Svelte and that was an eye opening experience filled with bugs and debugging.
What's next for My-Rider
- Expanding driver vetting/verification specification to terrain knowledge. -Offline-friendly maps for low-connectivity regions.
Built With
- better-sqlite3
- express.js
- google-maps
- node.js
- pwa
- restapi
- svelte
- sveltekit
- tailwindv4
- typescript
Log in or sign up for Devpost to join the conversation.