All projects
Each entry documents the problem, the architecture I chose and what changed as a result. Source code and evidence are on GitHub.
Docker Projects
4 case studiesMulti-Container Application — Flask + Redis
A stateful Flask web app backed by a Redis key-value store, orchestrated with Compose
For application teams building services that must scale or restart safely, this design removes fragile in-process state and hardcoded service addresses. Separating Flask and Redis preserved the demonstrated counter across requests and restarts, while service discovery reduced configuration effort when environments change.
AWS ECR — Private Container Registry Pipeline
Build local, push to a private AWS registry, pull and run the stack from the cloud
For delivery teams shipping proprietary containers to AWS, this workflow replaces local-only or public image distribution with private, IAM-governed storage. A verified 66.68 MB image became consistently pullable by the Compose stack and future AWS runtimes, reducing manual hand-offs and unauthorised distribution risk.
Full-Stack Containerization & Multi-Container Networking
From Dockerfile fundamentals to a decoupled multi-container Docker network
For development teams moving software between laptops, test environments and servers, this build removes dependency drift and brittle IP-based configuration. The isolated, repeatable runtime and name-based container networking reduce environment-specific failures and make each deployment easier to reproduce.
Docker Compose — Declarative Multi-Service Stack
One YAML file, one command: Flask + MySQL orchestrated end to end
For small engineering teams, this setup replaces a sequence of manual network, database and application commands with one version-controlled definition. The demonstrated one-command launch orchestrates both services consistently, cutting setup steps and reducing manual configuration errors across machines.