Two Physics Sims, Three Days, One Hackathon Win
In early 2025 our team won the ILM AI Hackathon at City St George's, University of London. The problem statement was unusually concrete for a hackathon: build two physics-accurate simulations — projectile motion and the two-body problem. "Accurate" was the whole game. Anyone can animate a ball arcing through the air; making the numbers right is where it gets hard.
🎥 Watch the demo: Simulations: Two-Body Problem & Projectile Motion
Dividing the problem
We split by simulation. One teammate dove into the physics research — the differential equations and the numerical methods for solving them — and took the projectile module. I took the two-body gravitational simulation. That division let us each go deep instead of both going shallow.
1. The two-body gravitational simulator
This let users explore orbital mechanics through pre-set scenarios — circular orbits, equal-mass binaries — or fully custom configurations.
- Real-time interaction: drag the bodies to adjust their position, mass, and velocity and watch the orbit respond live.
- Physics & analytics: visualize velocity, force, and position vectors, backed by high-precision integrators — Velocity Verlet, Runge-Kutta 4 / 45, and semi-implicit Euler — so the simulation stays stable instead of drifting into nonsense over time.
- Advanced cases: collision detection with an adjustable softening factor (so close encounters don't blow up to infinity), and escape detection for unbound hyperbolic flybys.
The integrator choice is the heart of it. A naive Euler step leaks energy and an orbit slowly spirals apart; symplectic and higher-order methods keep it honest.
2. The projectile motion simulator
This module modeled trajectories with and without air resistance.
- Baseline & prediction: launch an object and watch real-time overlays — live graphs for velocity, height, and acceleration.
- Dynamic parameters: adjust launch angle, initial velocity, and height on the fly.
- Air resistance: turn on drag and the system switches to advanced numerical solvers (RK4) to handle the quadratic drag term, then lets you compare the predicted path against the actual simulated one.
The three days
We worked hard for three days: getting the physics genuinely correct, then polishing the UI until the tools felt good to use, not just technically right. At the end I put together the demo video and submitted.
What actually won it
A few lessons I'd carry into any hackathon:
- Take the problem statement literally. They asked for accurate; we spent our effort on integrators and drag models, not flashy extras.
- Divide deep, not wide. Two people each owning one simulation beat four people half-owning everything.
- The demo is the deliverable. Judges experience the video and the UI, not your commit history — so the last day on polish and the recording mattered as much as the physics.
The trophy was nice. The better reward was proving that "make it accurate" and "make it ship in three days" aren't actually in conflict — you just have to spend your hours on the parts that are true.
Keep reading
Jul 9, 2026
Webhooks: The System Design Interview Answer That Actually Runs in Production
Webhooks look like the easiest thing in distributed systems, it is just an HTTP POST. Most implementations still quietly lose events, double-charge customers, and expose endpoints that process anything an attacker sends. Here is how to build both sides properly: transactional outbox, retries with backoff, HMAC verification, idempotent consumers, and the boring nightly reconciliation job that makes the whole thing trustworthy.
Jul 6, 2026
I Built a Site That Roasts Your CV
A weekend idea: what if a CV review felt less like feedback and more like getting dragged by four different people who all hate your resume for different reasons. 233 roasts and 23 battles later, here's the build behind getroasted.live: the model fallback chain, the persona system, and the guardrails that keep 'savage' from turning into 'reported'.