YardRyde is a high-performance, real-time transit tracking platform built to solve the unpredictability of commuting in Jamaica. Focused initially on Kingston and St. Andrew, YardRyde enables riders to visualize JUTC bus positions, track live ETAs, and contribute to crowdsourced "vibe" reports.
In Kingston, commuters often face long, unpredictable waits at bus stops. YardRyde provides:
- Live Tracking: See exactly where your bus is on the map.
- Smart Planning: Input your destination to find the best JUTC routes and estimated arrival times.
- Driver Empowerment: A dedicated interface for drivers to broadcast their live GPS location with a single tap.
- Vibe Reports: Crowdsourced real-time updates on delays, crowding, and AC status ("Cold AC ❄️").
While our heart is in Jamaica, YardRyde is built on a robust, multi-region architecture. The app dynamically switches based on the DATA_SOURCE configuration:
- Kingston Mode (
kingston): Our primary focus. A high-fidelity simulator and driver-broadcasting system tailored for JUTC routes. - NYC Mode (
nyc): A technical proof-of-concept using live New York City (MTA) bus data (SIRI/GTFS-RT) to demonstrate real-world API integration at scale.
- Real-Time Map Visualization — Interactive Leaflet maps with sub-2s position updates.
- Trip Planner — Advanced routing logic to tell you which bus to take to reach your destination.
- Proximity Notifications — Browser alerts when your watched bus is within 500m.
- Driver Dashboard — Simple, mobile-first toggle for drivers to share their live location.
- GTFS-RT Compatibility — Backend generates Protocol Buffer streams for professional transit integration.
- Cross-Platform — Responsive web client for riders and a React Native companion app for deep mobile integration.
| Component | Stack |
|---|---|
| Client (Web) | React 19, Vite 7, Leaflet, Socket.io-client 4.x, Tailwind CSS 4, Google Maps API |
| Server | Java 21, Spring Boot 3.4.3, netty-socketio, Maven, GTFS-RT / Protocol Buffers |
| Mobile | React Native 0.78, TypeScript, react-native-maps, @notifee/react-native |
| Data Sources | Kingston Simulator (In-memory), NYC MTA (SIRI / GTFS-RT APIs) |
Real-Time_Transit_Tracker/
├── client/ # React Web Application (Rider & Driver views)
├── server/ # Spring Boot Backend (Orchestration & Simulator)
├── mobile/ # React Native App (iOS/Android)
├── Documentation/ # PRD, Roadmaps, and Hackathon Specs
└── README.md
Client (client/.env):
VITE_DATA_SOURCE=kingston # Set to 'nyc' for MTA demo
VITE_SOCKET_URL=http://localhost:3001
VITE_GOOGLE_MAPS_BROWSER_KEY=your_key_hereServer (server/.env):
TRANSIT_DATA_SOURCE=simulator # Set to 'mta' for NYC data
TRANSIT_MTA_API_KEY=your_mta_gtfs_key
MTA_BUSTIME_API_KEY=your_mta_bustime_keyBackend:
cd server && ./mvnw spring-boot:runWeb Client:
cd client && npm install && npm run dev| Route | Name | Color |
|---|---|---|
| 800 | Half-Way-Tree to Portmore | Green |
| 76 | Cross Roads to Downtown | Blue |
| 42 | UTech to Constant Spring | Orange |
YardRyde — Launched today for the Intellibus Hackathon 2026. Bringing transparency to Jamaican transit, one stop at a time.