← All work
M10hollandhargens-com

hollandhargens.com

2026Solo · personal site and infrastructure

The site is a Next.js app exported to static HTML, so there's no server to keep running. The projects and skills on it are typed data in one folder, and adding either one is a data change rather than a template change.

The export sits in an S3 bucket behind CloudFront, with DNS in Route 53. All of it is defined in Terraform, including the IAM role the deploy pipeline uses.

Every push to main runs a GitHub Actions deploy: lint, typecheck, build, sync the export to S3, then invalidate the CloudFront cache. It authenticates to AWS over OIDC and assumes that role, so there are no stored access keys.

Next.jsTypeScriptTerraformAWSS3CloudFrontRoute 53GitHub ActionsOIDC
uptime 00:00holland hargens · portfolio rev Asect: top