Back to work

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
Next.js 16DynamoDBCognitoSESCloudFront
Visit the live site

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.