← projects

[ live · 2026 ]

Solar System 3D

An interactive 3D model of the solar system in your browser.

Role

Concept · Design · Development

Stack

  • React 19
  • TypeScript
  • Three.js
  • R3F
  • Vite
Solar System 3D — cover

Solar System 3D is an interactive browser model of our solar system. Explore the Sun, all eight planets and their major moons freely. It is a real 3D scene you can fly through, search and move forwards or backwards in time.

01 · The idea

Many solar-system visualisations favour either attractive imagery or plausible astronomy. I wanted both.

The Sun, eight planets and 18 moons appear as textured bodies. Four small moons, including Phobos and Deimos, even use actual NASA 3D models.

Overview of the 3D solar system with planetary orbits
The whole system at a glance, with orbital paths.

02 · Astronomical foundations

Planets follow J2000 Keplerian orbits rather than invented circles. Time controls let you move from real time to 30 days per second, forwards or backwards, and return to today in one click.

Earth has a day and night side with clouds and atmosphere; Saturn has rings; the Sun has its own shader.

Saturn and its rings in the 3D solar system
Saturn's rings; the camera can follow any selected body.

03 · Explore the system

A focus camera smoothly follows the selected body. Search filters all 24 bodies including moons, arrow keys move through them, and a travel mode takes you on a guided journey.

The URL stores the selected body, focus, view and date, so a particular view can be shared.

04 · Technology

Built with React 19, TypeScript, react-three-fiber and Three.js, with Vite for builds and Tailwind for the interface. It is deployed on Vercel under its own subdomain, with DNS on Cloudflare.

It also has light and dark modes, an information panel with a scale comparison to Earth, and versioned release notes.

[ outcome ]

Live at solarsystem.codemantix.com since July 2026. The core feature set is complete and approved. Next up are improvements to the asset pipeline and code splitting for faster loading.