Skip to content
All projects
Personal project

Weather App

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

Desktop screenshot of the Weather App website

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

Mobile screenshot of the Weather App website