Case Study - JMU Bus App
A student-created mobile app that became an essential tool used daily by over 20,000 JMU students for 12 years, featuring real-time crowd-sourced bus tracking, dynamic schedule adjustments, and advanced route planning.
- Project
- JMU Bus App
- Year
- -
- Service
- Mobile App Development

Overview
The JMU Bus App started as a personal project during Matt's freshman year at James Madison University. What began as a simple tool for personal use quickly evolved into an indispensable application used daily by over 20,000 students. Despite multiple official solutions provided by the city, the JMU Bus App remained the preferred choice among students for many years until the official app finally caught up with real-time tracking capabilities.
The app's success was driven by its comprehensive feature set and reliability. Students could track buses in real-time through an innovative crowd-sourcing system, access holiday routes, receive automatic schedule updates, and utilize advanced features like custom route finding and favorite bus tracking. The app was featured in the school newspaper, The Breeze, and was regularly mentioned both in Student Shoutouts and in-person between students. The Bus App continued to serve the JMU community for 12 years before being discontinued.
Route Rules + Announcements
During inclement weather, end of semester changes, or holidays, some routes would have a delayed start, an early closure, or wouldn't run at all. A custom built Route Rules feature would allow Matt to adjust routes on the fly which would be automatically synced to everyone elses' devices. Further, global messages and route-specific messages could be shown to inform users of the schedule changes, during a time where there was no alternative unless the users knew to check the Cities official website if they suspected that there might be changes.



Crowd-sourced Bus Tagging
The JMU Bus App pioneered a crowd-sourced Bus Tagging system, so that students could publish when and where they saw the bus in order to better predict where they were. The bus tagging system was able to adjust the published schedules on-the-fly by their reported delay or early arrival, leading to more accurate schedules and predictions of arrival. In addition, JMU has long had the "Late Night Routes" (affectionately known by the students as the Drunk Buses), which run 10pm-2am on weekends to quickly and safely ferry students around town. Unfortunately, these buses didn't have a set schedule - their routes were well published and advertised, but the buses "get there when they get there", which isn't ideal when it's a brisk 20ºF in January and people are dressed in their going-out clothes. The Bus Tagging system would allow users to broadcast where the buses were in real-time, so that students could better plan for when to head to the bus stop.



Route Finding, Generic Locations, and GPS
New college students have a lot to learn their first few weeks and months - not only how to balance their social life and their studies, but also how to literally navigate the city and campus. To aid in this, the Bus App added a powerful Route Finder, Generic Locations, and used GPS to help you figure out where you are and what buses are nearby.
Instead of slowly and painstakingly learning the intricacies of the bus system, students just need to know where they are and where they need to go, and thanks to the GPS integration, the "where they are" became simple. Generic Locations combined tedious and convoluted locations into student-friendly names. For example, if a student was at The Quad and was trying to get to the other side of campus to the best dining hall, E-Hall, they could simply run a search for those two locations (or run it as a Saved Search and do it with a tap of the button). Without the app, the student wouldn't find either of those places in the official schedules, and instead, would need to know that the nearest bus stop going east-bound was at a residential hall named Hoffman Hall, and that the nearest stop to the dining facility was called Carrier Dr. @ Festival Conference Center.




Developed over 12 years
With such a long product lifespan, the JMU Bus App went through multiple major redesigns for both Android and iOS. When it first launched, the original Motorola Droid had just been released and iPhone's App Store was just opened up to the public. The Bus App followed multiple design language trends through the years to stay up to date with the current trends and expected UI/UX paradigms.


And perhaps as a testament to the agile and iterative process of software development, or perhaps as a cautionary tale of software developers lacking design experience, here's a sneak peak of what the app looked like at its initial launch.




Thankfully Matt's UI/UX skills improved during the following 15 years, and when Matt reaches his limit, he can reach out to Mike or Will.
Tech
- Native Android (Java)
- Native iOS (Objective-C)
- NodeJS
- TypeScript
- Express.js
- Firebase Database
- REST
- AWS S3
- PHP
[Matt] has done all the app development independently and I am very impressed with his programming and interface design skills. The app will become indispensable.

Professor, Integrated Science and Technology,
James Madison University
- Years Active
- 12
- Lifetime Users
- 20k+
- Native Apps
- 2
- Daily Active Users
- 4.5k+