77 pages, $0 hosting, a real brand — the full case study of shipping goodlifeinsurancegroup.com end-to-end on Cloudflare with Buddy by ahmeego, in a weekend.
An independent insurance broker in Mesa, Arizona needed a real production website. He had a brand, a pitch, and three audiences he wanted to serve well: veterans, truck drivers, and working families. He also had a unique lead-gen idea — a free Will Kit, mailed in 48 hours, with an optional 15-minute review. What he didn't have was a site that did any of that justice.
Over a weekend, we built and shipped goodlifeinsurancegroup.com end-to-end on Cloudflare with Buddy by ahmeego. Not a Wix template, not a one-page Linktree — a 77-page production brokerage site with a real lead pipeline, real E-E-A-T signals for the Google March 2026 core update era, real schema, real consent management, and real Spanish localization. The whole thing runs on Cloudflare's free tier. Nothing else.
This is the case study: what we built, how it stacks together, and what Buddy unlocked along the way.
Dalis Smith is the founder and licensed agent behind Good Life Insurance Group. He's a real broker with active licenses in Arizona plus five additional states, appointed with multiple A.M. Best A-rated carriers, working from Mesa. The pitch had three sharp edges:
The lead engine was the genuinely original part: a free Will Kit. Plain-English living will, healthcare and financial POA, and a one-page family financial roadmap, mailed at no cost in 48 hours, with an optional 15-minute review at the end. No purchase pressure. The kit is the giveaway; insurance is the conversation that might follow.
Dalis was already on Cloudflare for DNS and wanted everything in one console. That made the stack call easy:
| Layer | Choice | Why |
|---|---|---|
| Static framework | Astro | Ships zero JS by default, MDX for /learn articles, native Cloudflare Pages adapter. Fits the perf budget the spec asked for. |
| Hosting | Cloudflare Pages | Free tier covers the entire site. Two-click custom domain binding once we'd already moved DNS to Cloudflare. |
| Forms / APIs | Pages Functions | Workers under the hood. Three endpoints — /api/will-kit, /api/quote, /api/contact — each with honeypot, IP rate limiting, and field validation. |
| Email delivery | MailChannels | Free from Workers, no API key required. Two TXT records for SPF + domain lockdown and lead emails route to Dalis. |
| Rate limiting | Cloudflare KV (FORM_RL) | One namespace, one binding, IP-keyed counter. Stops form-bot abuse without adding a third-party dependency. |
| Styling | Plain CSS + design tokens | Stayed under the 50KB CSS budget. No utility-class framework tax. |
| Fonts | Self-hosted Inter via @fontsource | Removed external Google Fonts request. Better LCP, no third-party DNS round-trip, no font-blocking on slow connections. |
Total third-party services: zero. Total monthly hosting cost: zero. Total build dependencies: Astro plus a few @fontsource subresources. The whole stack lives in one git repo and one Cloudflare account.
The domain was registered at GoDaddy. The first job was getting it onto Cloudflare nameservers without breaking anything. The dance is well-trodden but high-stakes — one wrong record and email goes dark for days.
{name}.ns.cloudflare.com) get assigned.autodiscover records from GoDaddy before flipping nameservers, or email blackholes the moment propagation completes._domainconnect, third-party endpoints like pay → paylinks.commerce.godaddy.com, anything that doesn't survive being proxied. The web records (apex + www) stay orange.The first deploy went out at 35 pages: homepage, Will Kit, three audience hubs (veterans/truckers/families), three product pages, an Arizona local SEO page, About, Reviews, Licenses, FAQ, Calculator, Quote, Contact, /learn hub with two seed articles, three legal pages, eleven audience sub-pages. Astro builds it in under a second, and the dev server fires up in ~700ms.
The second wave brought us to 77 pages and pushed the site past the threshold where it can hold its own against Navy Mutual / Ethos / Ladder for E-E-A-T — without the venture-funded headcount.
The expansion looked like this:
/veterans/branches/* — Army, Navy, Air Force, Marine Corps, Coast Guard, Space Force. Each lists major bases (Fort Liberty, Norfolk, Wright-Patt, Pendleton, Cape May, Peterson...) and the underwriting nuances for that branch's medical history./glossary with live search and DefinedTermSet schema./es with full hreflang alternates pointing both ways./sitemap separate from the XML sitemap-index./accessibility (WCAG 2.2 AA conformance statement), /do-not-sell (CCPA opt-out form routing to a new /api/do-not-sell Pages Function).quiz_complete dataLayer event for GTM.
Three forms feed the entire business: Will Kit, Quote, Contact. They share the same Pages Function shape, just with different validation rules and email routing.
That's the whole lead pipeline. No SaaS form vendor. No third-party email service. KV does the rate limiting (3/hour per IP). MailChannels handles delivery, and the two TXT records on the zone (v=spf1 include:relay.mailchannels.net ~all at apex, and v=mc1 cfid=goodlifeinsurancegroup.pages.dev at _mailchannels) authorize MailChannels to send from the domain. Total cost: $0/month.
One page that always punches above its weight on insurance sites is a coverage calculator. We built one using the DIME method (Debt + Income + Mortgage + Education) — the framework underwriters and financial planners actually use, not the "10x your income" rule of thumb.
The Google March 2026 core update was rough on programmatic content (we covered our own response in article 17). For an insurance brokerage, "Trust" in E-E-A-T is the entire ball game — YMYL content gets the strictest scrutiny. We baked the signals into the structure, not bolted them on after:
| Signal | Where it lives |
|---|---|
| Experience | Founder bio with multi-paragraph career narrative; founder pull-quote; principle "Comfort first, advice second"; testimonials reference real client scenarios. |
| Expertise | License credentials block (4 explicit items), /licenses table linked from About + footer, license verification link to Arizona DIFI, NAIC National Producer Number publicly verifiable. |
| Authoritativeness | Carrier strip ("appointed with..."), founder photo, /reviews with verbatim testimonials, full Person + Organization + InsuranceAgency JSON-LD, real-state license rollup. |
| Trust | HTTPS site-wide, Privacy / Terms / TCPA pages explicitly linked from every footer + form, transparent disclaimers in Layout footer, Google Consent Mode v2 with default-deny analytics + ads. |
The first deploy looked fine but not great. Buddy and I went round-by-round with Dalis on the things that felt "off":
:invalid green borders with the modern :user-valid / :user-invalid pseudo-classes that only activate after the user actually interacts with a field..field + .field margin rule that didn't account for grid contexts. Fixed and re-shipped.That's eight rounds of feedback in roughly four hours. Each one took 5-15 minutes to diagnose and ship via Pages' "git push → CI build → deploy in ~30 seconds" loop. The Cloudflare deploy speed is what made the iteration possible.
A handful of items are deliberately deferred until Dalis brings real-world inputs back. They're flagged in the README, not assumed in:
/licenses — placeholders today, swap to live values when he sends them./reviews.lead_submitted event (the dataLayer push is already firing).Three things would not have been possible at this scope and quality on this timeline without the agent assist:
Dalis got a real production site, a real lead pipeline, and a real brand on a $0/month Cloudflare stack — in the time it would have taken him to schedule a discovery call with a traditional agency.
If you've got a niche brokerage, a local services brand, an agency, a portfolio of one-pagers you keep meaning to consolidate — this is exactly the work Buddy by ahmeego is built for. Bring the pitch, the audiences, the lead engine; we'll handle the stack, the schema, the deploy pipeline, and the polish loop.
Open Buddy → Or reach out if you want me to scope a build like this for your own brand.
Open Buddy →Article 20 in this series is the companion piece — a fully-gated insurance CRM mockup deployed on Cloudflare Workers behind a PIN, also built end-to-end in an afternoon. Same playbook, different output shape.
Subscribe if you want each one in your inbox. And if you've got questions about your own version of this, my inbox is open.
— John