
Next.js • DynamoDB • Cognito • AWS
116 Entertainment
Put event booking and media management online for a family-run DJ company.
- Client
- 116 Entertainment, LLC
- Role
- Solo build
- When
- Mar 2026 – present
The problem
A family-run DJ company was coordinating events by phone and message thread. Enquiries arrived in half a dozen places, nothing was in one list, and there was no way for a couple planning a wedding to see packages or hold a date without a conversation first.
Constraints
- —One owner-operator, so the admin had to be usable between gigs, on a phone
- —The brand is explicitly faith-and-family; the site had to carry that without being cheesy
What I built
A Next.js 16 site on AWS Amplify Hosting, backed by DynamoDB, Cognito, SES and S3/CloudFront: public site, event booking, and a staff admin for media and enquiries.
Decisions I'd defend
Hosting only -- no Amplify Gen 2 backend, ever
Gen 2's defineData provisions its own AppSync-managed DynamoDB tables. Adding it to an app already reading live tables would stand up a parallel, empty database and silently detach the app from production data, with a green build and no error anywhere. The constraint is written into amplify.yml so the next person cannot undo it by accident.
Every AWS resource name derived from one RESOURCE_PREFIX
The alternative is a dozen environment variables that can drift out of sync, so a preview environment ends up half-pointed at production. With one prefix the whole app moves atomically -- and pointing a preview at another data set is a single value.
What changed
Booking and media management are online, and the owner runs the business from the admin instead of a message thread.