Skip to content
Thanyapisit Buaprakhong
All projects

Travel commerce platform

GoFurther

A Thai travel platform for scheduled tours, private itineraries, and join trips managed by one team.

Project
Own product
Role
Product design, full-stack development, and content architecture
Focus
Travel discovery, Bilingual commerce, Booking operations
Stack
Next.js 16, React 19, TypeScript, Rust / Axum, Supabase Postgres, Drizzle ORM, Tailwind CSS 4
GoFurther bilingual travel discovery website
Thai-first travel storefront with a direct path into the tour catalog.
GoFurther searchable tour catalog
The catalog exposes destinations, duration, availability, and starting prices for comparison.
GoFurther travel program selection interface
Travelers can compare reusable programs and choose the trip format that fits them.
GoFurther private trip request experience
Private-trip requests preserve a starting itinerary while collecting date and group changes.
GoFurther detailed day-by-day tour itinerary
Tour details keep the day-by-day itinerary readable before booking.
GoFurther travel operations dashboard
The operations workspace manages bookings and tour records behind the public storefront.

The project

GoFurther brings tour discovery, trip planning, travel services, and customer account tools into one bilingual storefront. Travelers can browse scheduled departures, request private trips, explore join trips and activities, hire transport, and move from inspiration to booking without changing channels.

  • Supports ready-to-travel tours, custom private itineraries, and join trips in one catalog experience.
  • Combines trip search, transport services, activities, travel articles, and customer reviews.
  • Provides Thai and English navigation with account and contact flows built into the storefront.

Product flow

How it works

  1. 01

    Travelers compare reusable tour programs, fixed Join Trip departures, private trips, activities, and transport.

  2. 02

    A selected departure carries exact dates, capacity, traveler details, and a live price tier into checkout.

  3. 03

    Atomic seat holds prevent overselling while verified deposits advance a booking toward confirmation.

  4. 04

    Thai-first server rendering and a persistent English preference keep the full journey bilingual.

System design

How it was built

01

Structured tours, fixed departures, private requests, vehicles, and activities without duplicating reusable itinerary content.

02

Used Next.js for authenticated rendering and admin authoring, with Rust and Axum handling concurrent joins and booking operations.

03

Modeled inventory, payments, accounts, and bilingual content in Supabase Postgres with explicit transactional rules.