Weather App
Real-time weather for any city in the world, powered by a fully serverless AWS architecture.
How to Use
-
Search for a city
Type any city name into the search bar and press Get Weather or hit Enter. The app accepts city names in English — for example, "New York", "London", or "Tokyo".
-
Read current conditions
The weather card shows the current temperature, sky conditions, and a stats panel with Feels Like, Humidity, Wind speed, Pressure, and Visibility — all updated live from OpenWeatherMap.
-
Switch temperature units
Use the °C / °F toggle in the forecast section to switch between Celsius and Fahrenheit. All values update instantly — no reload needed.
-
Check the forecast
The forecast section shows the next several days with the daily high (in red) and low (in blue) for each day, along with a weather icon and a short description.
About This App
Weather App is a portfolio project built to demonstrate a production-grade, fully serverless AWS architecture. It fetches live weather data from the OpenWeatherMap API through a secure backend — your browser never sees the API key.
The frontend is a single-page application built with vanilla HTML, CSS, and JavaScript — no frameworks. It is hosted on Amazon S3, served globally through Amazon CloudFront, and protected by HTTPS with a custom domain on Route 53.
Each request flows through an Amazon API Gateway HTTP API to an AWS Lambda function (Python), which checks an Amazon DynamoDB cache before calling the OpenWeatherMap API — cutting external API calls and response time. The API key is stored in AWS Secrets Manager and never reaches the browser. The infrastructure is defined entirely in AWS CloudFormation and deployed through a two-pipeline AWS CodePipeline / CodeBuild / CodeCommit setup, with AWS CloudTrail and Amazon GuardDuty monitoring account activity around the clock.
Due to known reliability incidents across major cloud providers, Weather App was designed to stay highly available even if a single cloud region goes down:
- AWS — ~7-hour us-east-1 outage (December 7, 2021)
- Microsoft Azure — global Azure Front Door outage (October 29, 2025)
- Google Cloud — worldwide API management outage (June 12, 2025)
Weather App runs an active-passive multi-region architecture across us-east-1 (primary) and us-west-2 (secondary). Amazon Route 53 checks the primary endpoint's health every 30 seconds and automatically fails over to the secondary region within about 60-90 seconds if an outage is detected — no manual action required. Amazon DynamoDB Global Tables and native AWS Secrets Manager cross-region replication keep the weather cache and API key in sync between both regions in near real time, so the secondary region is always warm and ready to take over.