Case study
Nomad Adventures Kashmir
Bike rental platform for Nomad Adventures Kashmir: app, admin and API

Overview
- Industry
- Travel and rentals
- Status
- Live
- Technology
- React Native (Expo), Fastify, PostgreSQL, Drizzle ORM, Redis and BullMQ, React, Next.js, Cashfree
A bike rental platform for Kashmir. It has a rider app on both app stores, an admin panel for the counter, and a booking API with Cashfree payments.
- Rider app live on Google Play and the App Store
- The database makes double-booking a bike impossible
- Advance, balance and deposit tracked as separate payments
The brief
Nomad Adventures Kashmir rents motorcycles, scooters and e-bikes in Srinagar, by the hour or by the day. Riders collect from a Nomad hub or get the bike delivered to their hotel or houseboat. Nomad owns its whole fleet and wanted its own bike rental platform to run it.
Most riders are tourists in town for a few days, and demand peaks hard from May to September. It had to work for a tourist on a phone, and for counter staff on a busy morning.
What we built: a bike rental platform in four parts
Rider app
A React Native app built with Expo, live on Google Play and the App Store. Riders sign in with a phone OTP, search by dates and review a quote calculated on the server. They pay a 25% advance through Cashfree and manage trips and cancellations. Camping gear books in the same app.
The home screen’s banners and collections are set from the admin panel, so a seasonal change needs no app store release.
Booking and payments API
A Fastify and PostgreSQL API books each physical bike individually. A database constraint makes double-booking impossible, and availability is precise to the hour. The quote engine handles rate plans, seasonal rates, insurance, add-ons, delivery fees, coupons and GST.
Money moves in three parts: an advance online, the balance at the counter, and a security deposit in cash or online. Only a signed Cashfree webhook confirms a payment, and a background job reconciles anything it missed.
Admin panel
Staff get a daily dashboard, bookings, walk-in bookings and a fleet board. Handover and return wizards walk through the inspection checklist and money collection. Staff check the original license and ID at handover, so riders have nothing to upload.
Website
A Next.js site covers bike rental, camping gear, guided treks, camping trips and the outdoor shop, with travel guides. Inquiries open a pre-filled WhatsApp chat.
How we worked
We wrote down 20 architecture decisions before the first line of code. Three examples: a modular monolith, money held in whole paise, and one API contract for both the app and the admin panel.
Every push to main redeploys only what changed. The database is backed up before each migration, and destructive migrations are blocked unless someone allows them. Our mobile app development team took the app through both store reviews.
Where it stands
Live. The website, rider app and admin panel are in use, and camping gear now books alongside bikes. GPS tracking is designed but not built yet. The tracker hardware is still being chosen. WhatsApp and SMS notifications come next.
Send a message
Planning something similar?
A short brief is enough. Someone who can answer technical questions replies within one business day. Prefer to talk? Call us.

