AeroVia is a platform with a website and mobile app that wants to make aerospace more accessible. It is totally free and built by myself starting in September 2024 after I found no all-in-one platforms. AeroVia unifies a lot of different websites and features into 1 single hub. It already has more than 5K visitors a month and is rapidly growing. The library already has more than 100K items and is expanding too. It is maintained by an autonomous AI system I built to continuously add and improve the items.
Most info you find about aerospace is scattered online across YouTube, Wikipedia, papers and specific websites. AeroVia brings all those together in a single platform and connects them. When I started studying Aerospace Engineering at TU Delft university I was working on a model rocket courses website with a friend Johannes. This eventually led me to create my own website with aerospace courses and slowly started adding a few more features. This cycle repeated itself many times and now I have added a huge amount of features and data. Now AeroVia solves many of the problems I started with: I can find up-to-date aerospace info, learn with the courses and quizzes, and connect with others on the forum. I am happy that I can now share those with the rest of the world.
I had only made 1 simple website when I was 12, so I spent the first few weeks binge-watching Theo (t3.gg) and then found Cursor (back then very new) to get into vibe coding. So I built a platform to share courses and resources. With a dashboard to write the courses, manage users, and manage all the other stuff.
First version of the dashboard:
What you can do with it
To give some concrete examples of the capabilities AeroVia gives you: You can read a course and actual up-to-date info and resources can be linked inside its content as interactive buttons. You can see the launch trajectories of launches and follow them in real-time. You can see when space stations or satellites will fly overhead and be visible. Every resource item is also interconnected, a bit like Wikipedia, where you have blue links to jump from resource to resource. You can then go talk to aerospace enthusiasts using the forum.
I didn’t have much experience building websites and mobile apps before this. But together with AI I was able to learn a lot in no time and build this as a solo team. I will go a bit more in depth now on how I built it, and what the underlying technologies are.
Building the web and mobile apps
The website is built with Next.js and the mobile app with Expo/React Native. Both use Convex, a real-time backend and database that has great components to extend its capabilities. They also share the same Clerk endpoints so your account syncs and works across web and mobile. I’ve been working on the platform for 2 years now and I use a huge amount of agents to discuss the architecture and implementation, and help with debugging and testing. This is separate from the autonomous pipeline that I will explain more in detail in the next part. Which is the biggest challenge, to gather information and keep it up to date.
Keeping the library up to date
In the beginning of AeroVia (2 years ago) I used to spend hours finding useful aerospace data or links and adding those to the website, but as AI progressed I was able to automate those operations and scale them. I now have built custom pipelines with the Vercel AI SDK that go on the web and find website that have useful information and it builds those into my own platform, while honoring their credits. This means that I just have to run agents in loops and the library expands and improves over time. Lately AI models have become so cheap that I can run more than 20 in parallel all day. Some of these pipelines will expand the library and others run periodically to make sure the data is up to date. There is for example a pipeline that checks the current astronauts in space everyday and updates them when needed.
Those pipelines also receive user feedback directly and determine whether this feedback is worth pursuing and correct. It then automatically changes the website if it is a small correction, or prepares a fix and asks for my permission to apply the changes.
I built a dashboard to schedule new tasks and also inspect older runs that ran into issues. I can go into the raw traces or get higher-level overviews of the steps it took and where it went wrong. Those pipelines are built very simple so they can accept all kinds of requests. This means I give the right prompt and tools for the job and the end goal. Agents have gotten so good lately that I prefer to keep the prompt simple and focus on the goal, as I have experience degrading performance if you give specific instructions on how to solve a task. Because the agent might be able to find a better way and could be constrained by your prompt and this can decrease performance. Giving a very explicit end-goal and best practices prevents this. I also used this same pattern in my cooling tower software project.
Connected resources and Maps
An important goal of AeroVia is to make sure that the library is easy to navigate and discover. This is why I built some great primitives to make sure this is possible. I already mentioned the fact that you can use blue links to go from resource to resource. However, behind the scenes this is a little bit more complex. It is easy to go forward, but what if you want to go backwards. In that case, you need a reverse-index. While the underlying data only stores the direction of “rocket launch” -> “launch site”, the reverse-index allows us to go the other way and show “all launches” that belong to a “launch site”. It does it very efficiently and fast. This means I can store a relationship once and use the reverse-index to look it up from the other side. This system is generic and works across different types of resources, so they can be connected. It was one of the fundamental pieces that allowed me to scale the amount of data.
The map shows ~5,000 aerospace places and organizations nearby, while tracking lets you follow space stations and satellites. They have a special index called a “spatial index” which is optimized for coordinate displaying and searches. This worked perfectly fine in the beginning but as the library grew it started to become slower to the point it became unusable. So I had to introduce clustering to decrease the amount of data sent to the user, and only show the actual items in smaller batches when you are zoomed in more. This worked for a while but then also became slower, not because the client received more data to process, like before, but because the clustering on the backend now became a constraint. I had to change the model where clustering is now pre-computed and also split into different sections instead of the whole world at once.
I tried to find already built solutions so I wouldn’t have to spend a significant amount of effort and time but I wasn’t able to find one that fit all my needs. It had to be fast, cheap, and customizable (for my custom features). This meant building an implementation myself that ran on my own backend, updated for each addition/change to the database, had great logic for zoom levels, prevented waterfall queries, and used the least amount of compute possible. This took me 2 weeks going back and forth with agents, understanding the underlying principles and making deliberate tradeoffs. By the end, some queries were about 4x faster in my benchmarks. Database reads dropped from 1.88 MB to 15 KB for a broad map view, and I still owned all the data and logic myself so I could integrate it with my own features.
I plan to keep AeroVia as my own hobby project alongside my next job. It was a small side quest that got a bit out of hand but I love it and have a lot of features and improvements on my mind to make it even better. I hope it becomes one of the biggest platforms for aerospace enthusiasts to find information and connect!
