All Things Handy Utah
What This Site Is
Section titled “What This Site Is”A marketing website for Wayne Lewis’s handyman business. People find it on Google, read about what Wayne does, and fill out a form to request a quote. When they submit the form, the information goes straight into Wayne’s customer list (GoHighLevel) so he can follow up without anyone typing it in by hand. It is a lead magnet — the site exists to turn visitors into quote requests.
Ownership
Section titled “Ownership”Wayne Lewis (client). James built it and maintains it. Wayne owns the business, the domain, and the final say on any changes.
Live URL
Section titled “Live URL”https://allthingshandyutah.com
Stack & Hosting
Section titled “Stack & Hosting”| Thing | Detail |
|---|---|
| Framework | Astro 5.17.1 |
| Styling | Tailwind CSS 4 |
| Hosting | Cloudflare Pages (project name: allthingshandy) |
| Form backend | Cloudflare Function at /api/submit-form.js → posts to GoHighLevel |
| CRM | GoHighLevel (location ID uk9U9biiP4cqpGYpbFFR) |
| Total pages | 29 (services + locations + landing pages) |
Where It Lives
Section titled “Where It Lives”- Repo:
~/apps/allthingshandy/(note: repo name isallthingshandy, live domain isallthingshandyutah.com) - Dev server:
cd ~/apps/allthingshandy && npx astro dev --port 4321 - Build number: 25 (as of last Explore pass)
- Latest commit: 2026-04-14
How To Edit
Section titled “How To Edit”cd ~/apps/allthingshandy- Edit Astro pages in
src/pages/or components insrc/components/ npx astro dev --port 4321to preview locally atlocalhost:4321- Show Wayne the proposed change before pushing.
- Bump
build.txt - Commit with message format
Build X: summary git push— Cloudflare Pages auto-deploys
Known Issues / TODOs
Section titled “Known Issues / TODOs”welcome.jpgis low resolution (550×367). Looks blurry at larger sizes. Should be replaced with a 1600-wide version when Wayne provides one.- “Meet Wayne” video placeholder. The hero video section uses a placeholder YouTube ID. Needs a real video from Wayne.
- Google Places Autocomplete is deprecated. It still works, but Google is pushing users to a newer API. Migration is not urgent but should be tracked.
- WordPress export XML lives in the root of the repo. Left over from the migration — not actively used but kept for reference. Do not delete without confirming.
Credentials
Section titled “Credentials”- GHL Private Integration Token — stored in Cloudflare Pages environment variables, not in the repo.
- GHL Location ID —
uk9U9biiP4cqpGYpbFFR(this is a public identifier, not a secret). - Any other credentials — live in
shared-secrets.envon Google Drive, not here.
Related Capabilities
Section titled “Related Capabilities”- GSC Audit (capabilities/gsc-audit) — include in the weekly health check.
- fb-email-slurper-3000 (capabilities/fb-email-slurper-3000) — can push Facebook group leads into this site’s GHL location.
- fb-messenger-ghl (capabilities/fb-messenger-ghl) — can push Messenger contacts into this site’s GHL location.