The brief
Shiner Solutions needed a front door: a site that establishes credibility for bespoke software work and gets a local business owner to send a message. No accounts, no public pricing, no blog — a credibility-and-close brochure.
How it was built
- Static export, deliberately. Next.js with
output: 'export'— the whole site is prerendered HTML on Cloudflare Pages. There is nothing to keep warm, nothing to go down. - The contact form is the only moving part. A Cloudflare Pages Function receives the POST and relays it through Resend. Verified end to end the day it shipped.
- Deploys via GitHub Actions — push to
main,wrangler pages deployuploads the export. A second manual workflow syncs the Resend API key into Pages secrets.
Stack notes
Next.js (App Router, static export), React 19, TypeScript strict, Tailwind v4, shadcn/ui. Apex + www on Cloudflare, domain at Cloudflare Registrar.
