Projects
A 5-tier DevOps learning path I built hands-on. Each tier builds on the last — from running a single container to a fully automated cloud pipeline.
The core concept: I can destroy and recreate my entire environment in minutes.
Containerization
DockerJellyfin media server running on a dedicated Asus machine via Docker Compose.
Infrastructure as Code
Terraform + AWSTerraform config that provisions a free-tier EC2 instance running Apache, with full create/destroy/rebuild cycle.
CI/CD
GitHub ActionsFlask API with automated GitHub Actions pipeline — runs tests on every push, builds and verifies Docker image.
Configuration Management
AnsibleAnsible playbook that installs nginx, deploys a custom homepage, and verifies the server responds — all idempotently.
Full Pipeline
All CombinedOne deploy script that provisions EC2 with Terraform, then uses Ansible to SSH in, install Docker, build a Flask app, and run it — with GitHub Actions CI on every push.
Side Projects
API-Driven Data Pipeline
PythonPython CLI tool that queries the RAWG REST API to catalog a personal gaming library — 750+ titles across 20 platforms spanning 1983–2025. Tracks ownership and play history, auto-generates a dark-themed 23-tab Excel workbook with Metacritic color coding, duplicate protection, and search.
Steam Deck Linux Customization
Arch LinuxTwo years of bending a Steam Deck to my will — emulation, Lutris, Bottles, Decky plugins, and whatever else I could get running on Arch Linux. Where I learned to refuse limitations.
Jellyfin Media Server
Self-HostedSelf-hosted media server running on dedicated hardware via Docker. Full library management with movies, shows, and concerts — my own personal streaming service.
This Website
Astro ↗Built from scratch with Astro and Tailwind CSS. No templates, no themes — just code.