A sleek, fully responsive weather web app powered by real open data sources.
Search any city on Earth, track live conditions, and verify accuracy through official meteorological agencies.
| Feature | Description |
|---|---|
| π Global Search + Autocomplete | Search any city, region, or country worldwide with real-time suggestions |
| π GPS Location | One-click detection of your current location via browser geolocation |
| π‘οΈ Β°C / Β°F Toggle | Switch temperature units instantly across all values |
| β° Local City Clock | Live clock synced to the searched city's exact timezone |
| π 24-Hour Forecast | Scrollable hourly breakdown with temperature & precipitation probability |
| π 7-Day Forecast | Weekly overview with temperature range bars and weather icons |
| π¬οΈ Wind Compass | Animated compass showing real-time wind direction and gusts |
| βοΈ Sun Arc Visualizer | Live sun position arc with sunrise, sunset & day length |
| π‘ UV Index Meter | Color-coded UV scale from Low to Extreme |
| π¨ Severe Weather Alerts | Auto-triggered banner for thunderstorms, heavy rain, and extreme events |
| π Official Source Verification | Direct links to BMKG, NOAA, ECMWF, Met Office, WMO for cross-checking |
| π± Fully Responsive | Optimized for desktop, tablet, and mobile screens |
| π Auto Refresh | Weather data refreshes automatically every 10 minutes |
SkyPulse fetches data exclusively from trusted, official meteorological sources:
| Source | Role | Link |
|---|---|---|
| Open-Meteo | Primary weather API (ECMWF model) | open-meteo.com |
| Nominatim / OpenStreetMap | Geocoding & reverse geocoding | nominatim.openstreetmap.org |
| TimeAPI.io | Timezone resolution per coordinate | timeapi.io |
| BMKG | Indonesian official meteorology agency | bmkg.go.id |
| NOAA | US National Oceanic & Atmospheric Administration | noaa.gov |
| UK Met Office | British national weather service | metoffice.gov.uk |
| ECMWF | European Centre for Medium-Range Weather Forecasts | ecmwf.int |
| WMO | World Meteorological Organization | wmo.int |
All data is fetched live with no caching layer β what you see is real-time.
No build tools, no dependencies, no installation required.
git clone https://github.com/Madz-21/weather-app.git
cd skypulse
# Open weather-app.html in your browser
open weather-app.html # macOS
start weather-app.html # Windows
xdg-open weather-app.html # LinuxUsing Python:
python3 -m http.server 8080
# Then open http://localhost:8080/weather-app.htmlUsing Node.js (npx serve):
npx serve .- Push this repo to GitHub
- Go to Settings β Pages
- Set source to
mainbranch, root/ - Your app will be live at
https://yourusername.github.io/weather-app/index.html
skypulse/
β
βββ weather-app.html # Main app β single self-contained file
βββ README.md # You are here
SkyPulse is intentionally built as a zero external dependencies, zero build steps, portable and lightweight.
π My weather web app
- HTML5 β Semantic markup structure
- CSS3 β Custom properties, CSS Grid, Flexbox, keyframe animations
- Vanilla JavaScript β Zero frameworks, zero dependencies
- Google Fonts β
Montserrat+Nunitotypography - SVG Icons β All icons hand-crafted inline (no icon libraries)
- Open-Meteo REST API β Free, no API key required
- Nominatim API β Free geocoding via OpenStreetMap
User Input (city name / GPS)
β
Nominatim Geocoding API
β Resolves to lat/lon coordinates
β
Open-Meteo Forecast API
β Fetches current, hourly & daily weather
β
TimeAPI.io
β Resolves local timezone for the city
β
SkyPulse renders:
Current conditions Β· 24h forecast Β· 7-day forecast
UV index Β· Wind compass Β· Sun arc Β· Alerts
β
Official source links (BMKG, NOAA, ECMWF, etc.)
β User can verify data independently
- No data is stored or sent to any server controlled by this project
- All API calls go directly from your browser to the respective public APIs
- Location access is only used when you explicitly click "My Location" and is never stored
Contributions, bug reports, and feature requests are welcome!
# Fork the repo, then:
git checkout -b feature/your-feature-name
git commit -m "feat: add your feature"
git push origin feature/your-feature-name
# Open a Pull RequestMade with βοΈ by AhmadSP
If this project helped you, consider giving it a β on GitHub!
