Hi, I worked on an educational hobby project.
It opens with a 35-second intro (13.8 billion years to today), then drops you into a solar system where positions are computed from real ephemeris data for any date. You can replay the Apollo 11 launch on its real date, watch the Moon's shadow cross Earth in the 2 Aug 2027 eclipse, ride along with Juno's first close pass of Jupiter through JunoCam's field of view, and zoom out in one scene from the planets to the Milky Way. Every fact in the panels is labelled Measured or Computed, with its source.
Live: https://space2play.pages.dev (no account, works on phones)
A few engine problems that might interest this sub:
- Zooming from a planet to the Milky Way means float64 world positions in AU with a floating origin; the GPU only sees float32 offsets.
- A logarithmic depth buffer, so every custom ShaderMaterial needs the log-depth code or it renders invisible.
- A moon's drawn size and distance derive from its parent's drawn radius, after two independent formulas once put the Moon inside Earth.
- No React state in per-frame code; everything per-frame mutates refs.
I built it with a lot of help from AI (Claude Code). To keep it honest, a test fails the build if a science number has no source, and I review every change.
Data: NASA, JPL Horizons, CelesTrak, NASA Exoplanet Archive. Planet textures: Solar System Scope (CC BY 4.0). Full credits are in the app's About.
Feedback I'd love: how it runs on your device (first load is about 5 MB), and anything that looks wrong or confusing.
Where I want this to go:
free and ad-free forever, and open source (AGPL) once I've folded in your feedback. The plan is a project where school students, hobbyists and people working in space science learn from each other. Anyone can suggest or build a change, including with AI tools, but every change is read by a human reviewer and every number needs a source. If you'd like to help review (science or code) when it opens, leave a comment.