Case Study

Efisiensi logo

Online Bus Ticketing Platform for an Intercity Operator

Phase 1 of our work with PT Efisiensi Putra Utama: a passenger-facing ticketing platform for an intercity bus operation across Java. Seat selection, real-time trip tracking, membership, and trip management — shipped to production and used by real passengers. The platform that earned the trust for the AI fleet monitoring work in Phase 2.

ClientPT Efisiensi Putra Utama (EPU)
IndustryTransportation & Fleet Operations
EngagementCompleted — Phase 1 (live in production)
RoleEngineering Partner
Online Bus Ticketing Platform for an Intercity Operator
metric #1

Live in production

metric #2

Single seat-inventory source of truth

metric #3

Foundation for Phase 2 AI work

01 / Brief

The Problem

EPU sold bus tickets the way most regional operators still do — over the counter, by phone, through scattered agents — with no single source of truth for seat inventory or trip schedules. Double-booked seats, manual reconciliation, and zero visibility for passengers on where their bus was. They needed a digital ticketing platform that ordinary passengers could use on a phone, that operators could trust for seat inventory, and that would hold up under real booking volume — not a prototype.

02 / Constraints

Constraints

  • [01]Indonesian passengers and operators — UI and flows must be in Bahasa
  • [02]Seat inventory must stay consistent under concurrent bookings
  • [03]Must work on low-end Android phones and patchy mobile data
  • [04]Has to integrate with the operator's existing trip and route data
  • [05]Single-team delivery on a tight commercial timeline
03 / Execution

Our Approach

We built the passenger-facing platform on Next.js 15 and React with Tailwind v4 and shadcn/ui — a fast, mobile-first booking flow covering registration and login, trip search, seat selection with a live seat map, checkout, and a personal trip view. i18n was wired in from day one so the whole product speaks Bahasa. Seat inventory and trip scheduling are backed by a structured booking model so concurrent purchases reconcile against a single source of truth instead of a spreadsheet. The codebase was kept clean and modular so it could become the data backbone for Phase 2 — the digital manifest that the AI passenger-counting pipeline now reconciles against.

Technical Takeaway

Building a transactional booking system requires a strict seat allocation design to ensure concurrency safety under peak traffic, serving as a reliable digital manifest foundation for future fleet intelligence.

04 / Showcase

Gallery

Home and My Trip screen

Trip search and ticket detail

Register and login

05 / Impact

Outcome

  • Passenger ticketing platform live in production across the EPU fleet
  • Single seat-inventory source of truth — no more double-booked seats
  • Mobile-first booking flow usable on low-end Android over patchy data
  • Digital manifest became the data backbone for Phase 2 AI reconciliation
  • Earned the client trust that led to the Phase 2 fleet-monitoring award
06 / Perspective

Why this matters

Ticketing is unglamorous, but it is where trust is built. We shipped a platform that real passengers use to buy real seats, kept the data clean enough to build on, and were rewarded with the harder Phase 2 work — AI fleet monitoring — without a competitive pitch. That is the pattern we want: ship something honest in Phase 1, earn the Phase 2 that actually moves the operations budget.

07 / Architecture

Tech Stack

Frontend & UI

Next.js 15ReactTailwind v4shadcn/uiTypeScripti18n

Storage & Protocols

PostgreSQL

DevOps & Infrastructure

Webpack
LET'S GO

Get in touch

Have a project in mind?

Reply within 24 hours during WIB business hours. Indonesian or English — whichever fits you.

top rated plus · 100% jss · 8+ clients

Online Bus Ticketing Platform for an Intercity Operator | Idin Studio