Skip to content

Repository files navigation

Read this in: English · Español · Français · Deutsch · Italiano · Português (Brasil) · Português (Portugal) · Nederlands · Dansk · Svenska · Norsk bokmål · Suomi · Polski · Čeština · Magyar · Română · Ελληνικά · Türkçe · Русский · Українська · العربية · עברית · हिन्दी · ไทย · Tiếng Việt · Bahasa Indonesia · 日本語 · 한국어 · 简体中文 · 繁體中文

Duskline

A free, browser-only weather app for everyday checking and weather exploration: worldwide city search, hourly and 10-day outlooks, air quality, animated conditions, and enhanced U.S. National Weather Service forecasts and alerts.

Open duskline · Privacy Policy · Terms of Use

There is no account, no backend of our own, and no advertising identifier. Language, units, favorites, and an intentionally approximate saved location stay in your browser.

Features

  • Search any city worldwide, with keyboard-friendly suggestions
  • Save favorites and optionally use your location (coordinates are rounded before they are stored or sent)
  • Current conditions, hourly forecast, and a 10-day outlook
  • Air quality
  • For eligible U.S. places, National Weather Service forecasts and public alerts
  • Animated sky and precipitation in the detailed view
  • Temperature, distance, wind, precipitation, and pressure units
  • 30 interface languages, including Arabic and Hebrew (right-to-left)

Privacy and data

Weather requests leave your browser directly for Open-Meteo and, for U.S. locations, the National Weather Service. Reverse geocoding, if you use location, goes to BigDataCloud and may fall back to OpenStreetMap Nominatim. Hosting and Google Fonts may see ordinary technical request data.

duskline does not sell that information. Forecasts are for planning and exploration, not emergency decisions. Full details: Privacy Policy and Terms of Use.

Languages

The in-app picker and the policy pages share the same 30 locales and the same duskline-lang preference. Policy copy is stored per language in src/js/data/legal/packs/. These README translations live in docs/i18n/.

Development

The app is static HTML, CSS, and classic scripts — no bundler.

npm run serve
# http://127.0.0.1:8000/
  • Syntax-check every first-party JS file: npm run check
  • Unit tests: npm run test:unit
  • Playwright smokes mock weather APIs and do not consume live provider quotas: npm test

Deployment

The repository root is the site. Cloudflare Pages is the intended primary host; GitHub Pages is the backup. Both publish the static files as-is.

License

Code is MIT. Weather data belongs to the third-party providers above and remains subject to their terms. Not for life-safety or emergency use.

About

A clear, global weather app with enhanced U.S. forecasts and alerts.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages