Back to portfolioNext.js and Strapi on AWS
Adaptive Intelligence
The website for a creative-on-demand agency, built on Next.js with a Strapi CMS the team edits themselves, running on AWS.
- Role
- Web developer
- Timeline
- July 2025 to September 2026
- Stack
- Next.js 15, React 18, MUI, three.js, Strapi 5, PostgreSQL, AWS Amplify, App Runner, S3, CloudFront

186of the site's 187 commits are mine
Strapi 5CMS the team edits themselves
4AWS services in production
26pages and routes
The situation
A creative agency that blends human creatives with AI needed a site its team could update without a developer.
Hosting was split across Vercel and Render. It needed to move onto one AWS setup the agency controls.
What I built
- A Next.js front end where pages and services are managed in Strapi: preferred partners, Adaptive Beats, industries and more.
- Services split into two content types, one for the home page and one for the services page, so each can be edited on its own.
- New Divestments and Eco pages in September 2026.
- The move from Vercel and Render to AWS: Amplify for the front end, App Runner for the CMS, PostgreSQL, S3 for media, CloudFront in front.
- An uptime and health monitor with Slack alerts, built and ready to switch on.
What was hard
Builds that only failed in the cloud
Docker builds broke because there was no .dockerignore and Windows node_modules were being copied in. I fixed the build context so the image builds the same everywhere.
An error that hid its cause
App Runner reported only "internal system error". The real cause was a missing JWT_SECRET for Strapi. I traced it and fixed the deploy.