/projects/sean-michael-dev
← Back to projects

Sean-Michael.dev

active

December 2025

Python FastAPI HTMX Jinja2 AWS Terraform Docker GitHub Actions
web python aws gitops

This website. A "Website as Code" project where infrastructure, application, and CI/CD are all version-controlled together with GitOps push-based deployment.

Stack

  • FastAPI for routing and server-side rendering
  • HTMX for dynamic interactions with zero client-side JavaScript
  • Jinja2 templates with Markdown content via frontmatter
  • Docker containerization with Nginx reverse proxy

Infrastructure

All AWS infrastructure is managed with Terraform: - EC2 instance (Ubuntu 24.04) running Docker Compose - Elastic IP with Squarespace DNS - S3 bucket for blog and project content (kept out of git) - IAM roles with least-privilege access - Security groups restricting SSH to my machine

CI/CD

Three GitHub Actions workflows chain automatically on push to main: 1. Test and Lint — Ruff + pytest, blocks downstream on failure 2. Build and Push — Docker image to Docker Hub with commit SHA tags 3. Deploy to EC2 — AWS SSM-based deployment, no SSH keys needed