Skip to content
Back to software engineering projects

Data case study

Transit Rewards

A commuter platform that ingests public-transport schedules, handles real-time disruption alerts, calculates rewards, and supports a vendor marketplace.

Architecture map

GTFS ingestion, live alerts, rewards, and marketplace flow

Client experienceService boundaryData workflow

Challenge

Majorly extend an existing transit and rewards architecture while preserving agency-aware data and preventing duplicate alerts or rewards.

Solution

Refactored GTFS ingestion, built the real-time disruption worker, delivered the newer vendor marketplace, and extended commuter and reward workflows.

Architecture

Scheduled workers discover, download, normalize, and upsert GTFS data; real-time protobuf feeds drive deduplicated targeting, persistence, push delivery, and disruption rewards.

Contribution highlights

The engineering work behind the product.

  • Extended and refactored GTFS ingestion with Mobility Database discovery, Brampton Transit, multi-agency normalization, upserts, and import reporting.
  • Built the GTFS-Realtime alert worker with feed decoding, route matching, commuter targeting, deduplication, persistence, push delivery, and disruption rewards.
  • Built vendor branches, offers, menu items, wallets, QR redemption, expiry automation, histories, PDF output, and analytics.
  • Extended commuter agency, location, demographics, booking, frequent-location, and notification lifecycle workflows.
  • Expanded rewards with tier eligibility, multipliers, distance configuration, currency conversion, dashboards, and supporting portal UI.

Implementation stack

Technologies grouped by responsibility.

Frontend

ReactCharting and analytics

Backend/CMS

Node.jsExpress.jsnode-cron

Data

MongoDBMongooseGTFSGTFS-Realtime/protobufMobility Database

Integrations

Firebase Admin/FCMBrampton Transit feedsGoogle MapsQR generationjsPDFReact PDF

Related work