How I built this site: 3D, static, and nearly free
#aws#nextjs#threejs#serverless
I wanted three things from my personal site: it should look like nothing else, it should let me write every day as easily as WordPress, and it should cost almost nothing to run.
Here's how all three happened at once.
The stack
Next.js (static export) — every page is pre-rendered to plain HTML at build time. No server, ever.
React Three Fiber — the 3D particle field on the home page is a custom GLSL shader running in WebGL, with a graceful fallback on low-power devices.
S3 + CloudFront — the built files live in an S3 bucket and are served from CloudFront's edge network worldwide.
The writing workflow
Posts are just .mdx files in a content/blog/ folder. But I don't edit them raw — I built a local Writing Studio that runs only on my machine:
npm run studio# → http://localhost:3000/studio
It gives me a rich editor, live preview, and an AI assistant that helps draft and polish. When I hit save, it writes a markdown file. When I push to GitHub, Actions rebuilds the site and syncs it to S3. Total publish time: about a minute.
The bill
Item
Monthly cost
S3 storage (a few MB)
~$0.01
CloudFront (free tier: 1 TB)
$0.00
ACM TLS certificate
$0.00
Domain (Cloudflare, yearly)
~$0.85/mo
That's the whole thing. No database, no compute, nothing to patch at 2am.