Skip to main content
ShirePath Solutions

Drawing 02.6, marketing site and admin

Mediation & People Solutions

A site for a mediation and organizational consulting practice in Maury County, Tennessee. Both offerings get equal weight, the contact form asks for what a conflicts check needs, and the owner edits and publishes his own details.

AWSNeonHTTPSpagesform, adminSQLpublish8 pagesOIDC deploy8 files only1234567BrowserCloudFrontS3 site bucketForm and adminPublish LambdaNeon PostgresGitHub ActionsAWSNeonHTTPSpagesform, adminSQLpublish8 pagesOIDC deploy1234567BrowserCloudFrontS3 sitebucketForm andadminPublishLambdaNeonPostgresGitHubActions
Fig. 1. Static pages from S3, one Lambda for the form and admin, and a second that alone may rewrite the pages.
Parts list for Mediation & People Solutions
No.PartWhat it does here
1BrowserVisitors reading the practice's pages; the owner editing his details in the admin.
2CloudFrontOne distribution: pages and assets from S3, the form and the admin to Lambda.
3S3 site bucketPrerendered pages and hashed assets, private and reachable only through CloudFront.
4Form and adminA Lambda for the contact form, the page-view count, and the admin as server-rendered HTML.
5Publish LambdaRenders the pages from the owner's published facts, and is the only thing that can write them.
6Neon PostgresContact requests, the owner's facts with drafts and history, QR campaigns, and view counts.
7GitHub ActionsBuilds, uploads, ships both functions, and triggers a publish through OIDC with no stored key.

Why it exists

The practice has two offerings of equal weight, and the site had to present both without drifting into a mediation-only page. A mediator's credibility rests on every stated fact being exactly right, so every line traces to something the client wrote or confirmed, and the facts that change he can now change himself.

How it is built

The pages are prerendered to real HTML and served from a private S3 bucket behind CloudFront, so the public site has no server to keep up. A fact we do not have yet is a placeholder, and the build fails if one reaches a page, because a mediator's homepage should never state something nobody confirmed.

One Lambda behind the same CloudFront takes the contact form and serves the admin as plain server-rendered HTML. A second Lambda with no public URL is the only thing that can rewrite the pages: it reads the facts the owner published, checks them again, renders the eight pages, and its role may write those eight files and nothing else. DNS moved to Route 53 in stages, because the domain also carries the client's live Microsoft 365 email.

What it does

  • Every page prerendered; the build fails if an unconfirmed fact survives
  • The owner edits and publishes his phone, email, bio, and counties
  • Contact requests stored and read in the admin, behind a honeypot and a rate limit
  • QR codes for printed material, counted without storing who scanned
  • DNS moved in stages around the client's Microsoft 365 mail

Plates

Plate 1. Mediation & People Solutions, as it looks live.

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