13Case study · Travel booking platform

HamroYatra: A Travel Booking Platform for Nepal

HamroYatra is a travel platform that connects travellers with verified agencies, guides and hotels in Nepal. I built it as my second-year university project for the BSc (Hons) Computing, with a React front end, an Express and PostgreSQL backend, and an AI trip planner on Gemini. The front end is live.

  • Agencies verified with PAN, citizenship and company details
  • Guide licences checked automatically every 24 hours
  • An AI trip planner grounded in real listings
HamroYatra travel booking platform shown on desktop and mobile

01The problem

The Problem: Telling a Licensed Agency from an Unregistered One

Travellers in Nepal struggle to tell a licensed agency or guide from an unregistered one. Trekking agencies, travel agencies, hotels and homestays sell through social media and word of mouth.

A traveller has no easy way to check that a company is registered or that its guides hold valid licences, and an agency has no easy way to prove it.

HamroYatra puts verification first: agencies prove who they are before they can list, and guide licences are checked automatically.

02The solution

What I Built: A Travel Platform with Verification First

HamroYatra has three kinds of users. Travellers explore trekking packages, tours and hotel stays, book them, message agents and track their trips. Agents run their business from a dashboard with bookings, listings, customers, reviews and staff. A super admin verifies agencies and oversees the platform.

I built the home page and the explore page, the Express server and its database connection, the backend API routes every screen depends on, the dashboard integration and the AI trip planner. For a live marketplace in the same industry, see HeliGo Nepal.

Exploring trekking packages on HamroYatra
Exploring trekking packages.

03Features

What HamroYatra Does for Travellers and Agents

Discovery and booking for travellers, a full back office for agents, and a trust layer that runs on its own.

For Travellers

  • Explore trekking packages, travel packages and hotel stays
  • Personal recommendations based on what they view and book
  • An AI trip planner grounded in real listings
  • Bookings, messages, reviews and a trip-progress tracker

For Agents

  • Dashboard with overview, calendar, bookings, listings, messages, staff, customers, reviews and history
  • Sub-agents and guides managed in one place
  • Room types and prices split by AC, non-AC, family and couple

Trust

  • A 3-step verification with PAN, citizenship and company details
  • Guide licences checked every 24 hours, with alerts 30 days before expiry
  • Verified badges removed when a licence expires

Platform

  • Super admin for stats, agents, travellers and verification
  • Sign-in by email with a one-time code, or with Google
  • Per-route meta tags, a sitemap and a robots file
The HamroYatra agency verification process
The agency verification process.

04Architecture

HamroYatra Architecture and Tech Stack

The React front end talks to an Express API split into auth, dashboard, public, agent and planning route groups. PostgreSQL holds agents, travellers, listings, bookings, reviews, guides, messages, notifications, activity logs, followers, listing views and user preferences.

  1. Front endReact 18 on VercelVite, Tailwind CSS, React Router
  2. APIExpress on Render67 route handlers in 6 groups
  3. DataPostgreSQL + Prisma 712 models and 5 enums
  4. AIGemini 2.5 FlashGrounded in active listings

The HamroYatra Tech Stack

A background job runs at start-up and then every 24 hours to check guide licences, so compliance does not depend on anyone remembering to look. The API design behind it is the same work I do in API development.

Front end
React 18ViteTailwind CSSFramer MotionChart.jsReact Router
Back end
NodeExpress67 route handlers in 6 groups
Data
PostgreSQLPrisma 712 models, 5 enums
Auth
JWT in an HttpOnly cookiebcrypt (cost 12)Google OAuth 2.0Email one-time codes
AI
Google Gemini 2.5 Flash
Files and email
Cloudinary uploadsResend for one-time codes
Deploy
Vercel (front end)Render (back end)

05Engineering

Engineering Decisions Behind HamroYatra

The three decisions that shaped HamroYatra, and why I made them. Each one solves a problem a real user would hit.

01

