
Astro Coverage Planner | See where you've imaged. Plan what's next. Send it to N.I.N.A.
Hey all,
I've been building a tool for myself over the past few months and it's finally polished enough to share. Posting here in case anyone else would find it useful.
Repo: https://github.com/astro-roro/Astro-Coverage-Planner (MIT licensed)
Why Build ACP?
After 70-odd targets across a number of different rigs I'd lost track of what was actually finished vs what was sitting at "Hα done, SII still needed". Spreadsheets weren't cutting it. I wanted ONE map of the sky showing every field I'd ever imaged, coloured by rig, with per-filter hours on each target and a whole bunch more. So I built it all out and this is the v1.0 I am happy enough to share publicly.
What ACP Does:
- Scans your FITS/XISF archive (about 5 minutes for 100k files), reads WCS + gear headers, clusters into targets, plots every field on an Aladin Lite sky map.
- Creates FOV polygons coloured by telescope, badged by filter. Click any one to see per-filter hours and the masters behind it.
- Toggleable sky-survey backgrounds — flip between optical, Hα, infrared, radio with one click. Your coverage stays locked in place while the sky changes character. This is personally my favourite bit.
- Catalogue overlays: Green 2019 SNR, SMGPS / EMU SNR candidates, WISE HII, Messier, Sharpless, ESO PNe (more to come).
- Cross-source gap-finder. Pick "have Hα" + "missing SII", set hour thresholds, and it lights up every region of sky where one filter is covered but the other isn't, with public-catalogue candidates scattered in the gap.
- 12-month visibility per target for your site (sparklines on every object, "Now: Good · ↑ Improving" trend chips, sort by up-tonight).
- Mosaic-aware planner that exports directly to NINA Target Scheduler (projects, exposure templates, per-panel targets, all tested cleanly against TS 5).
- Plugin platform if you want to add custom catalogues, coverage sources, or other planners (Voyager / SGP would be great PRs).
AI Disclosure
Up front: AI did a lot of the implementation, but I am a real SWE that cares about good code practices. This is a hobby tool for me, and I didn’t want to spend years creating it from scratch. HOWEVER; what I cared about and spent real time on: input validation and security defaults (binds to localhost, no auth on a dev server, clear warnings if you change either), performance (MOC algebra for the gap-finder, cached visibility per site), and end-to-end testing (the NINA TS export went through five schema iterations against a real install before I trusted it). Not a vibe-coded toy. Happy to walk through any of the architecture in replies if you have concerns.
What’s next?
I will be continuing to work on this to bring more features into it, but always keen to hear if this is useful to others and what they would like. I find it very satisfying being able to see where I have imaged and where I am yet to capture data on.
Cheers,
Rohan - Astro With RoRo