Click anywhere on the world map and get instant weather data. A Windy-style experience with a clean, premium interface.
- Interactive world map (Leaflet.js + CartoDB)
- Rain radar layer (RainViewer, no API key needed)
- Animated wind flow (leaflet-velocity)
- Glassmorphism dashboard (desktop slide-over, mobile bottom sheet)
- Real-time + 7-day forecast via Open-Meteo
- Air quality index (AQI, PM2.5, PM10, NO2, O3)
- Dark / Light theme toggle
- TR / EN / RU language support
- Zero build step: runs with a single command
git clone https://github.com/username/skycast.git
cd skycast
python -m http.server 8000Open in browser:
No Node.js, npm, or bundler required.
cd backend
pip install -r requirements.txt
copy .env.example .env
uvicorn main:app --reload --port 8001Proxy endpoint:
- /owm/{layer}/{z}/{x}/{y}.png
- Frontend: Vanilla HTML + CSS + ES Modules
- State: Observer Singleton (
state.js) - API: Open-Meteo + Nominatim + RainViewer
- Map: Leaflet + velocity plugin
- Charts: Chart.js
- AQI: Custom SVG gauge
- Nominatim is called directly from the client side.
- Since browsers don't allow setting custom
User-Agentheaders, the reverse geocode request uses anemailparameter instead. - OWM temperature layer tiles are proxied through the backend to keep the API key hidden.
MIT. See CC BY 4.0 attribution requirements for Open-Meteo data.