Meteor Shower Tracker
finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed.
- stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st
- sorts active showers first, then whoever’s next peak is soonest
- countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids)
- renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop
- no polling, just recomputes fresh every time you open it
Bug Fixes & Polish
went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup:
-
window snapping corners were broken —
getSnapZone()detected top-left/top-right when you dragged to a corner, butshowSnapPreview()andapplySnap()never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants -
APOD toggle IDs —
getElementById()calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later
also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature?
what’s left
SHIPPPPPPPPPPPPPPPPPPPPPPPPP

Comments 0
No comments yet. Be the first!
Sign in to join the conversation.