Skip to main content
ShirePath Solutions

Drawing 02.4, marketing site and admin

Stunt Dudes

A site and admin for a professional BMX and skateboard stunt team, a nonprofit that plays school assemblies, festivals, and ministry events: shows, a tour schedule, a media gallery, and a booking form, all edited by the team without a developer.

AWSAWSNeonHTTPSoriginDrizzlemediapresigned PUTinquiry mailOIDC deploy10 s timeout1234567BrowserCloudFrontNext.js onLambdaNeon PostgresS3 mediaGitHub ActionsSendGridAWSAWSNeonHTTPSoriginDrizzlemediapresigned PUTinquiry mailOIDC deploy1234567BrowserCloudFrontNext.js onLambdaNeonPostgresS3 mediaGitHubActionsSendGrid
Fig. 1. One container on Lambda behind CloudFront; a booking lands in Postgres first, then in two inboxes.
Parts list for Stunt Dudes
No.PartWhat it does here
1BrowserPromoters and schools watch the act and send an inquiry; the team edits shows and photos in the admin.
2CloudFrontTLS and the www redirect; caches assets and photos, and passes pages and every form post to Lambda.
3Next.js on LambdaSite, admin, and booking form in one image tagged by commit, with secrets read from SSM at start.
4Neon PostgresShows, athletes, gallery records, inquiries with status, admin accounts, and rate limits.
5S3 mediaPrivate: prebuilt photo sizes and admin uploads, read only through CloudFront.
6GitHub ActionsBuilds the image, migrates, and applies Terraform through OIDC, then refreshes the pages. No stored keys.
7SendGridThe booking note to the team and the confirmation to the promoter, from the authenticated domain.

Why it exists

The act is loud, physical, and genuinely impressive, and their old template made it look like a hobby. A stunt team gets booked because a promoter or a principal watched thirty seconds of footage and believed it, so the site's job is to carry the act and then get out of the way of the booking.

How it is built

This is the ShirePath AWS pattern at its cleanest: one Next.js container on Lambda behind CloudFront, Terraform in the repo, and deploys through GitHub's OIDC with no stored keys. Pages come from the function and are cached inside Next until an admin edit or a deploy refreshes them; CloudFront caches what never changes: assets, photos, and generated images.

A booking is saved to Postgres before anyone is emailed, behind a honeypot and a rate limit. Then SendGrid sends one note to the team and a confirmation to the promoter from the authenticated domain, and the team works the inquiry in the admin by status. Gallery photos are prebuilt into the sizes the page needs and served from S3 through the CDN. There is one seeded admin, no signup, and a forced password change on the first sign-in.

What it does

  • Shows, tour dates, athletes, and a gallery the team edits itself
  • Booking inquiries saved first, then sent to the team and the promoter
  • An inquiry inbox with status and notes
  • Photos uploaded straight to S3 and served from the CDN
  • Structured data and per-page metadata so promoters can find them

Plates

Plate 1. Stunt Dudes, as it looks live.

© 2026 ShirePath Solutions LLC. Built by Conner Contreras and crew in Columbia, Tennessee.