05Case study · Vehicle rental marketplace

Sajilai: A Car and Bike Rental Marketplace for Nepal

Sajilai is a car, bike and vehicle rental marketplace for Nepal, live at sajilai.com. Renters book cars, SUVs, jeeps, Hiace vans, bikes, scooters and cycles from local rental businesses at the exact price for their dates, and those businesses run their whole desk on it. I designed and built the product in October 2026.

  • The exact total for any dates, by the hour, day or month
  • Pay by eSewa, Khalti, Fonepay or bank QR
  • Handover recorded with odometer, fuel and photos
Sajilai car and bike rental marketplace: the home page search on desktop and a vehicle's price breakdown on a phone
  • RoleProduct design & full-stack engineering
  • TypeMarketplace plus SaaS for rental desks
  • BuiltOctober 2026
  • StatusLive at sajilai.com

01The problem

The Problem with Renting a Vehicle in Nepal

Renting a car or a bike in Nepal usually starts with phone calls. Which desk has a vehicle free on your dates? What will three days cost, or five hours? How much deposit will they hold?

Payment happens in cash or by a wallet transfer that nobody records against the booking, and the car’s condition lives in someone’s memory. Most disputes come from exactly that: a price that changed, a scratch nobody wrote down, a deposit never clearly agreed. Renters also cannot easily tell a registered business from a stranger with a car.

The desks have it no better. The fleet lives in a notebook, handover photos sit in WhatsApp, and earnings per vehicle live in an Excel sheet.

Sajilai puts the price, the payment, the agreement and the condition of the vehicle on record, for both sides.

02The solution

What I Built: A Marketplace and the Software Behind Each Rental Desk

Sajilai has two halves that share one database. The public marketplace lets renters filter by city, vehicle type, dates and gearbox, see the total and the deposit before they ask, and send a request. Behind it, each rental business gets a dashboard for the whole desk: a fleet board, bookings, handover and return, QR payments, agreements, maintenance and money.

There are four kinds of account: renters, business owners, desk staff with the permissions the owner turns on, and a super admin who approves businesses and subscriptions. Sajilai Technologies Pvt. Ltd. runs it from Kathmandu. I designed the product and wrote all of its code. It is the kind of SaaS product I build for Nepali businesses.

A Sajilai vehicle page with the booking panel showing the total for two days, the driver option, delivery choices and the refundable deposit
A vehicle page: the total for two days, the driver option, delivery choices and the deposit, before signing in.

03Features

Sajilai Features for Renters and Rental Businesses

Every feature maps to a step of a real rental, from the first search to the deposit coming back. The desk side works as a management system for the whole fleet.

For Renters

  • Search by city, type, dates and gearbox, with next free times for booked vehicles
  • The exact total for any length, by the hour, day, week or month
  • Self-drive or with a driver, with delivery to a hotel or address
  • Reviews only from completed trips

At the Rental Desk

  • A fleet board: Requests, Available, Reserved, On rent, Extended and Maintenance
  • Drag a card, or tap it on a phone, and the right form opens
  • Handover and return with odometer, fuel, checklist, damage, photos and video
  • Walk-in and phone bookings, plus a booking link for social media

Payments and Deposits

  • A QR with the amount and booking code built in, for Fonepay and NepalQR
  • A payment counts only after the business approves the proof
  • Deposits in money, a motorbike, a cheque or original documents
  • PDF receipts with the amount written out in lakh and crore

Running the Business

  • Alerts for service by km or date, and bluebook, insurance, pollution test and route permit renewals
  • Long-term rentals billed weekly or monthly, with a payment schedule
  • Bank EMIs, payouts to vehicle owners, expenses and profit per vehicle
  • A 30-day Trash and an activity log of who did what
The Sajilai rental desk preview on the handover step, with the odometer at pickup, fuel level, photos and a signed checklist
The handover step, from the rental desk preview on sajilai.com.

