All projects

Passenger ticketing & cargo logistics / CASE STUDY

Bus Bay

A bus ticketing and cargo platform connecting passengers, terminal teams and conductors through booking, payments, QR tickets and package handoffs.

Busbay Bus Transportation App

01 / OVERVIEW

Bus Bay brings passenger booking and terminal cargo workflows into one multi-company platform. A Rails 7.2 modular monolith provides the JSON API, passenger web experience and ActiveAdmin console, while one Expo application serves customers, staff and conductors.

Platforms
Web, iOS & Android

Passenger and operational experiences

Product scope
Tickets & cargo

Booking, payment and trip workflows

Architecture
Rails modular monolith

One business layer across web and mobile

Access model
Company & terminal roles

Scoped operational permissions

02 / PROBLEM & WORKFLOW

Cargo handoffs, made traceable.

A package crosses cashiers, departure teams and destination staff; each handoff needs the right company, terminal and shipment state.

Scoped access

Actions follow company, terminal and role assignments.

Explicit transitions

Each scan checks the package’s current state.

Repeat-safe scans

Repeated scans reuse the recorded transition.

  1. Book

    Register packages

  2. Pay

    Record settlement

  3. Load

    Assign and scan onto trip

  4. Receive

    Confirm arrival

  5. Release

    Prepare for collection

  6. Claim

    Verify the handover

03 / PRODUCT

The system in use.

One platform supports self-service passengers, terminal teams and company administrators.

Passengers

Passenger web & mobile

Find a trip, complete a booking and keep the ticket ready for boarding.

  • Route, schedule and fare selection
  • Guest and account-based booking
  • Online payment and QR tickets

Staff, cashiers & conductors

Terminal & conductor app

Role-specific mobile workflows support cargo handling and passenger trip operations.

  • Cargo booking, waybills and package scans
  • Passenger ticket checks and trip completion
  • Shift and transaction views

Company & system administrators

Operations console

Configure services and manage daily operations through the Rails web application.

  • Terminals, routes, buses and recurring trips
  • Fare profiles, cargo pricing and capacity
  • Users, reports, payments and refunds

04 / MY CONTRIBUTION

From decisions to delivery.

I lead the engineering team and serve as the primary developer, combining technical direction with hands-on implementation across the Rails platform and shared Expo application.

Technical leadership

  • Guide architecture and implementation priorities across passenger, cargo and administrative workflows.
  • Coordinate the team’s work around shared business rules and the needs of each operational role.

Core platform development

  • Build the booking, pricing, payment and cargo lifecycle features in the Rails business layer.
  • Connect company and terminal permissions with the API and operations console.

Mobile & web delivery

  • Develop and integrate passenger booking, QR ticket and cargo-scanning experiences.
  • Carry changes across the shared mobile app, passenger web pages and operational tools.

05 / TECHNOLOGY

Tools with a purpose.

Passenger & staff experiences

One Expo application adapts to customer, staff and conductor roles; Rails renders the passenger web experience.

ExpoReact NativeReact NavigationReact QueryHotwireStimulus

Business rules & operations

The Rails monolith owns booking rules, the JSON API, browser sessions and company-scoped administration.

Ruby on Rails 7.2ActiveAdminCanCanCanDeviseJWT

Data, payments & background work

Persistent records, queued work, real-time events, uploads and payment integrations support daily operations.

MySQLRedisSidekiqAction CableActiveStoragePaperTrailHitPay

06 / RESULTS

What the work made possible.

Public web and mobile delivery

Passengers can access the booking website and the Bus Bay Booking apps listed on the App Store and Google Play.

Auditable cargo progression

The cargo lifecycle records each transition from loading through collection, with checks for the responsible terminal and repeated scans.

Shared operational controls

Passenger tickets, cargo bookings, trip assignments and payment records are managed through the same Rails business layer.

LET’S CONNECT

Building a platform with complex daily operations?

I can help shape the architecture and deliver the web and mobile workflows.

Start a conversation