Inspiration
The dream of building a rocket is usually gatekept by either oversimplified math or overwhelmingly complex software. We wanted something right in the middle, a tool that captures the harsh reality of rocket physics, but with a fluid, accessible, and instantaneous user experience. Inspired by the meticulous engineering of real-world orbital launch vehicles (and a few too many hours in Kerbal Space Program), Roocket was born. We set out to create a viability calculator where physics acts as the ultimate judge of your design.
What it does
Roocket is a drag-and-drop rocket designer and physics simulator. Users can snap together parts like nose cones, fuel tanks, and engines to configure their launch vehicle. Once designed, the app runs a rigorous, 4000-step Euler-integrated trajectory simulation to determine if the rocket can reach Low Earth Orbit (LEO), suborbital space, or if it simply explodes on the pad. It features dynamic pressure tracking, altitude-interpolated specific impulse and custom propellants.
How we built it
We built the entire platform to run client-side, meaning the "brain" of the app lives entirely in your web browser. There is no external server doing the math; your computer calculates the flight in real-time. To make the flight feel real, we used a method called Euler Integration. Instead of using one giant formula to guess where the rocket ends up, the app calculates the rocket's status every 0.5 seconds. In each tiny step, it checks how much fuel was burned, how thin the air has become, and how hard gravity is pulling back. The core of our math relies on the Rocket Equation, which calculates your Delta-v (your "Speed Budget")
Challenges we ran into
The hardest part was the air. As a rocket goes higher, the air gets thinner and colder, which changes how the rocket handles. We had to program a "map" of the sky using data from various studies so the app knows exactly how much air resistance, or Drag, to apply at 10km versus 100km. We also had to simulate Max Q. This is the point where the rocket is going fast enough, but the air is still thick enough, that the physical pressure on the ship is at its absolute highest. If your rocket isn't strong enough, this is usually where it breaks apart.
Accomplishments that we're proud of
The "Physics-First" Engine: We successfully built a simulator that doesn't cheat. Every flight is a result of raw math, calculating thrust, weight, and air resistance 2,000 times a minute. Browser-Based Power: We managed to pack a full atmospheric model and trajectory calculator into a web app that runs instantly on almost any device without needing a heavy download or a backend server. The Verdict System: We’re proud of the "Ruthless Verdict" feature. Instead of just showing a "Game Over" screen, the app analyzes your data to tell you exactly why you failed. We tell you if it was too much drag, not enough thrust, or a heavy structural build.
Real-World Data Integration: Integrating the US Standard Atmosphere 1976 was a huge win. It means when you hit 11,000 meters, the simulation accurately changes how it calculates pressure and temperature, just like the real sky.
What we learned
Space is Hard: We quickly realized why rocket science is a trope for "difficult." Even a tiny change in a rocket's Dry Mass (the weight when empty) or its Nose Cone shape can be the difference between reaching the stars and a fireball on the pad. The Balancing Act: We learned how to balance "accuracy" with "usability." Real physics equations can be messy, and translating them into a drag-and-drop interface taught us a lot about UI/UX design for technical tools. Optimization Matters: Running thousands of math steps every second can lag a browser. We learned how to optimize our code to ensure the simulation stays smooth while the math stays "ruthless." Aerodynamics are Counter-intuitive: We learned that going faster isn't always better. Pushing through Max Q (the point of maximum physical stress) taught us that sometimes you have to throttle back to keep the rocket from shaking apart.
What's next for Roocket - Rocket Physics Simulator
Multi-Stage Rockets: Currently, users build "Single Stage to Orbit" (SSTO) vessels. We want to implement staging, allowing users to drop empty fuel tanks mid-flight to gain more speed, just like the Falcon 9 or Saturn V. Payload Customization: We plan to let users add satellites or crew capsules with specific weights to see how much "useful stuff" their rocket can actually carry. Orbital Maneuvers: The goal is to move beyond just reaching space and start staying there. We want to add tools for circularizing orbits and performing engine burns to reach the Moon. Visual Enhancements: While the numbers are the star of the show, we want to add more dynamic visual feedback, like heat effects during re-entry and a "stability indicator" to help users see if their rocket is top-heavy before they launch.
Built With
- javascript
- next.js
- node.js
- react
- tailwindcss
- typescript
- us-standard-atmosphere-study-1976
- vercel
Log in or sign up for Devpost to join the conversation.