“This is a pretty bright source,” said Palo Alto High School senior Franklin Wang, recalling the moment when he found his first undiscovered asteroid. “It’s moving in a straight line … There’s no [previously known] objects within this vicinity. No asteroids, no satellites. Then it’s most likely going to be an asteroid that’s new.”

Over the span of two years, Wang developed an artificial intelligence algorithm to scan public telescope data and tuned it to detect near-Earth objects, an extraordinary achievement for anyone, let alone a high school student.

Before diving into the complex world of outer space, Wang’s passion for astronomy originated from watching “Cosmos: A Spacetime Odyssey” and reading Scientific American.

Wang’s enthusiasm for programming, on the other hand, began in second grade when a friend introduced him to Scratch, a simple visual programming language in which he could code simple games. As he grew older, Wang delved into more intricate programming languages, such as Java and Python, being motivated by competitions such as the USA Computing Olympiad and using Youtube as a resource.


“I can try to simulate some data because they’re generally simple … you can mathematically model the [asteroid] trails.”

— Franklin Wang, senior


These two passions converged in 2019, when astronomy professor Dr. Jian Ge of the University of Florida recommended a research paper to Wang during a mentorship program. The report described a process to find asteroids using machine learning and asteroid data from Caltech’s ​​Zwicky Transient Facility. Inspired by the paper, Wang decided to try his hand at making his own asteroid-detecting algorithm.

“The whole first couple of months was trying to figure out what this field is and how it works,” Wang said. “That was basically getting to see what real asteroids look like in terms of little trails.”

Initially, Wang was only able to extract a couple hundred pictures from the ZTF. This proved problematic for his code, as training an artificial intelligence to identify asteroids required having previous images from observatories.

“Machine learning algorithms, they want thousands, tens of thousands of images,” Wang said.

To compensate for the lack of information, Wang created his own asteroid data.

“I can try to simulate some data because they’re generally simple … you can mathematically model the [asteroid] trails,” Wang said.

However, the first iterations of Wang’s algorithm reported many more asteroids than he expected, far too many to be true.

“I got a bunch of false positive results,” Wang said. “It was just spewing out stuff that weren’t asteroids at all … it was tens of thousands, that was just too much.”


“I was shaking. Is it actually going to be real? And it was … that was crazy.”

— Franklin Wang, senior


After persistently revising his algorithm over many months, Wang reduced the number of false positives to levels where manual sifting was viable. From there, he compared the orbitals of previously discovered asteroids to his data, containing a mixture of possible asteroids and miscellaneous streaks of light.

“Previously I found … figments of a star being super bright, causing some artifacting,” Wang said. But after punching numbers into the asteroid database and realizing he stumbled upon an undetected asteroid, Wang was speechless.

“I was shaking,” Wang said. “ ‘Is it actually going to be real?’ And it was … that was crazy.”
Following his initial discovery, Wang identified five more new asteroids over the next four days. His breakthrough won him awards at the International Science and Engineering Fair, including first place in physics and astronomy and $30,000 in prize money.

“When you make an impact in terms of research, it’s figuring things out … until you hit that point where like, okay, I’m finally making discoveries now,” Wang said. “I was just really excited to see that everything I’ve done has finally paid off.”