Web app providing riders of Knox Area Transit's Purple Line with the live location of the shuttle.


Image of PurpleTime running on desktop and mobile.

PurpleTime provides riders of Knox Area Transit’s Purple Line with the shuttle’s live location, when it is in service.

I developed it for my senior capstone project in Scientific Computing at Kenyon College, working with KAT to identify their needs, speaking with students who rely on the Purple Line to get around, and giving three presentations at different stages of development, soliciting feedback and suggestions.


Public transit options in Knox County are limited, so knowing the shuttle’s location is a boon to riders, who previously had no means of tracking it, sometimes leading to unnecessarily long waits.

Ironically, the shuttles were already providing realtime information to KAT via their onboard Android tablets, but that information wasn’t available to riders.

It felt like a missed opportunity that the data was so readily available but not easily viewable. All KAT needed was an application to make that information accessible to the public. So I set about designing one.

System architecture schematic.

On the backend, a webserver running Express fetches a list of shuttle locations provided by KAT’s scheduling software, in KML format. The server parses the KML and sends the coordinates of the currently active Purple Line shuttle to the client with Socket.io. On the client side, they are plotted on a Leaflet map of the area and refreshed every time the locations change.

Slide from PurpleTime presentation depicting a segment of source code.

Slide from PurpleTime presentation depicting a segment of source code.

Slide from PurpleTime presentation depicting a segment of source code.

Due to the arrival of COVID-19, the project has not yet been realized in full. I had intended to promote and launch the app, in coordination with KAT, in the Mount Vernon and Gambier communities. I also planned to expand the project to every KAT line. In the meantime, the app works, and the groundwork for those expansions has been laid.

If you are a current Kenyon student or community member, and are interested in taking over as the maintainer of this project, please get in touch with me.

Tools: node.js, express, socket.io, leaflet