Weather ML App
A machine learning powered Flask web app that predicts weather conditions from sensor measurements. Containerised with Docker and deployed to a Kubernetes cluster via automated CI/CD pipelines.
Model
scikit-learn
Deploy
Docker + K8s
CI/CD
GitHub Actions
Tests
smoke + unit + integration
How it works
Demo
Accepts 9 weather sensor features (temperature, pressure, humidity, wind speed, wind degree, rain 1h, rain 3h, snow, clouds) and predicts 9 weather classes: clear, cloudy, drizzly, foggy, hazey, misty, rain, smokey, thunderstorm. Response time under 5ms.
CI/CD Pipeline
Push to main triggers: CI (install, smoke test, unit test, integration test) → Build (Docker image to DockerHub) → Deploy (K8s rollout verification). Self-hosted GitHub Actions runner demonstrates real infrastructure management.
Key Decisions
Pickle over ONNX — simpler for sklearn models. Self-hosted GitHub Actions runner on real infrastructure. NodePort over Ingress — simpler for a single-service demo. python:3.10-slim Docker base image. 2 Kubernetes replicas for availability.
Security
- Containerised execution via Docker
- Orchestrated scaling via Kubernetes (2 replicas)
- CI/CD automation prevents manual deploy errors
Want something like this built for your business?
I'll look at your problem, figure out the right approach, and ship working software. No slideshows.
Book a free consultation