User Guide

Everything you need to know to use this log, whether you are ticking off objects for the fun of it or building a complete record for the Astronomical League Messier Club certificate.

Two Use Cases

This log is designed to serve two kinds of observers. You can use it for one, the other, or both — many observers start casual and add full records as their interest in the AL program grows.

When you open the site for the first time, a Quick Start Guide appears automatically explaining both use cases and linking to this page. Tick "Don't show again" before dismissing it to suppress it on future visits, or leave it unticked to see it again on any browser where no data has been saved yet.

Casual Messier Checklist
Just track what you've seen

Check off objects as you observe them, jot a brief note in the inline field, and watch the progress bar advance. Use Night Mode (🌙 toggle, top right) at the telescope — red-on-black preserves your dark adaptation. Export your log as a CSV any time from the ☰ Log menu. That's all you need to do.

🏅
AL Messier Certificate
Full records for award submission

Click the button on any object to open the full observation record — date, time, site, seeing, transparency, limiting magnitude, telescope, eyepiece, and a written description. Use ☰ Log → Session Setup to set location and equipment once per night so every record auto-fills. Generate your submission PDF from ☰ Log → Generate AL Report.

Night Mode and Day Mode

The 🌙 / ☀ toggle in the top-right corner switches between two display themes. Your preference is saved automatically and restored every time you open the page.

ModeAppearanceWhen to use
🌙 Night Near-black background, red-spectrum text and controls At the telescope. Red light does not constrict the pupil or bleach the rods, so your dark adaptation is fully preserved.
☀ Day Warm parchment background, dark ink, maroon accents Planning sessions indoors, filling in full AL records, generating reports.
Why red light? The human eye's rod cells — responsible for low-light vision — are insensitive to red wavelengths. White light bleaches rhodopsin in the rods and takes 20–30 minutes to recover. Red light lets you read the screen at the eyepiece without resetting your dark adaptation.
The Observation Table

All 110 Messier objects are listed in marathon search order — the sequence that gives the best statistical chance of seeing all 110 in a single night, running west to east from objects visible just after dusk to objects rising just before dawn. This is different from Messier number order.

ColumnDescription
#Marathon sequence position (1–110)
ObjectMessier designation — click to open the image lightbox
TypeObject type with a colour-coded dot. See the legend panel below the toolbar.
ConIAU constellation abbreviation
MagVisual magnitude
RA / DecJ2000.0 equatorial coordinates
PSA PgPocket Sky Atlas page reference (Roger Sinnott, Sky & Telescope)
Observation checkbox — records a hidden timestamp when ticked
Field NotesBrief inline note field + full AL record button

Checking an object dims its row, advances the progress bar, and silently records the exact timestamp of the observation. This timestamp flows into the full AL record and the CSV export as "Date Observed." Unchecking removes it.

Field Notes ↔ AL Description sync: the inline Field Notes field and the Description field in the full AL record modal are kept in sync automatically. When you open the AL record, any text in Field Notes seeds the Description so you are never starting from scratch. When you save the AL record, the Description is written back to Field Notes so the table always shows your latest observation text. You can type a shorthand note at the telescope and expand it properly in the AL form later — the table cell updates when you save.

Filtering and Search

Filter buttons above the table narrow the display to one object type, or to unobserved objects only. Click All to reset. The Unobserved filter is especially useful during a session to see only what remains.

Search filters by any text matching the M-number, type name, or constellation abbreviation. For example: Sgr shows only Sagittarius objects; glob shows globulars; M4 shows M4, M40, M41 and so on. The × button clears the field instantly. Filters and search combine — you can filter to Globular Cluster and then type Her to show only Hercules globulars.

Image Lightbox

Click any M-number in the Object column to open the lightbox modal for that object.

🖼Left panel — object photograph from a local images/ folder. A placeholder is shown if the image is absent.
📋Right sidebar — full catalog data: type, constellation, magnitude, RA, Dec, PSA page.
🗺Finder Chart button — opens a local chart image from charts/M[n].png if present.
🔭Stellarium Web button — opens the free online 3D sky simulator centred on this object (requires internet).
◀▶Footer navigation — step through all 110 objects in order with the ← / → buttons.
Keyboard — ← → to navigate; Escape or click outside to close.
Session Setup

Open ☰ Log → Session Setup at the start of each observing session to set defaults that auto-fill blank fields in every full observation record you open that night. Existing saved data is never overwritten — session values only fill gaps.

Fields you can set as session defaults: observing site, seeing (Antoniadi scale), transparency, limiting magnitude, telescope / instrument, aperture, eyepiece, magnification.

The 📍 Locate button requests your GPS coordinates from the device (browser permission required; works on HTTPS or localhost). Once obtained, the site calls OpenStreetMap Nominatim to reverse-geocode the coordinates into a place name and fills it into the Site field automatically. Raw coordinates are also stored in the session.

A pulsing Session active indicator appears in the toolbar while any session default is set. Use ↺ Clear Session inside the modal to remove all defaults without affecting any saved records. Session data lives in mm_session localStorage and survives page refreshes.

Full AL Observation Records

The button at the right edge of every object's notes cell opens the full observation record form. The icon is outlined and dim when no record is saved; it fills with a solid red background when a record exists — giving an at-a-glance status across the whole table.

Auto-fill priority when opening a blank record: existing saved data → session defaults → checkbox timestamp (for date/time) → current date and time. The description field pre-populates from any brief inline note already typed.

