Skip to main content
ShirePath Solutions

Drawing 02.5, marketing site and admin

TCL Auto Detail

A site and admin for a mobile auto detailer in Tuscaloosa, Alabama. The detailer drives to the customer, so the site's job is to price the work plainly and turn a search into a quote request.

AWSAWSNeonHTTPScache missretry on wakephotospresigned PUTquote mailOIDC deploy30 at once1234567BrowserCloudFrontNext.js onLambdaNeon PostgresS3 mediaGitHub ActionsSendGridAWSAWSNeonHTTPScache missretry on wakephotospresigned PUTquote mailOIDC deploy1234567BrowserCloudFrontNext.js onLambdaNeonPostgresS3 mediaGitHubActionsSendGrid
Fig. 1. Anonymous reads stop at the edge, so the database only wakes for a quote or the owner.
Parts list for TCL Auto Detail
No.PartWhat it does here
1BrowserCustomers price a detail and send a quote request; the owner works leads and photos in the admin.
2CloudFrontCaches public pages for up to five minutes when the origin allows it, so crawlers never reach Lambda.
3Next.js on LambdaSite, quote form, and admin in one image, capped at 30 at once so a burst cannot become a bill.
4Neon PostgresPackages, gallery, content, and leads by status; reads retry when a frozen Lambda's socket is dead.
5S3 mediaGallery photos uploaded by presigned PUT, served only through CloudFront.
6GitHub ActionsBuilds, migrates, and rolls the image through OIDC; CDN and DNS changes stay a manual apply.
7SendGridThe quote to the detailer and a confirmation back to the customer.

Why it exists

A one-truck detailing business does not need a platform. It needs to be found, to be trusted in about eight seconds, and to get a quote request to someone who is currently under a dashboard. Everything else is overhead the owner pays for and never uses.

The interesting part

It is the same Lambda and CloudFront pattern as the rest of my AWS work, and the interesting part was cost at the bottom of the traffic curve. Crawlers were waking a serverless database on every pass, so public pages are cached at the edge for up to five minutes and anonymous visitors stop reaching the origin at all.

A Lambda that sits frozen long enough loses its database socket, so reads retry instead of showing an error to whoever arrives first that morning. Concurrency is capped at thirty, so a burst cannot fan out into a database bill the owner never agreed to. The quote form shows a running estimate as the customer picks a package, then saves the lead and emails the detailer and the customer.

What it does

  • Plain package pricing with a running estimate on the quote form
  • Quote requests saved, then emailed to the detailer and the customer
  • Public pages cached at the edge so crawlers never wake the database
  • Reads that retry after a frozen Lambda drops its socket
  • An admin for leads by status, gallery photos, and content

Plates

Plate 1. TCL Auto Detail, as it looks live.

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