RoofNeighbor.com

After a big storm, people show up at your door with a clipboard and out-of-state plates. You don’t want to talk to a sales guy — you want to know who’s actually good.

RoofNeighbor.com is a free 3-minute self-check that helps Oklahoma homeowners understand their roof’s condition before a contractor ever shows up. You walk around your house from the ground, answer a handful of visual questions, and get an opinion about whether you need a roofer — before anyone knocks. If you do, it shows you licensed, community-vetted roofers that other Oklahomans already trust.

Highlights

  • Vetting that’s harder to fake — “I pull from sources that are harder to fake: the state licensing board, the Better Business Bureau, and Tulsans actually talking about their experiences on Reddit and Nextdoor.”
  • A tiny Google, built for Oklahoma — “It’s kind of like a tiny Google, but specially built for Oklahomans to find Oklahoma roofers.”
  • Ranked on trust, not money — the list is “ranked with formulas that have absolutely nothing to do with money,” prioritizing community-vetted results and licensing. Sponsors get one clearly-marked slot at the top.
  • Genuine advice, not a sales funnel — the homeowner picks the moment of handoff. Say “no thanks” and you still get the same complete report; the contact info is never shared.
  • Made by Oklahomans, in Oklahoma.

How It’s Built

  • Frontend — Astro, React, TypeScript, and Vite as a client-side flow with no accounts and no database.
  • UI — Tailwind CSS, Geist, Lucide icons, Base UI, shadcn, Vaul sheets, and Embla Carousel.
  • State — Nanostores with local persistence, hash-backed result URLs, and SMS/mailto handoff with a QR code on desktop.
  • Hosting & analytics — Cloudflare Workers Static Assets plus Worker routes, with an anonymous, session-scoped funnel in Analytics Engine.
  • Validation — Playwright intake-flow tests, Bun unit tests, and ESLint.

Screenshots

RoofNeighbor.com desktop landing page
The landing screen: a free three-minute roof check.
RoofNeighbor symptom selection step with example photos
From the ground, you answer a handful of visual questions — each with photo examples.
RoofNeighbor symptom example carousel opened
Each symptom opens a carousel of reference photos, so you can compare instead of guess.
RoofNeighbor concern-tier result screen
You get a low, medium, or high concern result with plain-language next steps.
RoofNeighbor vetted local roofer list with text and email links
The roofer list is ranked on community trust and licensing, with one-tap text and email.
RoofNeighbor.com mobile landing page with get started button
Mobile-first throughout — most homeowners arrive on a phone right after a storm.