Skip to content
Salish Kumar
Back to Projects

Full-Stack

Tripper Bus Platform

Bus ticketing for a DC to New York operator, handling 2M+ annual riders. Architected the schema, the API and the booking front end.

ReactNext.jsNode.jsPostgreSQLTypeScript

A bus line between Washington DC and New York that sells its own seats. Riders search, pick a departure, hold a seat and pay without ever meeting a third-party marketplace, which is the whole point: the operator keeps the customer and the margin.

Tripper Bus homepage with the trip search form over a photo of passengers
The search form is the homepage. One way or return, seats, date, go.
Booking flow showing a week of departures, a trip card with price, and a session countdown
Picking a departure. The countdown on the right is a seat hold: inventory is reserved while you check out, and released when the clock runs out.

What it does

  • Four cities, and the stops within them. New York at Penn Station and Brooklyn, Arlington at Rosslyn and Georgetown, Dupont Circle in DC, and Bethesda. A route is a pair of stops, not a pair of cities, which is what the schedule and the pricing hang off.
  • Two products on one schedule. Standard runs 56 seats; Elite runs 34, with leather captain's seats two abreast, tray tables and water. The same departure carries a different seat map, a different price and a badge on the card.
  • Seats are held, not just sold. Choosing a trip starts a countdown. Inventory is reserved for the length of checkout and released if the clock expires, which is the part of a booking system that has to be right: two people must never buy the same seat, and an abandoned cart must not strand one.
  • Self-service after the sale. Tickets can be changed from the site without an account, and riders earn a free trip for every six bought.

What I built

  • Lead developer. I architected the PostgreSQL schema, the REST API and the React and Next.js front end.
  • The schedule and inventory model, spanning stops, dated departures, per-product seat maps and the holds that sit between a search and a sale.
  • Booking end to end, from the search on the homepage through departure selection, seat count, checkout and ticket management.
  • A 35% cut in load times, which on a booking funnel is revenue rather than housekeeping: every second before the search results is a rider who leaves.

Where it stands

Annual riders2,000,000+
Load time reduction35%
Cities served4
RecognitionWashington City Paper, six years running
Wanderu Passengers' Choice, 2023