Tim Furlong's Tech Blog

Why I Chose AWS Amplify, Contentful, and Next.js to Build My Blog

Cover Image for Why I Chose AWS Amplify, Contentful, and Next.js to Build My Blog
Tim Furlong
Tim Furlong

When I decided to launch a personal blog, I knew I wanted a tech stack that was fast, flexible, and low-maintenance. I also wanted something that would let me focus on writing and sharing ideas—not wrestling with infrastructure or hand-rolling every content management feature. After exploring several options, I landed on a combination that hit the sweet spot: AWS Amplify + Contentful + Next.js.

Here’s how I got there—and why I ruled out other popular paths along the way.

The Stack I Chose

🚀 Next.js for the Frontend

Next.js gave me the flexibility to build a fast, modern frontend with server-side rendering, static generation, and a great developer experience. I could easily integrate APIs, customize SEO, and handle routing without fuss. It also plays well with content platforms like Contentful.

🧱 Contentful as the Headless CMS

I evaluated a few CMS platforms, but Contentful won me over with its intuitive UI, strong API, and—most importantly—powerful content modeling. As a developer, I appreciate how easy it is to define content types and relationships without hitting the limits that come with traditional CMSs. It’s also hosted, so I didn’t have to manage or secure a backend server.

☁️ AWS Amplify for Hosting

Amplify offered a simple way to deploy and host my Next.js app. I connected my GitHub repo, pushed to main, and my site was live. It handles CI/CD, SSL, custom domains, and scaling without needing to dive into AWS infrastructure primitives. It’s not the most customizable platform under the hood—but for a personal blog, it’s perfect.

What I Considered (and Decided Against)

🐳 ECS with Next.js

I considered containerizing the blog and running it on AWS ECS with Fargate. This gave me full control over deployment and scaling, and let me use familiar AWS services like CloudWatch, IAM, and ALB.

Why I didn’t choose it:

It felt like overkill. For a blog, ECS adds operational complexity—Dockerfiles, task definitions, cluster tuning—and higher costs. Running a single blog container 24/7 on Fargate with an ALB is significantly more expensive than Amplify’s static hosting, and there’s ongoing maintenance to patch base images and monitor resources.

🐍 Django + Wagtail / Custom CMS

I also explored using Django with either a custom-built CMS or something like Wagtail. Django is a framework I’ve used in the past and really enjoy—especially when I need full control over data models and logic.

Why I didn’t choose it:

Django gives you full-stack control, but it also means you’re responsible for the backend, security, database migrations, hosting, and CMS interface. Contentful solved these problems out-of-the-box and gave me a better experience for modeling rich content without writing custom Django admin code. It also fits better into a decoupled architecture with Next.js on the front.

Conclusion

In the end, this stack won because it let me:

  • Focus on content and design, not infrastructure

  • Model and manage content flexibly with Contentful

  • Ship fast and iterate easily with Amplify + Git-based CI/CD

  • Build a fast, modern frontend with Next.js

It’s been a smooth experience so far, and I’d recommend this combo to anyone building a content-driven site that wants a balance between developer freedom and simplicity.

Got questions or want to share your own stack choices? Reach out—I’d love to hear what you’re building.


More Posts

Integrating Odoo ERP Data with Natural Language Chat via a Modular MCP Agentic Framework

I built an AI chatbot using FastMCP, odoo-rpc-client, and Claude 4 to easily chat with my Odoo ERP data. This is how I did it.

Read Post
Cover Image for Integrating Odoo ERP Data with Natural Language Chat via a Modular MCP Agentic Framework

Building cal2ts: How I Automated Timesheet Hell for My Engineering Team

Timesheet management sucks. I built cal2ts to fix it. This AI-powered web app turns calendar events into timesheet entries with one click, letting our Cloud303 engineers focus on building great software instead of fighting with Odoo.

Read Post
Cover Image for Building cal2ts: How I Automated Timesheet Hell for My Engineering Team