This site is built from scratch. No Next.js, no Hugo, no Gatsby — just a simple Node.js build script that converts markdown files into HTML pages. AWS handles the hosting via S3 buckets, Route 53 for DNS and Cloudfront for distribution. It’s been a great way to combine my tools together and start managing my own deployments. The foundation to showcase what I am working on moving forward.
Why Build From Scratch?
Most static site generators are great, but they come with opinions I don’t need. I wanted something I fully understood, could modify in minutes, and that would never break because of a dependency update. And also, why not build it by hand when Claude makes it easier than ever…?
The Stack
Layer Technology
Content Markdown with YAML front-matter Build Node.js script (~200 lines) using markdown-it and front-matter Styling Hand-written CSS with custom properties, blue gradient design Hosting S3 + CloudFront SSL ACM (auto-renewing) DNS Route 53 CI/CD GitHub Actions with OIDC federation (no stored AWS keys) Domain jakedecamp.com
How It Works
Write a markdown file, push to GitHub, and it’s live. That’s it.
const posts = loadPosts();
for (const post of posts) {
const html = render(template, post);
fs.writeFileSync(outputPath, html);
}
The entire build takes under a second.
-Jake