04Architecture

Sajilai Architecture and Tech Stack

Sajilai is one Node.js program. Express 5 serves the API, the built React app and the server-rendered public pages, and PostgreSQL holds the rest. The same Docker image also runs a demo copy with sample data.

  1. BrowserReact 18 + ViteThe marketplace and three dashboards
  2. ServerNode 22 + Express 5API, roles, CSRF and server-rendered pages
  3. DataPostgreSQLOverlap-proof bookings, parameterised SQL
  4. FilesPrivate uploadsShrunk by sharp, Ghostscript and ffmpeg

The Sajilai Tech Stack

Every query is plain parameterised SQL through node-postgres, and every request body is checked with Zod before it reaches the database, the same discipline I bring to database design.

Migrations run on every start, only add what is new and never drop data.

Front end
React 18Vite 6React Router 6dnd-kit for drag, touch and keyboardjsQR
Motion
GSAP ScrollTriggerLenis on desktop onlyOff under reduced motion
Server
Node 22Express 5ZodHelmet CSPRate limits
Data
PostgreSQLbtree_gist exclusion constraintA lock per vehicle
Documents
pdfkit with the Mukta fontQR codesBikram Sambat dates
Files
sharpGhostscriptffmpeg to 720p H.2644 MB upload pieces
Security
bcrypt__Host- HttpOnly cookiesDouble-submit CSRFHashed email codes
Ops
Docker multi-stage buildCoolifyCloudflare/api/health check

05Engineering

Engineering Decisions Behind Sajilai

The four decisions that shaped Sajilai. Each one settles something a renter and a rental desk would otherwise argue about.

01

Bookings That Can Never Overlap

A PostgreSQL exclusion constraint refuses to store two reserved or active bookings for one vehicle over overlapping times, whatever the code above it does. Each booking write also locks that vehicle first, so two renters cannot take the same slot in the same instant. A request holds its times for a set number of hours, and one renter can hold three vehicles at most.

02

One Pricing Engine for Hours, Days and Months

An exact day package wins, then a range such as 4–6 days at a per-day rate, then the per-day rate of the longest package that fits. Under a day, the smallest hour package that covers it applies, never more than the 1-day price. Driver, delivery, discount and VAT are added in one place, so the vehicle page, the booking and the receipt always agree.

03

A Payment QR with the Amount Already Inside

A business uploads its Fonepay or NepalQR code once, and the browser decodes it. For each booking, Sajilai writes a new EMVCo payload with the amount, a dynamic flag and the booking code, and recomputes the CRC checksum. Personal eSewa and Khalti codes cannot carry an amount, so the amount shows beside them.

04

Handover Records That Settle Deposit Disputes

Pickup and return each record the odometer, fuel in eighths, a checklist, damage and photos. Phone videos of up to 300 MB upload in 4 MB pieces, so a weak connection does not lose them, and are compressed to 720p. The return adds extra-kilometre and late fees by itself, and the agreement PDF carries a QR code that anyone can scan to check it.

Search Pages for Every City and Vehicle Type

A React app usually shows crawlers an empty page. Sajilai’s server writes each public page’s title, description, structured data and real text into the HTML first, from the same copy file the app uses, as my technical SEO checklist recommends.

  • Landing pages for 7 vehicle types and 16 cities
  • Type-in-city pages indexed only once they list 3 vehicles
  • Car and Offer data with day and hour prices on each vehicle
  • AutoRental data with reviews on each business page
  • A generated sitemap.xml, with dashboards kept out by robots.txt
  • The demo deployment set to noindex

06Screens

Screens from the Live Sajilai Site

Two more views from sajilai.com: getting paid at the desk, and finding a vehicle.

07Status

Where Sajilai Stands Today

Sajilai is live at sajilai.com. Renters can search and book now, and a rental business can start its free trial without talking to anyone.

Live, with a 90-day free trial