Recommendations You Can Explain

Each listing starts at a base score and moves up or down with the season, the traveller’s past interest in its type, location and difficulty, its price compared with what they usually view, its rating, its review count and whether the agent is verified. The scoring is plain arithmetic, so every recommendation can be explained to a traveller or an agent.

02

An AI Planner That Does Not Make Things Up

Before the planner answers, it searches the platform’s active listings and passes the closest matches to Gemini, so its suggestions are trips that can actually be booked. Each user can send 20 planner messages a day and 5 a minute. RecruitFlow uses Gemini with the same discipline.

03

Compliance That Runs Itself

The licence watcher warns an agent 30 days before a guide’s certificate expires, at most once a week per guide, and removes the verified badge when a licence lapses.

SEO for a Single-Page App

A React app shows an empty page to crawlers unless it is set up with care, as my technical SEO checklist explains. HamroYatra was built so each category could rank for its own search.

  • A title and description on every public route, set with react-helmet-async
  • A sitemap of 16 URLs and a robots file
  • Category pages for trekking agencies, travel agencies and hotels in Nepal
  • Each category page targeting its own search

06Screens

HamroYatra on Mobile

Verification and safety pages are written for travellers checking an agency on their phone before they pay.

07Status

Where HamroYatra Stands Today

HamroYatra was my second-year university project for the BSc (Hons) Computing. The front end is live at hamroyatra.ujjwalrupakheti.com.np. The backend is paused on its free hosting plan, so listings and sign-in do not load at the moment.

Front end live, backend paused

It taught me as much as the code did: designing an API that every screen depends on, and bringing the backend, dashboards and AI trip planner together as one product. The full source is public on GitHub.

What I’d Do Next

  1. Move the backend to paid hosting, so listings and sign-in load again.
  2. Render listing pages on the server, so search engines see every package without running JavaScript.
  3. Booking deposits through eSewa and Khalti.

Related services

Need a Platform Like HamroYatra?

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.

Every project, with its stack and status side by side, are in my web development portfolio, and the person behind them is on my about page.

FAQ: HamroYatra Travel Platform

What HamroYatra does, how it verifies agencies and where it stands.

Ask me on WhatsApp

What is HamroYatra?

HamroYatra is a travel platform for Nepal that connects travellers with verified trekking agencies, travel agencies, guides and hotels. Travellers explore and book packages and stays, agents run their business from a dashboard, and a super admin verifies agencies before they can list.

How Does HamroYatra Verify Agencies and Guides?

Agencies pass a 3-step verification with their PAN, citizenship and company details before they can list. A background job checks guide licences at start-up and every 24 hours, warns the agent 30 days before a licence expires, and removes the verified badge when it lapses.

How Does the AI Trip Planner Avoid Making Things Up?

Before it answers, the planner searches HamroYatra’s active listings and passes the closest matches to Google Gemini 2.5 Flash, so its suggestions are trips that can actually be booked. Each user can send 20 planner messages a day and 5 a minute, which keeps costs predictable.

Which Technologies is HamroYatra Built With?

The front end is React 18 with Vite, Tailwind CSS, Framer Motion, Chart.js and React Router, hosted on Vercel. The backend is Node and Express on Render, with PostgreSQL and Prisma 7. Sign-in uses a JWT in an HttpOnly cookie, bcrypt, Google OAuth and email one-time codes.

Is HamroYatra Live?

The front end is live at hamroyatra.ujjwalrupakheti.com.np. The backend is paused on its free hosting plan, so listings and sign-in do not load at the moment. The full source code is public on GitHub, and the screens on this page show the platform working.

Can You Build a Travel or Tourism Website for My Agency?

Yes. I build travel websites and booking platforms for agencies, hotels and operators in Nepal, with listings, enquiries or bookings, and pages built for the searches travellers make. A business website starts from NPR 35,000; see web development in Nepal for more.

Planning a Platform Like HamroYatra?
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.