Real-time 3D ISS tracker built with Three.js. Displays a rotating Earth globe with the International Space Station model and its orbital trail, updated every 5 seconds from the Open Notify API.
- 3D Earth globe with equirectangular texture
- ISS model (GLB) positioned at real-time coordinates
- Smooth interpolation between API updates
- Green orbital trail (last 200 positions)
- Interactive camera (drag, zoom, auto-rotate)
- Loading progress bar for the 43 MB model
- Info panel with latitude, longitude and connection status
- Netlify proxy redirect for HTTPS deployments (no third-party CORS proxy)
Serve the VisualISS/ folder with any HTTP server:
# Python
python -m http.server 8080 --directory VisualISS
# Node
npx serve VisualISS
# PHP
php -S localhost:8080 -t VisualISSThen open http://localhost:8080.
The page won't work via
file://— ES modules require an HTTP server.
This is a fully static site, so it works on Netlify with zero configuration:
- Push the repo to GitHub
- Go to app.netlify.com and click Add new site > Import an existing project
- Select the repository
- Set Publish directory to
VisualISS - Click Deploy site
Alternatively, deploy via CLI:
npx netlify-cli deploy --dir=VisualISS --prodThe ISS API is HTTP-only. On Netlify, the
_redirectsfile proxies/api/*requests tohttp://api.open-notify.orgserver-side, avoiding mixed-content blocks without any third-party proxy.
VisualISS/
index.html # Entry point with Three.js import map
script.js # Scene, globe, ISS model, API polling, animation
style.css # Space theme, loading overlay, info panel
_redirects # Netlify proxy rule for the ISS API
assets/
ISS_stationary.glb # ISS 3D model (43 MB)
earth_daymap.jpg # Earth texture (2K)
- Three.js v0.170.0 (CDN, no build step)
- Open Notify API for ISS position
- Netlify Redirects as API proxy on HTTPS
ISS 3D model from NASA. Earth texture from Solar System Scope (CC BY 4.0).