The first rental desk in Kathmandu already lists its fleet, and every business pays a flat monthly price in rupees, with no commission on bookings.

It shows how I build for Nepal: exact money, a record of every step, and public pages that search engines can read.

What I’d Do Next

  1. Automatic payment confirmation through the eSewa and Khalti merchant APIs, instead of checking screenshots by hand.
  2. A Nepali version of the public pages; every PDF already prints Nepali correctly in Mukta.
  3. More rental desks across the 16 city pages, so each vehicle type in each city has enough listings to be indexed.

Related services

Need a Product Like Sajilai?

These are the services behind this case study. Each page lists prices, timelines and how I work, and every starting price is on my services page.

For more SaaS work, see Eknas, Jhino and Nimtto, or every project side by side in my web development portfolio.

FAQ: Sajilai Vehicle Rental Marketplace

What Sajilai does, how it prices and protects a rental, and what it is built with.

Ask me on WhatsApp

What is Sajilai?

Sajilai is a vehicle rental marketplace for Nepal at sajilai.com. Renters book cars, SUVs, jeeps, Hiace vans, bikes, scooters and cycles from local rental businesses, self-drive or with a driver. The same businesses run their fleet, bookings, handovers, QR payments and rental agreements from Sajilai’s dashboard.

How Does Sajilai Work Out the Rental Price?

Each vehicle has day packages, and can also have price ranges by length and hour packages. An exact package wins, then a matching range, then the per-day rate of the longest package that fits. A rental under a day uses the smallest hour package that covers it, never more than the 1-day price.

How Do Renters Pay on Sajilai?

Renters pay the rental business directly by scanning its QR with eSewa, Khalti, Fonepay or any bank app. For Fonepay and NepalQR codes, the amount and booking code are already inside. The renter uploads a screenshot, and the payment counts once the business approves it and a receipt is issued.

How Does Sajilai Protect the Security Deposit?

At pickup and at return, the desk records the odometer, fuel level, a checklist, damage notes, photos and, if needed, a video. The return adds extra-kilometre and late fees by itself, and the deposit is settled against those records. A deposit can be money, a motorbike, a cheque or original documents.

How Does Sajilai Stop Double Bookings?

A PostgreSQL exclusion constraint refuses two reserved or active bookings for one vehicle over overlapping times, and each booking write locks that vehicle first. A new request holds its times for a set number of hours. Booked vehicles still appear in search, with their next free times and similar free vehicles.

Are the Rental Businesses on Sajilai Verified?

A business that asks for the verified badge has its PAN/VAT registration and office address checked first. Every business has a public profile with its fleet, and only renters who completed a trip can write a review, so ratings come from real rentals.

How Much Does Sajilai Cost for a Rental Business?

Every business starts with a 90-day free trial. After that, Starter costs NPR 1,500 a month for up to 5 vehicles, Fleet costs NPR 3,500 for up to 25, and Enterprise costs NPR 7,500 with no vehicle limit. There is no commission and no fee per booking.

Which Technologies is Sajilai Built With?

Sajilai’s front end is React 18 with Vite, React Router, GSAP and dnd-kit. The server is Node 22 with Express 5, Zod and Helmet, on PostgreSQL. PDFs use pdfkit and the Mukta font, uploads are compressed with sharp, Ghostscript and ffmpeg, and it ships as a Docker image.

Can You Build a Rental or Booking Marketplace Like Sajilai?

Yes. I build marketplaces and SaaS products like Sajilai for clients in Nepal and abroad, with rupee pricing, QR payments and search-friendly public pages. A first version of a SaaS product starts from NPR 70,000 and usually takes 6 to 12 weeks. See SaaS development for what is included.

Planning a Product Like Sajilai?
I’ll Send a Fixed Quote.

Send a short note about your project and budget. I reply within one working day with questions or a first estimate.

Ujjwal RupakhetiReplies within one working day

What are you planning?

Opens WhatsApp with your message started.