Night Sky Agenda

Celestial Web Development Project

Night Sky Agenda

Night Sky Agenda helps amateur astronomers, outreach presenters, and astronomy clubs generate a practical observing plan with object tiles, timing guidance, equipment recommendations, Bortle-aware visibility, and a print-friendly checklist.

What it does

Build an observing agenda

Enter a date, time window, location, equipment level, and Bortle scale to generate a cleaner, more useful night sky plan for personal sessions or formal events.

Location autocomplete

The location field supports search-style suggestions and automatically fills latitude and longitude from the selected result.

Dynamic difficulty

Difficulty is no longer a fixed catalog label alone. It adapts to the selected Bortle scale, moon interference, and observing conditions for more realistic planning.

Print-friendly output

Generate a full print view or a checklist-style printout that is much easier to use at the telescope or during public outreach.

Key features

  • Location-aware sky planning with autocomplete and geolocation support
  • Bortle scale modeling for more realistic visibility expectations
  • Dynamic observing difficulty tied to actual sky conditions
  • Separate personal and event modes
  • Object tiles with timing, direction, difficulty, and equipment guidance
  • Optional formal-event presenter notes for outreach use
  • Full print and checklist print layouts

Integration guide

Backend

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000

Frontend

cd frontend
python -m http.server 8080

By default, the included config.js uses same-origin API calls. For split hosting, set window.API_BASE_URL to your API host.

Why this project matters

This project turns astronomy planning into a polished, user-friendly workflow. It is practical for backyard observers, club observing nights, and public outreach events, and it showcases a blend of astronomy domain logic, API design, frontend UX, and print-oriented presentation.