Inspiration
For centuries, humans have looked to one place for navigation. The sky. Even now, in the modern era, we rely on outer space to be our guiding path, but this time, it's through satellites. Satellites power navigation, communication, and connect the world. However, thousands of satellites and debris objects leave orbit annually, and I know there are more space technology enthusiasts out there, like myself, who would love to learn more about these seemingly dull, floating space devices that humans have sent out. But when I looked online, I couldn't find any functional, all-in-one satellite-centered tracking website - probably because it's an incredibly niche category of software. That's why I set out to develop one myself with a single goal in my head: to develop a mission control simulation site or app for modern space.
Where the name comes from
Intercept66's name comes from the Iridium satellite network. Specifically, the network possesses 66 satellites, which is why we used exactly that. The 'intercept' is inspired by the fact that the simulation can detect 'interceptions' in orbit.
What it does
Intercept66 is a free, online astronomy tool for space enthusiasts and celestial experts alike. It features an array of simulation tools, including an orbit predictor, a debris tracker, and a satellite simulator, among others. The orbit predictor functions as an orbital path planner that allows the user to see current satellite paths, plan launch coordinates, and simulate launches of their own. The debris tracker provides live space object data with automatic avoidance maneuver recommendations.
To add on, the satellite simulator allows the user to view the risks of object collision with each launch. Intercept66 also houses built-in asset management, allowing users to track real satellites, find collision points, and organize their astronomical ideas. Finally, intercept66 has a completely separate tab for collision detection and prevention, with a mathematical algorithm that predicts orbital intersections and provides early warnings for future intercepts.
How I built it
Intercept66 was both vibe-coded using Lovable. Intercept66 uses a simplified SGP4 propagator (see orbital-mechanics.ts in the GitHub repository). Intercept66 fetches data from CelesTrack, which is a public repository that provides NORAD Two-Line-Element data in an accessible format. In particular, I used CelesTrack's public API. It allows for the real-time satellite information feature, including the positioning of different satellite groups on the digital map, in addition to space stations (like the ISS and Tiangong), Starlink satellites, weather satellites, and GPS satellites.
Each request returns up to 50 satellites per category, with each satellite being described by its name and two TLE lines. The core of the site/app focuses on turning this TLE data into real satellite positions. It parses each TLE and pulls out important orbital values such as inclination, eccentricity, mean motion, right ascension of the ascending node, and argument of perigee. The system uses a simple SGP4 orbital model to consider Earth’s shape, solves Kepler’s equation to find the satellite’s position, and converts these coordinates into its latitude, longitude, and altitude on the digital Earth model. Satellite positions are updated in real time and recalculated every few seconds. The app also predicts future paths to draw ground tracks, and it calculates satellite velocity based on the orbital parameters or values. This allows users to see both where a satellite is now and where it will be shortly in the future. Users can also add their own satellites manually; however, instead of TLEs, they provide an initial X, Y, Z position relative to Earth’s center and the satellite’s mass. Based on this, the system generates a circular orbit (if using the 3D view) and simulates its motion over time.
Collision detection is accomplished by a different module that continuously looks ahead in time. It simulates all the satellite positions up to one hour into the future, all while checking distances between every pair at 10-second intervals. Based on the closest approach, the system labels the risk as dangerous (less than 1 kilometers apart), in close proximity (1–10 kilometers), or safe (more than 10 kilometers). For the best visualization experience, the app offers both a 3D and a 2D view. The 3D view uses a Three.js Earth model with satellites and their orbits shown in space. The 2D view displays ground tracks on a standard Mercator map projection. Both of the views update live and highlight potential future collision risks. In order to prevent abuse and excessive requests, user access to the TLE-fetching function is protected by authentication with a valid JWT before the backend can request data from CelesTrack.
Challenges I ran into
This project was amazing to create, but it didn't come without its own set of obstacles. The first main challenge I faced was integrating the TLE data, using the CelesTrack API, into the codebase. Once I had finally found a free, public API that could help me scrape data on the satellites' positions, I needed to figure out how to make it work. However, sometimes, the development environment, Lovable, did not reliably apply the configuration changes, which would result in the API key failing to update or function. This led to some delays in my development process until the configuration and deployment behavior were understood and worked around. I realized that frustration wouldn't do anything, and that sometimes it's better to clear your mind before facing a challenge.
The second primary challenge I faced was one of the hardest technical challenges I've ever encountered in a project - mapping out the orbit prediction functionality without using a full SGP4 library. I had to devise a way to make the orbits as accurate as possible, while still feasibly simplifying things, since full SGP4 is complex and very computationally heavy. After 3 power naps and more energy drinks than I'd like to admit, I thought of an idea. I could use a simplified version that kept the more essential and basic physics, such as Kepler's equation, while remaining fast enough to update the positionings every couple of seconds.
Accomplishments that I'm proud of
This project has given me many accomplishments that I greatly value. One of the major accomplishments that intercept66 has given me is making my first, deeply refined, functional app with a clear target audience. Most of my past projects have been broad and unfocused in terms of users. In contrast, this one was much more specific and designed for a certain group (space enthusiasts and professionals), forcing me to make more deliberate and technical design decisions.
Another major accomplishment was my self-dependence for the orbit prediction. I could've relied on external libraries. I chose to custom-build a simplified SGP4-style system, since this path would bring me a more valuable experience.
Overall, this project felt like an incredible step-up from my hackathon submission last year, which was an unreliable and low-quality to-do list app. However, since this is my second hackathon ever, I believe that my skills have improved exponentially, and this, in itself, is a huge accomplishment.
What I learned
The entirety of intercept66's creation felt like more than just building a hackathon project. It felt like a newfound chance to explore the depths of web development. I learned how to implement public API keys into projects, how to design a user experience that felt immersive while not overwhelming the user, and how to build a complete, complex, end-to-end product.
What's next for intercept66
Intercept66's future may entail adding updates to make the SGP4 library more extensive while simultaneously finding a way to lower the load times for the data, as well as enhancing user-defined satellites by allowing for full orbital element input, maneuver simulation, and delta-v modeling (mostly driven by Emerson's suite) for supporting mission planning scenarios. Additionally, I plan to add some more simple features, such as 'bookmarking' or 'favoriting' certain satellites, allowing the user to manually add some space debris, among many others. All in all, intercept66 is a project that gave me something to be immensely proud of, not just due to the project itself, but because of the knowledge and value that I gained from it.
Built With
- github
- javascript
- lovable
- n2yo.comapi
- react
- tleapi
- typescript


Log in or sign up for Devpost to join the conversation.