Inspiration
We saw that there was a brand new open source tool for sizing aircrafts and wanted to provide easier access to the public, easier usage by using AI, as well as a visualization to the numbers it produces. With better UI design, easier usage, and an actual model to look at, we believed we could make the tool more open to users of all skill levels. Especially by using AI, we wanted to simplify the process and streamline the entire process. A cool tool should be accessible to everyone!
What it does
The user will input the type of engine, the number of passengers, and the design range of the aircraft that they want designed. Gemini will then develop a mission profile for this aircraft based on those inputs, and the mission will be submitted with the user inputs into FAST. FAST will create an aircraft and give us design specifications which will then be sent to Blender for a 3D model and visualization. The user will then receive a visualization of the newly created aircraft!
How we built it
For the app interface, we decided to use electron. With electron, the app will be the interface to which the user will input the parameters and receive the visual model.
With the input parameters, we then used Google Gemini in order to develop a mission profile for the aircraft. The mission profile consists of the beginning and ending altitudes of different phases of the mission: takeoff, climb, cruise, descent, and landing.
FAST is a program written in MATLAB, as such we needed to connect the code to a Python script. For usage in this app, we had to create a completely new script within MATLAB that could be compatible with Python usage. The inputs from the app are sent to the Python script, which calls the MATLAB script through an API and return the geometric characteristics.
We then sent the output numbers into Blender through another API. In Blender, we originally had a reference aircraft, which is then scaled to match the geometry outputted by FAST. For example, we have a chord length which scales the length from wing tip to tip. This new model is then outputted to the app for visualization by the user.
Challenges we ran into
One challenge we ran into was getting MATLAB code to run in Python. We had trouble calling the function through the API, but eventually we were able to figure out how to get it running.
Importing, Content Security Policy, and Electron.JS are not friends. If you try to import, Electron.JS will not allow you to. If you try to bypass that with localhost servers, Content Security Policy will not allow you to pass. With changing security landscape, most stackoverflow posts will be outdated.
Accomplishments that we're proud of
This is a project made by computer science, aerospace, and data science majors. We created a product that solves niche pain for the aerospace engineering. We all tried something new like Electron development, connecting different languages (e.g., Matlab, JS, Python, etc), Blender modeling, and Hackathon for some of us (good job Ian)!
What we learned
One thing we learned is that connecting MATLAB to other code scripts is really complicated and isn't the best way to approach things. While we did get the code running, we felt more and more that there had to be a better way to approach this.
What's next for plain
We can include more input parameters for the user to consider that would be optional so that the app doesn't get more complex unless the user chooses to. Instead of scaling a reference aircraft, we could also design an aircraft from scratch using more specific geometries.
References
Mokotoff, P., Arnson, M., Wang, Y. C., & Cinar, G. (2025). FAST: A Future Aircraft Sizing Tool for Conventional and Electrified Aircraft Design. In AIAA SciTech 2025 Forum (p. 2374).
Log in or sign up for Devpost to join the conversation.