High-Level Project Summary
Through this challenge we developed a space debris monitoring app for general use with geopositioning and advanced filtering capabilities, meant to be used to raise awareness and offer insights on the history of space flight and the potential consequences of collisional cascading. We think that the public should be aware of the space debris surrounding Earth and consider that future generations must learn as early as possible about this issue… our space travel capabilities are in their infancy, it would be very unfortunate to cut off vital avenues we could pursue due to ... space-garbage.
Link to Project "Demo"
Link to Final Project
Detailed Project Description
Project scope
In undertaking this hackathon, we envisioned the following scope for our project:

Let’s deep-dive into the features listed above:
Display debris positions
- The system displays debris position on a 3D dome with the user in the center
- Without Gyro
o When accessing the web app from a laptop/PC tilting and rotation is done using the mouse
- With Gyro
o When accessing the web app from a mobile device equipped with a gyroscope, the user can view different parts of the sky-dome by rotating/tilting their mobile device
Display debris trajectories
- The system displays the trajectories of the space debris currently located above the horizon
Display historical information, if available
- This is an educational aspect meant to disseminate information on space flight history. In time, interesting details and images could be included in the DB, or, a link could be provided towards a wiki page of the space object the debris once belonged to
Filtering (3D)
- The 3D filtering refers to showing only specific objects on the sky-dome based on some criteria:
o By State – we want to be able to filter for orbital decay
o By Geolocation – the user should be able to select a city or use their current location to view which objects are above his respective horizon
o By epoch – the user should be able to specify a discrete moment in time (in the past or up to one week in the future) for which the system will calculate the respective positions of the space objects.
Filtering (Reports)
- This part of the app contains information that is displayed via tables/graphs (not the 3D sky-dome)
o By Launcher – the system shows a distribution of the origin (the country(ies) that send the initial satellite/rocket/etc to space) of the debris for a specific timeframe
o By Launch Date – the system shows a distribution of the objects originally sent to space by year
o By Orbital Decay – the system shows a distribution of the objects based on the date they are supposed to re-enter the Earth’s atmosphere
Notifications (not implemented yet)
- A notifications/news system to inform the user about upcoming launches (that might create even more space debris 😊 ) as well as other space trash related news and events
Garbage Flare Predictions (not implemented yet)
- Iridium Flares were a substantial part of one of our team-members’ childhood, so we decided to include this feature in the scope. Some Iridium satellites are still active, and even the inactive ones can sometimes produce flares. So, we thought it would be cool to try and build a “Garbage Flare Prediction System”.
Solution Architecture
The system is comprised of two main components (with a constant data flow between the subsystems of said components)
Data Acquisition and Transformation System
This subsystem consists of:
- A relational (MySQL) database hosted on Google Cloud
- A Python job that loads data into the system once every 3 days from Space-Track.org
- Python business logic for converting from TLE to CZML format
- An API (also written in Python) to retrieve/feed the data to consumers
Data Display System
This subsystem consists of:
- A Cesium JS Web Application hosted on Heroku
- The application renders the sky dome which the end user sees, along with the positions/trajectories of the space debris
- If the application is opened on a mobile device equipped with a gyroscope, the user will be able to navigate the sky-dome by moving his phone

Project benefits and achievements
There are 3 main areas where we think our project can prove useful:
The general public
Astronomy, with all its subfields, is an awesome opportunity for people to connect, explore and be aware of what is beyond the fluffy clouds 😊 . Our project can prove an interesting science dissemination opportunity while also being entertaining (you can virtually “see” garbage in the sky… it is disturbing and intriguing at the same time). Also, the topic itself is extremely important and deserves a wide public attention. Mankind has now transformed many areas on the globe into landfills and cesspools. We should try to avoid as best we can making space “the final frontier for our garbage”.
The scientific community
We are aware of the fact that NASA and the scientific community have countless extremely well trained brilliant professionals, but maybe something in our two cents will resonate with some of them and spark new ideas.
Us personally
Learning something new and testing your limits is always exciting, but this project managed to upstage most other competitions we partook in because of the context it managed to create and the challenges it posed. We are extremely happy for having had the opportunity to learn, hack and have fun while doing so.
Space Agency Data
To obtain the data related to the space debris orbits, we analyzed both CelesTrak and Space-Track.
We ended up using Space-Track.org as our main source of space object trajectories’ information in TLE format. Our choice was motivated by the fact that the format is slick and the data was readily available.
Once we got the information in TLE forma, we proceeded to convert it to CZML and storing the CZML format in our database.
One drawback for Space-Track.org is the API throttle, but, since we are storing the data in our own database, going back for data once every three days avoids the API throttle issue.
Hackathon Journey
We discovered NASA Space Apps Challenge only a couple of weeks before the start of the hackathon. Our schedules not being completely in sync, we first thought we will have to postpone enrollment for 2022.. but then we saw the challenges 😊 and we decided we don’t want to give up the opportunity.
We are truly glad we didn’t postpone!
Our team of four feels like a cross-section of the current Romanian IT industry: an aspiring and capable young full-stack engineer, a brilliant and incredibly driven data engineer, a project manager with a heart for engineering and astronomy and a solutions architect who knows most of the tricks in the book when it comes to leadership and code. We have different skills, different ages, and different levels of experience, but there’s a sense of camaraderie which truly shines in contexts such as this hackathon.
We started out by reviewing all the challenges and each of us chose 2-3 that stood out. We then compared notes and realized that there were two challenges which were on several people’s lists. And the top choice was not this one… 😊 . And then we started talking. And the more we talked about why we liked the other one better, the more we realized that we would actually like to try and hack for this one 😊 .. so, in the end, it was unanimous… and thus we commenced.
After the first couple of hours, the roles became pretty clear. One of us was to analyze available data sources, decide on one and retrieve the data; someone else was to put the DB in place, transform the data and create an API so the data becomes accessible to the third person, who would build the display app. We knew from prior experiences that leaving documentation for the last minute is a no-no, so we delegated visuals and content to the fourth team member.
One of us suddenly came down with a (non-Covid) cold and had to work remotely, but the other three gathered at the office and buckled down to work.
We were first going to go with Celestrack, but then decided against it (for the reasons mentioned above). We then proceeded to populating our database. The initial quey took 5 hours to complete. The data engineer and the pm fell asleep while guarding the query 😊 .
We had an initial scare because of camera tilt and cartesian coordinates versus Euler angles but managed to fix the issue.
We then realized that half of the debris objects in the DB do not have orbit information. Their RCS was also 0, which could indicate that they were small in size. So we started brainstorming on ways we could approximate the whereabouts of those debris objects.
We definitely learned a lot, definitely laughed a lot and most definitely will be back next year.
Thank you NASA Space Challenge for making this possible 😊 !
References
Space-Track.org
CelesTrak.com
Visual Studio Code
PyCharm
HeidiSQL
MySQL
Google Cloud
Heroku
Cesium
Bootstrap
Python
Adobe Stock Photo
Adobe Photoshop
Adobe Illustrator
Microsoft Office
Tags
#debris, #spacetrash, #monitoring, #TLE, #solutions, #hackathons, #virtualhackathon, #hackathon, #science, #news, #asteroid, #techcaughtoncamera, #nasa, #space, #technology, #data, #science, #meteorite, #spaceappschallenge
Global Judging
This project has been submitted for consideration during the Judging process.

