Ruddro Roy I like to think deeply

Building tools to understand how satellites move and networks behave.

I implement orbital mechanics from first principles. When I see a 0.04 km error where I expect 2 km, I investigate why. Currently exploring how atmospheric‑drag uncertainty affects satellite predictions.

What I’m discovering right now

B* drag coefficient affects orbital decay linearly

Built my own orbital propagator to understand SGP4 deeply. Because the secular decay rate is proportional to the ballistic coefficient \(B^\*\), a 50 % uncertainty in atmospheric drag translates to roughly a 50 % uncertainty in predicted decay. Provided the atmospheric density model is held constant.

Kepler solver TEME → ECEF Python

I question everything. If results look wrong, I dig until I understand why.

What I’m building

Orbital mechanics from scratch

Implementing SGP4 propagation myself to truly understand it. The goal is a transparent, end‑to‑end pipeline.

Status: Testing against real ISS data

  • Newton‑Raphson solver for eccentric anomaly
  • Comparing with published decay rates
  • Next: State‑transition matrix for covariance propagation

Pass predictor with link budgets

Shows not only when a satellite passes overhead but also how well you can communicate with it. It combines orbital mechanics with RF link‑budget calculations, including Doppler shift, atmospheric loss, and rain attenuation (ITU‑R P.530 for Ka‑band).

Status: Core math works, UI in progress

  • Per‑point Doppler shift calculation
  • Atmospheric + rain loss models
  • Export to calendar and PDF

Network quality under load

Measures how your internet (especially Starlink) behaves when stressed. By sampling at sub‑second intervals it detects micro‑outages that conventional speed tests miss.

Status: Protocol design phase

  • Tests at 10 %, 50 %, 80 % capacity
  • Detects outages as short as 1 s
  • No cloud required – runs locally

3D satellite tracker

My first real project. Tracks thousands of satellites in‑browser using CesiumJS. I learned that rendering all objects at once kills performance, so I added level‑of‑detail based on zoom.

Status: Works but needs optimisation

  • Avoid rendering > 5 000 objects simultaneously
  • LOD switching based on camera distance
  • Lesson: Start simple, optimise later

My journey

From Dhaka to space, via code. EEE graduate from Bangladesh. I started with NASA’s online events, GLOBE, DART, and EPDC.

Everything I know about orbital mechanics comes from implementing it. When textbooks said “use SGP4,” I built SGP4. When papers mentioned B* uncertainty, I quantified it myself.

Starting an MSc in Communications Engineering at Politecnico di Torino in 2025. Until then I’m building the tools I wish had existed when I began learning.

Philosophy: Make hard things understandable. Show your work. Question surprising results.

What drives me

The world doesn’t hand us meaning; we must courageously invent it ourselves. I’m constantly reminded that my present self isn’t the final version, I must keep pushing beyond today’s limits. Before I make a decision, I ask whether I could willingly live this exact moment forever; if the answer is “no,” I note what I’d change. Comfort is tempting, but true growth sprouts from struggle and internal conflict. Respectfully leaving the past behind lets me move forward with purpose.