Inspiration
It all started a few months ago, during my first year aeronautics project at my university. I was working on a two-bladed HAWT (Horizontal Axis Wind Turbine) designed to produce around 100W and I was in charge of designing the wind turbine blade. The process required testing many different combinations of aerofoils in the blade, approximately 3 million different candidates to find different values, such as pressure coefficient, drag coefficient and find a candidate that maximizes lift while minimizing drag as we want to achieve the highest L/D (Lift to Drag Ratio) possible. Evaluating every combination in detail was simply impractical.
But I quickly realised just how computationally heavy the process was. It was really time consuming to run full aerodynamic analysis on all three million candidates, and it was simply not feasible with the computing resources, especially within the limited time I had to complete the project. I needed to figure out a faster way to filter out unsuitable candidates before committing time and computational power to more detailed aerodynamic analysis. This challenge ultimately led me to create Aeroficiency, a tool to quickly narrow down a large number of aerofoil candidates and identify the ones that best suits the user's aerodynamic requirements.
What it does
Aeroficiency is a browser-based aerofoil design and analysis workspace that allows users to create multiple aerofoil candidates, visualise their geometry, configure them, and run a solver to evaluate and compare aerodynamic and structural performance. Users can explore a 2D section view to visualise streamlines and pressure-coefficient distributions around individual aerofoil sections, while the solver estimates aerodynamic quantities such as lift and drag. Aeroficiency also provides structural results such as wing-tip deflection and yield margin, helping users know whether a design remains structurally suitable.
Aeroficiency is not intended to replace high-fidelity CFD. Instead, it provides a fast and approximate way to evaluate the aerodynamic and structural performance of many wing and blade candidates, compare the results side by side, and identify the most promising designs before committing to more computationally expensive analysis.
By reducing the number of candidates that require high-fidelity analysis, Aeroficiency can reduce both time and computational cost, making early-stage wing and blade design more accessible to individuals, students, and small teams working with limited budgets.
Why WebMCP fits my use case
Creating a new wing candidate, changing its geometry, running a new analysis, checking aerodynamic and structural results, and comparing it against existing candidates normally involves many separate steps. With WebMCP, the user can simply describe the design goal and constraints to an AI agent, and the agent can use Aeroficiency’s WebMCP tools to carry out those steps directly inside the application.
The user don't manually have to create candidates, change individual parameters, run analyses, check different result sections, and compare each design one by one, the AI agent can handle much of this workflow really quickly while still operating within the same structured engineering state and constraints as the human interface.
This creates a useful collaboration between the engineer and the AI agent. The engineer decides what they want to achieve, defines the design requirements and constraints, and reviews the final engineering results, while the agent handles the repetitive design exploration, analysis, and comparison process through WebMCP.
How I built it
I built Aeroficiency as a browser-based engineering workspace using React and TypeScript. The application uses vinext as a Vite-compatible Next runtime and build layer, with Vite for development and bundling. React Three Fiber and Three.js power the interactive 3D wing visualisation, Zustand manages the in-memory workspace state, and Zod validates structured Site Tool and agent inputs. The engineering analysis runs locally in a Web Worker, and the application is configured and deployed through ChatGPT Sites.
I also used OpenAI Codex and Google Antigravity throughout development to help prototype new features, debug issues, review the engineering logic, and test the application's WebMCP tools.
Finally, I integrated WebMCP directly into the engineering workflow. I created ten Site Tools that allow compatible AI agents to read the current design state, create candidates, modify geometry, run analyses, and compare results across different candidates.
Challenges I ran into
The biggest challenge I faced was finding the right balance between accuracy and computational efficiency. Since Aeroficiency is designed to run directly in a browser, I could not rely on computationally expensive methods such as high-fidelity CFD. I had to simplify the aerodynamic and structural models enough to keep the analyses fast, while still producing results that were useful for preliminary design and comparison.
To find this balance, I used MATLAB as a testing environment to run many aerodynamic calculations and compare different modelling approaches before implementing them in Aeroficiency. I also experimented with aerofoil polar data to better represent changes in lift and drag across different operating conditions without introducing the computational cost of higher-fidelity methods. This helped me refine a model that was lightweight enough for repeated browser-based analysis while still providing meaningful results for early-stage design decisions.
Accomplishments that I'm proud of
I am proud that Aeroficiency brings several parts of the preliminary design process into one place, including aerodynamic analysis, structural calculations, interactive visualisation and AI interaction through WebMCP, all within a browser and without requiring heavy computational resources. Because of this, Aeroficiency is not limited to high-performance computers and can also be accessed from devices such as tablets and phones.
But what I am most proud of is turning the aeronautical and computing knowledge I had gained from university, alongside what I had taught myself through tutorials and online resources, into a complete, functional web application. Instead of only learning these concepts theoretically, I was able to apply them to a real engineering problem and build a tool that can generate, analyse and compare wing and blade candidates. I am especially proud that I took the initiative to turn what I had learned into something practical and took a meaningful step towards the kind of engineering work I want to pursue.
What I learned
Before this project, I had only heard of WebMCP and had never actually used it or written any code with it. I assumed AI agents mainly interacted with websites visually by reading screenshots, estimating coordinates, and clicking elements on the screen. Building Aeroficiency showed me that WebMCP allows an agent to interact through clearly defined tools, so it can directly read design data, modify candidates, run analyses, and compare results without relying on screenshots, coordinate estimation, and repeated visual interactions.
At the same time, developing Aeroficiency pushed me much deeper into the aerodynamics and structural analysis I had studied during my first year. Turning those theories into a working tool helped me better understand not only how the calculations work, but also their assumptions, limitations, and where more advanced methods are required.
What's next for Aeroficiency
Aeroficiency is still at an early stage, and there are many areas I want to develop further. One of my main goals is to extend the aerodynamic analysis to higher angles of attack and better represent what happens as the flow begins to separate. I want users to be able to visualise in 3D where and how flow separation develops across the wing or blade.
I also want to improve the accuracy of the calculations by making greater use of polar data across different angles of attack and Reynolds numbers, rather than relying primarily on simplified attached-flow approximations. Future development would focus on improving estimates of lift, drag and stall behaviour while still keeping the analysis fast and computationally efficient.
Lastly, I want to maximise the efficiency of AI-driven autonomous design using WebMCP. Currently, users still need to create candidates and provide much of the aerofoil and polar data themselves. In the future, I want a user to simply describe what they need, for example, a wind turbine blade designed for a particular wind speed, power requirement and set of structural constraints. Instead of generating and testing every possible design from scratch, I want Aeroficiency and an AI agent to use the results of previously analysed candidates. As more designs are tested, their geometry, operating conditions and aerodynamic and structural performance could be used to build a growing dataset. The AI agent could then use this historical data to identify the most promising regions of the design space, generate better candidates, and focus computational resources on the designs most likely to meet the user's requirements. Each new analysis would add more information back into the dataset, allowing the system to continuously improve its future design decisions.
Overall, I want to continue developing Aeroficiency into an advanced aeronautical design tool that is accessible to anyone, regardless of their computing resources or budget. My goal is to make aerodynamic and structural analysis easier to use, faster to run, and more accessible to students, individuals, and small teams who may not have access to expensive engineering software or high-performance computers.
Built With
- openai
- typescript
- vite
- webmcp
- zustand


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