A personal digital observatory built with Next.js: an interactive sky map, ISS tracking, moon phase, satellite TLE fetching, comet elements, and lightweight star/object lookups. It is designed to be fast to run locally and easy to extend.
- Explore an interactive sky map and star field
- Track the ISS position and estimate upcoming passes
- Browse satellite TLE groups (visual, stations, Starlink)
- Pull comet orbital elements (MPC CometEls)
- Resolve sky coordinates to an object via SIMBAD
- Fetch short Wikipedia summaries for stars/planets/DSOs
/Main dashboard/skymapSky map view/stargazingStargazing conditions and guides/stellariumEmbedded Stellarium Web/stellarium-skyStellarium sky view
All routes are implemented as Next.js Route Handlers under app/api/.
GET /api/iss-position- Returns current ISS position (via
wheretheiss.at) in an open-notify compatible shape.
- Returns current ISS position (via
GET /api/iss-pass?lat=<number>&lon=<number>&n=<number>- Returns approximate upcoming ISS pass times for a location.
GET /api/satellites?group=visual|stations|starlink- Returns parsed TLEs from Celestrak with conservative caching.
GET /api/comets?limit=<number>- Returns a bounded list of comets parsed from MPC
CometEls.txt.
- Returns a bounded list of comets parsed from MPC
GET /api/star-resolve?ra=<deg>&dec=<deg>- Resolves coordinates via SIMBAD and returns identifiers and best name.
GET /api/wiki-summary?q=<query>&kind=star|planet|comet|dso|nebula- Returns a summary extract/thumbnail/url from Wikipedia.
- Next.js (App Router) + React + TypeScript
- Tailwind CSS
- React Query for data fetching/caching
- Three.js / React Three Fiber for 3D visuals
- Leaflet / React Leaflet for maps
Prereqs: Node.js 18+ and npm.
npm install
npm run devOpen http://localhost:3000.
npm run build
npm run startThis project mostly relies on public upstream data sources. There is an example env file at .env.local.example.
NASA_API_KEYis currently only used by a placeholder hook inhooks/useAstronomyData.ts.
- Data sources:
DATA_SOURCES.md - Accuracy notes and caveats:
DATA_ACCURACY.md
No license is currently specified. If you intend others to use or contribute, add a license file.