Skip to content

Repository files navigation

lightleft

How much daylight is left — adjusted for weather.

A minimal, precise daylight tracker that detects your location, calculates remaining sunlight, and adjusts for weather conditions.

Features

  • Location-based — auto-detects your position, cached in localStorage for instant reload
  • Movement-aware — uses watchPosition to silently detect location changes without re-prompting
  • NREL SPA accuracy — ±0.0003° solar position, ±30s for rise/set times (includes nutation, aberration, dynamic refraction, and elevation correction via GPS altitude)
  • Weather-adjusted — cloud cover, precipitation, fog, and visibility reduce effective daylight
  • Auto-refresh — weather and air quality poll every 30 minutes, keeping effective sunset accurate as conditions change
  • Phase-aware countdown — counts down to sunrise (night), effective sunset (day), or dusk (twilight) depending on current phase
  • Twilight info — shows when twilight ends during dusk or last 30 minutes of daylight
  • Air quality — European AQI from Copernicus Atmosphere Monitoring Service (CAMS)
  • Today's high & low — current temperature with daily minimum
  • Countdown clock — hours and minutes until sunset or sunrise
  • Daylight bar — visual progress with effective sunset indicator
  • Instant tooltips — CSS-based hover tooltips on all controls
  • Dark mode — light, dark, and system themes via CSS variables
  • Typeface options — Inter, Mono, Serif, System
  • Text size dial — Rams-style progressive sizing (S/M/L/XL)
  • Accessibility — high contrast, reduced motion, seconds toggle, Escape-to-close modals

Tech

  • React 18 + Vite
  • Tailwind CSS (CSS variable theming)
  • NREL Solar Position Algorithm (SPA) via sunrise-sunset-js — replaces SunCalc for higher accuracy
  • Open-Meteo API for weather data and air quality (CAMS)
  • BigDataCloud for reverse geocoding

Develop

npm install
npm run dev

License

MIT

About

A minimal, precise daylight tracker that detects your location, calculates remaining sunlight, and adjusts for weather conditions.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages