Kathmandu Mobility Platform
Nepal's first Mobility-as-a-Service platform — not another vehicle rental, but the operational infrastructure for how Kathmandu moves.
Kathmandu sits at the intersection of severe air quality failure and one of the fastest EV adoption curves on earth. 1.75 million vehicles. Roads built for a medieval city. A government mandate pushing electric. The conditions for a mobility platform don't get more explicit than this.
Nepal ranks second globally in EV adoption share — yet public mobility remains an afterthought. The government mandates all new taxis be electric from 2024. Bagmati Province targets 90% EV private sales by 2030. Over 90% of Nepal's electricity comes from clean hydropower. The infrastructure for a mobility transformation is being built right now — and no platform has moved to capture it.
Kathmandu's geography compounds every transport problem. It's a valley enclosed by hills, served by a road network designed for a fraction of its current load. The ring road backs up daily. Narrow lanes in Thamel, Patan, and Bhaktapur are impassable for large vehicles. Monsoons flood key arteries. This is not a liability — it is a precise design specification for something smarter than a generic car rental app.
The tourism dimension is equally compelling. Nepal received over 1 million foreign visitors in 2023, with that number rising. These travelers need reliable transport from TIA airport to heritage sites, trekking trailheads, and outlying districts. They are currently at the mercy of unregulated taxi touts or expensive hotel-arranged vehicles. There is no trusted, app-based, EV-first alternative.
Nepal has 13 active vehicle rental operators as of 2025. Every one of them runs a driver-led, phone-first booking model confirmed over WhatsApp. None are building for the EV transition or the platform economy.
| Player | Model | Strength | Critical Gap |
|---|---|---|---|
| Travel Kendra Biggest | Marketplace / aggregator | 100+ providers, compare pricing | No EV focus, no P2P, WhatsApp-dependent UX |
| Yes Sir Nepal 2016 | Self-drive car rental | First self-drive in Nepal, strong brand | No app, manual booking, limited fleet, no EV |
| Self Drive Nepal | Self-drive + guided | Has a website and app presence | 3-day minimum rental, no hourly, no P2P |
| SparkCar | Car rental | Urban-focused | No differentiation, basic listing model |
| Easy Vehicle Rental | Driver + vehicle hire | Wide vehicle types (Hiace to buses) | No digital payments, no tracking, no EV |
| Mountain Vehicle Nepal | Luxury + off-road tourist | High-end tourist segment | Fully offline, no app, no scalability |
No operator in Nepal currently offers hourly EV rentals, peer-to-peer vehicle sharing, carbon tracking, native eSewa/Khalti payment, real-time GPS for tourist-driver matching, or demand-based dynamic pricing. The market is waiting for a platform company — not another fleet operator.
YatraSathi is not a car rental company. It is a Mobility-as-a-Service (MaaS) platform — the Airbnb + Turo + Citymapper equivalent for Kathmandu, built around Nepal's specific operational realities.
The platform operates across four interlocking layers, each generating independent revenue while reinforcing the others:
Hourly, daily, and weekly rental of verified electric vehicles — combining a company-owned seed fleet with P2P listings from private EV owners. Real-time availability, keyless entry via OBD dongle for P2P units, and dynamic pricing calibrated against demand, time of day, and route complexity.
No global model offers this. Nepal's tourism context makes it possible to bundle a vehicle, a certified guide, a curated itinerary, and permit booking into a single checkout. A traveler going to Langtang can rent a 4WD, book a licensed guide, and secure their trekking permit — one platform, one payment. This is the feature no competitor can replicate quickly.
Experienced, background-checked drivers and certified guides list themselves as service providers. International visitors gain access to trusted, vetted locals; those locals gain structured gig income. Driver profiles include language proficiency, route specialties, and verified ratings — analogous to Airbnb Experiences, applied to Nepali mobility.
NGOs, embassies, trekking companies, and hotels all maintain vehicle fleets. YatraSathi offers white-label fleet management with integrated carbon tracking. Every electric kilometer logged on Nepal's hydropower grid generates verifiable carbon offset certificates — sellable to corporate buyers or applied directly to client ESG reporting.
These are the companies globally doing something structurally distinct — not just running a rental business. What is worth borrowing, and what demands localization?
Remotely driven EVs delivered directly to the customer — a human operator drives it to the pickup point, the customer drives themselves, the operator remotely returns the vehicle. Eliminates parking friction entirely.
Peer-to-peer car sharing across Southeast Asia with owner verification, GPS tracking, flexible pricing, and embedded insurance. The most culturally comparable model — developing market dynamics, community-first trust architecture.
Turnkey EV sharing programs embedded in apartment complexes and hotels. The fleet becomes an amenity — hotels pay a monthly subscription, guests get seamless access. Revenue is B2B; the guest experience is the acquisition channel.
Single subscription covering all urban transport modes — public transit, bikes, cars, taxis. One app, one payment, unrestricted movement. The original MaaS super-app, still the clearest reference model for what this category can become.
Started as a full P2P marketplace, pivoted to direct delivery of rental cars. Scaled back significantly in 2024 after discovering that delivery economics require density to function. A useful model — and a useful warning.
Online marketplace for car maintenance and repair in India. Solved a fundamental trust problem in the South Asian context — vehicle servicing is opaque, pricing is inconsistent, and quality is unverifiable. The platform introduced transparency and accountability to an unstructured sector.
Three user types. One platform. Features built for Kathmandu's operational realities — not adapted from a Silicon Valley template.
Filter by vehicle type, EV range, road type (sealed or off-road), price, and driver preference. Route-aware search validates whether the selected vehicle can handle the planned terrain.
eSewa, Khalti, ConnectIPS, and bank transfer built in natively. No Stripe dependency. Overdue reminders via WhatsApp API. QR code handover at vehicle pickup.
EV range validation against planned route. Charging station waypoints integrated into directions. Road condition overlays for monsoon alerts. Heritage zone and restricted access awareness.
Background-verified driver profiles. Language proficiency tagging. Route specialties — mountain, heritage, airport transfer. Verified star ratings with photo reviews. Earnings dashboard for drivers.
Select destination and duration — the platform recommends vehicle type, licensed guide, and estimated permit cost. One-click booking of the full bundle. Nepal's structurally unique product advantage.
Core booking flows function under intermittent connectivity. Booking confirmations cached locally on device. SMS fallback for all critical notifications. API payloads optimised for 2G conditions.
EV owners publish their vehicle with an availability calendar. OBD dongle integration enables keyless delivery. Dynamic pricing recommendations. Insurance integration via partner API.
Real-time kWh consumption versus petrol equivalent. Carbon saved per trip. Cumulative offset certificate generation. B2B ESG reporting export in PDF and API formats.
NGO, embassy, and hotel admin dashboards. Multi-vehicle booking. Cost centre tagging. Monthly invoicing. Driver assignment. Custom rate cards. White-label configuration available.
Demand-based pricing calibrated against festival seasons (Dashain, Tihar), weather conditions, tourist arrival volumes, and local event calendars. Targeted at 15–30% revenue uplift during peak demand windows.
Connect Sajha Yatayat electric buses, electric rickshaws, and YatraSathi EVs into unified trip planning. Single wallet, intermodal journeys. Nepal's first genuine mobility-as-a-service product.
Certified EV mechanics marketplace. Book maintenance for your electric vehicle. Builds loyalty among EV owners who then supply the P2P layer. The ecosystem flywheel closes here.
Platform model. Asset-light where possible. Four revenue streams, with B2B as the cash engine and P2P as the growth multiplier.
Year 1: 50 seed-fleet EVs plus 30 P2P listings. Target 200 bookings per month by month 9. Revenue: NPR 12–18M (~$90K–135K). Burn: NPR 20M. Raise: Seed NPR 30M (~$220K).
Year 2: Scale to 150 P2P listings, 10 active B2B clients, and hotel partnerships across 5 properties. Revenue: NPR 55–75M (~$410K–560K). First month of positive unit economics targeted at month 18–20.
Year 3: Expand to Pokhara. Launch MaaS integration. Carbon credit revenue begins contributing materially. Revenue: NPR 150M+ (~$1.1M). Series A readiness.
Built in Rust — a language almost no Nepal startup uses, creating a performance advantage, guaranteed memory safety, and the ability to compile to WebAssembly for offline-capable features. Paired with SvelteKit for a frontend lean enough for Nepal's bandwidth constraints.
// main.rs — YatraSathi API entrypoint use axum::{ routing::{get, post, patch}, Router, middleware, }; use tower_http::{cors::CorsLayer, trace::TraceLayer}; #[tokio::main] async fn main() { // Load .env, init tracing, connect PostgreSQL pool let pool = db::connect().await.expect("DB connection failed"); let redis = cache::connect().await.expect("Redis failed"); let app = Router::new() // Vehicles .route("/api/vehicles", get(handlers::vehicles::list)) .route("/api/vehicles/:id", get(handlers::vehicles::get_by_id)) .route("/api/vehicles/search", post(handlers::vehicles::search)) // Bookings .route("/api/bookings", post(handlers::bookings::create)) .route("/api/bookings/:id/status", patch(handlers::bookings::update_status)) // Tour Bundles .route("/api/tours", get(handlers::tours::list_bundles)) .route("/api/tours/build", post(handlers::tours::build_custom)) // Payments (eSewa / Khalti) .route("/api/payments/esewa/verify", post(handlers::payments::esewa_verify)) .route("/api/payments/khalti/verify", post(handlers::payments::khalti_verify)) // Real-time tracking via WebSocket .route("/ws/tracking/:booking_id", get(handlers::tracking::ws_handler)) // Auth (JWT + SMS OTP) .route("/api/auth/otp/send", post(handlers::auth::send_otp)) .route("/api/auth/otp/verify", post(handlers::auth::verify_otp)) // Middleware stack .layer(CorsLayer::permissive()) .layer(TraceLayer::new_for_http()) .with_state(AppState { pool, redis }); axum::serve( tokio::net::TcpListener::bind("0.0.0.0:8080").await.unwrap(), app, ).await.unwrap(); }
-- Core schema for YatraSathi CREATE TABLE users ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), phone VARCHAR(15) UNIQUE NOT NULL, -- Primary auth name VARCHAR(100), email VARCHAR(200), role TEXT DEFAULT 'renter', -- renter|driver|owner|admin lang_pref TEXT DEFAULT 'ne', -- 'ne' Nepali | 'en' English created_at TIMESTAMPTZ DEFAULT NOW() ); CREATE TABLE vehicles ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), owner_id UUID REFERENCES users(id), type TEXT NOT NULL, -- car|suv|bike|scooter|jeep is_ev BOOLEAN DEFAULT TRUE, ev_range_km INTEGER, plate_no VARCHAR(20) UNIQUE, listing_type TEXT DEFAULT 'p2p', -- p2p|fleet|hotel hourly_rate NUMERIC(10,2), daily_rate NUMERIC(10,2), location GEOGRAPHY(POINT, 4326), -- PostGIS available BOOLEAN DEFAULT TRUE, verified_at TIMESTAMPTZ ); CREATE TABLE bookings ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), renter_id UUID REFERENCES users(id), vehicle_id UUID REFERENCES vehicles(id), driver_id UUID REFERENCES users(id), -- nullable if self-drive tour_bundle JSONB, -- bundled itinerary if any start_time TIMESTAMPTZ NOT NULL, end_time TIMESTAMPTZ NOT NULL, total_amount NUMERIC(10,2) NOT NULL, payment_method TEXT, -- esewa|khalti|cash status TEXT DEFAULT 'pending', -- pending|confirmed|active|done|cancelled carbon_saved_kg NUMERIC(8,3), -- calculated post-trip created_at TIMESTAMPTZ DEFAULT NOW() );
yatrasathi/ ├── backend/ # Rust / Axum API │ ├── src/ │ │ ├── main.rs │ │ ├── handlers/ # Route handlers │ │ │ ├── vehicles.rs │ │ │ ├── bookings.rs │ │ │ ├── tours.rs │ │ │ ├── payments.rs # eSewa + Khalti │ │ │ ├── auth.rs # OTP via Sparrow SMS │ │ │ └── tracking.rs # WebSocket GPS │ │ ├── models/ # SQLx query models │ │ ├── middleware/ # JWT auth, rate limit │ │ ├── services/ # Carbon calc, dynamic pricing │ │ └── config.rs │ └── Cargo.toml │ ├── frontend/ # SvelteKit 2 │ ├── src/ │ │ ├── routes/ │ │ │ ├── +page.svelte # Home / vehicle search │ │ │ ├── vehicles/ │ │ │ ├── tours/ │ │ │ ├── booking/ │ │ │ └── dashboard/ # Driver + owner dashboards │ │ ├── lib/ │ │ │ ├── api.ts # Rust API client │ │ │ ├── payments.ts # eSewa/Khalti SDK wrappers │ │ │ └── map.ts # MapLibre / OpenStreetMap │ │ └── stores/ # Svelte reactive stores │ └── package.json │ ├── mobile/ # Flutter (Android + iOS) ├── infra/ # Docker, GitHub Actions CI/CD └── migrations/ # SQLx DB migrations
| Risk | Severity | Mitigation |
|---|---|---|
| Regulatory uncertainty — Nepal transport law moves slowly; self-drive EV licensing remains undefined | High | Launch with the driver-led model first. Engage the Nepal Automobile Dealers Association for advocacy. Begin early dialogue with DOTM to shape the self-drive regulatory framework rather than wait for it. |
| EV charging gaps — outside the KTM valley, charging infrastructure is thin | Medium | Hyperlocal launch within the Kathmandu valley. Route engine surfaces range limitations proactively. Partner with NEA charging stations for preferential access agreements. |
| Trust deficit — Nepali users are cautious with new platforms; P2P depends on owner confidence | High | Heavy offline verification processes. In-person vehicle inspection before listing. Mandatory insurance prior to P2P activation. Driver badge system. Community advisory board composed of respected local figures. |
| Rust developer shortage in Nepal — limited local talent pool | Medium | Hire 1–2 senior engineers remotely from India or globally. Develop 2–3 junior Nepal developers in-house. Use the Loco framework for Rails-like conventions, reducing the Rust learning curve significantly. |
| Power infrastructure risk — load shedding affects EV charging schedules | Low | Nepal has largely resolved load shedding since 2018 through hydropower expansion. Monitor NEA communications. Integrate real-time charging station status into the platform map. |
| Competitor replication — Travel Kendra or a well-funded entrant pivots into this space | Medium | Moat is built through network effects (driver trust badges, P2P listings), tour bundle partnerships, and long-term B2B contracts. Rust infrastructure means structurally lower operating costs — better margins even if a competitor copies the feature set. |
| EV import duty reversal — government adjusts tax policy | High | P2P model means YatraSathi does not own the vehicle fleet — owners carry the policy risk. Revenue diversification across B2B and tour bundles insulates the platform against EV-specific policy shifts. |
Two sprints. Eight weeks. Ship the core booking flow first — everything else is post-traction.
A working platform where someone finds an EV, books it, pays with eSewa or Khalti, tracks their driver on a map, and leaves a review. Sufficient to run a real beta with hotel partners in Thamel. P2P listings, carbon dashboard, B2B portal, and dynamic pricing follow once there are real users generating real data.
Every significant mobility market across South and Southeast Asia had a window — 18 to 24 months where the conditions were right and the competition was absent. That window always closed faster than founders expected. Nepal's EV transition is not a future event: 73% of new four-wheelers sold last year were electric, the government has mandated EV taxis, hydropower delivers clean electricity at low cost, and no platform has been built to serve this market. YatraSathi on Rust and SvelteKit, with a local-first design philosophy, is not a rental app with ambitions — it is the infrastructure layer for how Kathmandu moves in the decade ahead.