Back to catalog
Full Stack
2026-08-08

TripInBlink — Travel Marketplace Platform

Travel marketplace connecting tourists with verified local tour guides, built as a Turborepo monorepo with three React 19 portals and a PostgreSQL backend.

The Problem

Travelers struggle to find trustworthy local guides, and independent guides lack a platform to list packages, receive requests, and get paid.

The Solution

Built a marketplace with separate portals for tourists, guides, and admins, backed by a clean-architecture Express API and a normalized PostgreSQL schema.

Key Capabilities
  • Tourist portal: global search, multi-currency pricing, package catalog, verified guide directory, and a custom itinerary wizard.
  • Guide portal: earnings wallet, package builder, KYC document upload, and bidding on open tourist requests.
  • Admin portal: revenue and platform-commission analytics, user analytics, and a guide KYC approval queue.
  • Clean-architecture API (controllers, services, repositories) with JWT auth, RBAC, rate limiting, Zod env validation, and Pino logging.
  • Normalized PostgreSQL schema with 25+ Prisma models.

Technology Stack

TypeScriptReact 19ViteNode.jsExpressPrismaPostgreSQLpnpmTurborepoZodJWT

Architecture

A pnpm + Turborepo monorepo containing an Express REST API and three React 19 web portals that share domain types and an API client.

Lessons Learned & Key Takeaways

TripInBlink taught me to structure a large monorepo with shared types across apps, and to design a marketplace data model with roles, KYC, bookings, and commissions.