Philly’s ‘transit vigilante’ created a real-time bus tracker for his neighbors

Philadelphia’s mass transit system has had a rough go of it lately. The Pennsylvania city’s main public transit provider, SEPTA, has been dealing with massive service cuts, including the elimination of entire bus routes. But South Philly resident Max Goldberg is undeterred. 

“I feel a bit like a transit vigilante,” says Goldberg, a creative director and DIY hobbyist who often uses SEPTA. In late 2024, Goldberg created a tool to make both his own life and those of his fellow bus riders a little easier: a digital transit sign providing real-time information for buses en route. 

How the idea began

“There’s a window behind the computer monitor in my home office that overlooks a bus stop, where there are always people waiting,” explains Goldberg. “I realized how fun it could be to have a big clock in the window—like the clocks you sometimes see outside of banks—so that everyone could know the time.” 

He then took it a step further, turning the clock into a digital transit tracker that lets those waiting know how far away the next bus is. 

How he built it

To create his DIY masterpiece, Goldberg started off with a large electronic sports timer, similar to the kinds of running clocks you’d see at a soccer match. He picked up the device during his years of working in video production, and had been using the four-digit, seven-segment display as wall decor since 2013. 

An overhead shot of an electronic circuit board laid on a wooden workbench, with dozens of small, red LED lights arranged in a large seven-segment display pattern, ready to form numbers or letters. The surrounding area is cluttered with wires, tools, a soldering station, and other electronic components.
Goldberg’s first iteration of his real-time, community bus tracker was made from an old sports clock. Image: Max Goldberg

Once he set his sights on using the clock, he had to figure out a way to program it. When it came to coding, Goldberg considered himself a novice. “I’ve played around with Arduinos,” which are open-source microcontrollers that you can use for creative projects like automated blinds and motorized Iron Man helmets, says Goldeberg. So he knew that the clock had a microcontroller—a small, single-chip computer (basically a miniature PC) that controls a single function within a device, like a digital countdown for keeping score—which acted as its “brain.” 

“I thought, what if I rip the brain out of this clock and replace it with something different? Then I could program the system to update with different numbers.”

The surprisingly difficult task of getting bus times

Next, he had to figure out how to get and interpret the real-time bus information from SEPTA. While the transport authority tracks buses directly on their website, “the website is kind of annoying to use,” says Goldberg. “It takes a lot of steps to get the information you need when all you really want to know is, ‘How many minutes until the next bus comes?’”

Since Goldberg has a background in web design, he knew to look for the website’s Application Programming Interface (API), a connection between computer programs that allows them to essentially “talk with” one another, sharing data between apps, systems, and devices. For example, when a mobile weather app needs the forecast for a specific city, it uses an API key—which is the app’s unique code, similar to a password—to request that info from a weather service specializing in real-time data for that particular city. The weather service receives the request, verifies that the code is authentic, and then responds with relevant data, such as temperature, humidity, wind speed, and a multi-day forecast.

A white SEPTA public transit bus is parked at a bus stop on a city street in Philadelphia. The bus displays the route "17 FRONT MARKET" on its front digital sign and features an advertisement for the Pennsylvania National Guard on its side. Trees and a large building are visible in the background.
Philadelphia’s public SEPTA buses can be surprisingly difficult to track using their official website. Image: DepositPhotos / Marek SLUSARCZYK

Anyone is able to get SEPTA’s transit information, says Goldberg, but it can be overwhelming. You really have to know what you’re looking for. So he used the website’s API to filter the information down into what exactly he and commuters wanted to know: when the buses on this particular route would arrive.

Getting the clock to display the right information

After he gathered that info, Goldberg focused on putting everything together. This included figuring out how the clock worked, basic wiring, and coding. 

“I think I was one of the earliest vibe coders,” says Goldberg, referring to a term for programmers who use AI tools like with ChatGPT for help. “Basically, you describe what you’re trying to do, it gives you a code and you try that code and see if it works or if it doesn’t. Maybe the numbers are showing up but they’re all upside down. So then you have to figure out how to fix that.”

