Architecture diagram shows implemented components plus future planned weather alert modules.
โ๏ธ Overview
This project delivers a serverless weather notification and automation system using AWS CDK (TypeScript).
It pulls live weather data from an external API and runs event-driven workflows:
- Daily weather summary email at 7 AM Australia/Sydney
- Automated AWS task simulation every 3 hours
- Planned severe weather alert module (future version)
The system is fully modular, making it easy to extend without touching existing components.
๐งฑ AWS Services Used
| Service | Purpose |
|---|---|
| AWS Lambda | Executes forecast and automation logic |
| EventBridge Scheduler | Timezone-aware daily trigger (7:00 AM AEST/AEDT) |
| EventBridge Rules | 3-hour recurring automation trigger |
| Amazon SNS | Sends weather summaries and future alerts |
| Secrets Manager | Securely stores the external API key |
| AWS CDK (TypeScript) | Infrastructure-as-Code for reproducibility |
| Jest | Lambda logic tests + CDK infrastructure assertions |
๐งฉ Key Features
โ 1. Daily Weather Summary (Implemented)
- Fetches real-time weather from an external API
- Builds a clean, human-readable summary email
- Sends via SNS each morning at 7 AM Sydney time
โ 2. Weather-Driven Automation (Implemented)
Runs every 3 hours and simulates cloud actions such as:
- Pausing workloads during low sunlight
- Activating tasks during good conditions
- Logging reasoning to CloudWatch
โ 3. Severe Weather Alerts (Planned)
Architecturally planned but not implemented in v1.0:
- Storm / cyclone alerts
- Heatwave conditions
- High wind warnings
- Heavy rainfall detection
This is intentionally deferred to maintain v1.0 simplicity.
๐ง Lessons Learned
- How EventBridge Scheduler differs from Rules (timezone support vs. cron)
- Injecting external API keys securely into Lambda handlers
- Testing AWS infrastructure with CDK assertions
- Designing modular CDK stacks that support future expansion
- Clean separation of implemented vs future modules for clarity in documentation
๐งช Testing & Validation
- All Lambda logic tested with Jest (mock API + behaviour mapping)
- CDK infrastructure tests validate:
- Lambda resources
- SNS topics
- Scheduler and Rule configuration
- IAM permissions
- Deployed architecture verified in AWS Console
- Complete teardown validated using
cdk destroy
๐ผ๏ธ Screenshots
| Screenshot | Description |
|---|---|
![]() | โฐ Daily EventBridge Scheduler at 7:00 AM (Australia/Sydney) |
![]() | ๐ EventBridge Rule triggering automation every 3 hours |
![]() | ๐ Automation handler logs in CloudWatch |
![]() | โ Logic + CDK tests successfully passing |
๐ Documentation
Main README:
https://github.com/nicolasgloss-dev/weather-notification-system/blob/main/README.mdRelease Notes (v1.0.0):
https://github.com/nicolasgloss-dev/weather-notification-system/releases/tag/v1.0.0Architecture Decision Record:
https://github.com/nicolasgloss-dev/weather-notification-system/blob/main/docs/adr.md
๐ Project Status
โ
Version 1.0 โ Complete and Stable
Daily summaries and automation handlers implemented.
Severe weather alert module planned for a future release.
ยฉ 2025 Nicolas Gloss โ AWS Cloud Engineer Portfolio
Built with AWS CDK and Hugo PaperMod.



