Ship
Changes requested
@Ramskandh_Thirandasu on Star_Gaze
What I Made
StarGaze is an offline, real-time sky map for Web and Android. I originally tried using AI image recognition on night-sky photos, but phone cameras are too noisy for that to work. So, I rebuilt it the right way: using GPS, the clock, your phone’s sensors, and some spherical trigonometry. It fits 1,009 stars, 88 constellations, 5 planets, and the Moon into just 57 KB of data, and works completely offline.
What Was Challenging
Phone hardware is the biggest weak link. I had to build a system that compares your phone's magnetic reading to a global model (IGRF). Now, if a nearby metal object is messing up your heading, the app warns you instead of quietly pointing the wrong way.
The most frustrating bug was realizing I wrote and tested the complex math for atmospheric refraction (which bends light near the horizon)—but never actually called the function! Fixing that one skipped line resolved the biggest visual error in the entire app.
It was tempting to use heavy, ultra-precise planetary math. But I had to accept that calculating sub-arcsecond accuracy is pointless when a phone compass is naturally off by a few degrees anyway.
What I’m Proud Of
If you open the app at noon, it won’t show you stars. A custom sky-brightness model calculates the Sun and Moon’s position to only draw objects that are actually visible right now.
Instead of just blindly thinking the math is right, I set up automated monthly tests that check the app's planetary positions directly against real NASA JPL Horizons data spanning 2021–2045.
- 1 devlog
- 5h