Related Hobbyist Stories

Giant pumpkin growers face off for world gourd domination

Teen turns his suburban home into elaborate haunted house every October

A dedicated son brings Fenway Park to his dad’s backyard

In Vermont, one man is bringing pay phones back to life

Illinois man has spent 40 years rebuilding a WWII-era B-17 bomber

A life-long car lover recreated the Griswold’s famous station wagon

Amateur paleontologist opens fossil museum in rural Minnesota

How people reacted to Goldberg bus clock

After a few weeks of tinkering around in the evenings and troubleshooting issues like getting the clock to show actual bus ETAs, Goldberg placed the tracker in his office window, and waited to see what happened. 

“At first it wasn’t super obvious what it was, because there’s not a lot of room to display words like ‘next bus coming in…,’” he says. “But the people who got it were really into it.” Since it was the holiday season, some commuters left Goldberg thank you cards outside his place. A person who works for the app Transit even gifted him with a pair of company-branded socks. But more importantly, commuters were catching their buses on time. “I just like seeing people use it,” says Goldberg. 

Goldberg’s new and improved bus timer

In the year since, the DIY creator has made a 2.0 version of his SEPTA tracker. Rather than using a digital clock, it’s more of a pixel grid LED display that can actually write full sentences telling commuters when to expect the next bus. 

A hand holds a long, black electronic device with a bright red LED display that reads, "No route 45 bus ETA." The device is angled forward, and the background is a blurred office or workshop with a yellow sign reading "CAMERA!" and shelving filled with small drawers.
Goldberg’s new bus tracker is able to display full sentences to help commuters keep track of transit updates. Image: Max Goldberg

The one downside, says Goldberg, is that the letters are kind of small. The custom-built project consists of about $15 worth of parts from AliExpress (an online marketplace), all put together in a 3D-printed enclosure. Version 2.0 also uses the same “brain” as the original: an ESP32 microcontroller with a pin board, built-in wifi, and Bluetooth connectivity.

“Think of the ESP32 as a tiny, very inexpensive computer with built-in wifi,” he says. “Just like how computers have ports to plug in things like monitors, keyboards, etc, the ESP32 has pins that you connect wires to so you can ‘plug in’ things like sensors, lights, and motors.” Goldberg programmed the ESP32 to access SEPTA’s system directly, sending real-time info, as well as letters and numbers, through the specific wires that he connected. 

Goldberg put the coding for his original SEPTA project up on Reddit, so if you want to build one yourself you can. “The only issue is that you need the exact clock,” he says, “which is kind of hard to find.” He’s also working on making the software for his 2.0 model publicly available. 

While SEPTA does have countdown trackers at some of its stops, they’re more within Philadelphia’s high-traffic areas. Goldberg’s creation, meanwhile, displays information for a neighborhood bus stop. There’s no shelter or bench at the stop, just a metal sign displaying the number of the transit vehicle that stops there. 

“[Goldberg’s bus tracker] does have a dimmer on it, so it’s more muted at night.” And it’s also just a little less annoying to use than constantly updating a transit app. 

As to whether or not SEPTA has responded to Goldberg’s project, the answer is “no.” But for this transit vigilante, that’s OK. “Honestly, they’ve got a lot of other stuff going on right now,” he says. “It feels nice to help out where I can.”

For decades, Popular Science has highlighted the work of hobbyists. If you or someone you know is a DIY hobbyist working on a project, we’d like an introduction. Fill out this form and tell us more.

A close-up photograph of the front of a white SEPTA public transit bus parked on a city street. The bus's windshield reflects the surrounding buildings, and a digital sign is visible near the top. The bus is next to a brick building with a large white-framed window.
Goldberg’s real-time bus tracker announces “Now arriving” as a SEPTA bus pulls up, right on time. Image: Max Goldberg

 

PopSci Holiday Gift Guide

2025 Holiday Gift Guide

 

Laura Kiniry

Contributor

Laura Kiniry is a freelance journalist based in San Francisco, California. Follow her on Instagram at @laurajkin

Related Posts