SectionFieldNotes
When & WhereDatePre-filled from checkbox timestamp or current date
Time (local)Pre-filled similarly
Observing sitePre-filled from session default
Sky ConditionsSeeing — Antoniadi scaleI Perfect · II Slight undulations · III Moderate · IV Poor · V Very bad
Transparency5 Excellent → 1 Very poor
Limiting magnitudeFaintest naked-eye star visible
EquipmentTelescope / instrumente.g. 8″ Dobsonian f/6
Aperture (mm)e.g. 203
Eyepiecee.g. 24mm Panoptic
Magnificatione.g. 50×
ObservationDescriptionRequired for AL certificate. Describe size, shape, brightness, structure, whether averted vision was needed, notable features.
Sketch notesOrientation, field stars noted, anything relevant to a sketch made at the eyepiece

Click Save Record to store. If all fields are blank when you save, the record is deleted. The ✎ button indicator updates immediately in the main table.

The Log Menu

The ☰ Log ▼ button in the toolbar opens a dropdown with all data management functions.

ItemWhat it does
⎙ PrintApplies a clean black-on-white print stylesheet and opens the browser print dialog. Use Print to PDF to save a snapshot of the current table.
⬇ Export CSVSaves a timestamped CSV with marathon order, catalog data, observed status, date observed, and field notes for all 110 objects.
⬆ Import CSVReads a previously exported CSV back in. Shows a conflict summary and asks you to choose Merge (fill blanks only) or Overwrite (replace all).
⬇ Export AL RecordsSaves a timestamped JSON file containing all full observation records plus observation timestamps. Export this after every session.
⬆ Import AL RecordsMerges an exported JSON back in. Shows new-vs-conflict counts before confirming. Useful for moving data between devices.
📄 Generate AL ReportOpens a dialog to enter your name and club, then generates a multi-page PDF in the browser — cover, index table, and one full page per record.
⚙ Session Setup…Opens the session defaults modal (see above).
↺ Reset All Data…Shows counts of saved data before asking for confirmation. Clears all mm_* localStorage keys permanently. Export first.
Generating the AL Submission Report

When you are ready to submit for the AL Messier Club certificate, go to ☰ Log → Generate AL Report. Enter your name and an optional club or location subtitle, then click Generate PDF. The PDF is built entirely in the browser — no internet connection needed — and saved to your Downloads folder.

The report contains three sections:

  1. Cover page — title, observer name, subtitle, and a summary showing total records, objects with descriptions, and observation date range.
  2. Observation Index — one compact row per object with date, site, seeing, transparency, limiting magnitude, and scope.
  3. Individual record pages — one full page per object containing all four sections of the observation record in a formatted layout suitable for submission.
Tip: A standalone Python version (al_report.py) is also available in the repository for observers who prefer to generate the PDF from the command line, or who want to customise the layout further.
Data Storage and Backup

All data is stored in your browser's localStorage — a private, local database that is never transmitted to any server. Nothing leaves your device.

KeyContents
mm_checksWhich objects you have observed
mm_notesBrief inline notes per object
mm_timesObservation timestamps per object (ISO string)
mm_fullnotesFull AL record data per object (structured JSON)
mm_sessionCurrent session defaults including GPS coordinates
mm_themeNight or day mode preference
mm_visitedSet to "1" when "Don't show again" is ticked in the Quick Start guide
Important: localStorage is tied to one browser on one device. It is deleted if you clear your browser's site data or use private / incognito mode. To move data to another device, export on the old device and import on the new one. Recommended backup routine: Export AL Records (JSON) after every observing session, and Export CSV periodically for a human-readable archive.
Setting Up Local Images and Charts

The log works fully without any local media files, but the lightbox is much richer with them. Place files alongside index.html in the following folders:

FolderContentsNaming
images/Object photographs (JPEG)M1.jpgM110.jpg. A batch download script for SEDS Messier Catalog photos is in the README.
charts/Finder chart images (PNG)M1.pngM110.png. The generate_charts.py script produces red-on-black night-vision charts for all 110 objects.
fonts/Self-hosted typefaces (TTF)Seven files — see README for the full list and Google Fonts download links. The site falls back to system fonts if the folder is absent.
Offline Use

After the page has loaded once, the following all work without internet: the full table, filtering, search, progress bar, checkboxes, notes, full AL record forms, image lightbox (with local images and charts), CSV and JSON export / import, AL Report PDF generation, and printing.

The only features that require internet: 📍 Locate (reverse geocoding via OpenStreetMap) and 🔭 Stellarium Web (external site). Both degrade gracefully — Locate shows an error message; Stellarium simply doesn't open.

Site Pages

The log is a small family of pages, all sharing the same fonts, theme toggle, and design system.

PagePurpose
index.htmlMain observation log — the tool itself
faq.htmlCommon questions about the Messier Marathon, AL program, and how the log works
docs/user-guide.htmlThis page
resources.htmlCurated external links — databases, observing guides, marathon planners, and printable logbooks

All pages carry a footer nav: ← Back to Log · FAQ · User Guide · Resources.

Astronomical League Messier Club Program

The Astronomical League Messier Observing Program is one of the most popular observing certificates in amateur astronomy. To earn it, observe all 110 Messier objects and submit a structured log to an AL member club coordinator.

Required data per object: date and time, observing site, seeing and transparency, telescope aperture, magnification used, and a written description of what you saw through the eyepiece. This log captures all of these fields. The generated PDF report is designed to serve as your submission document.

The AL program explicitly requires you to find each object yourself using a chart or atlas — GoTo telescopes, digital setting circles, and phone apps that point you to objects are not permitted. The intent is to teach real sky navigation.

For further detail on program rules and submission, see the FAQ page or the official AL website above.