Weather App
Search any city for live weather, with clear loading and error states.

Overview
A responsive weather app that fetches live data from the OpenWeatherMap API for any city.
My role
Designed and built it on my own.
Features
- Search by button or Enter key
- Temperature, weather description, humidity, wind speed and country, with a matching icon
- Loading indicator while data is fetched
- Different messages for an unknown city, API errors, too many requests and no internet
- Responsive layout that respects reduced-motion settings
Challenges
Problem
The API returns wind speed in meters per second.
Solution
Converted it to km/h (multiply by 3.6) so users see the unit they expect.
Problem
Every failure looked the same to the user.
Solution
Checked the response status to show specific messages for 404, 401, 429 and network errors.
Problem
On a static site the API key has to live in client-side code, where anyone can see it.
Solution
Replaced the exposed key with a new free-tier key. Next step: move the request to a serverless function so the key stays private.
Tech stack
- JavaScript
- OpenWeatherMap API
- HTML
- CSS
On mobile
