Work · Case Study · Home Services

Red Hawk Roofing

A 640-page storm-intelligence platform for a Colorado roofing contractor — replacing a vendor-controlled WordPress site with software the client actually owns.

Launched July 2026 Design, build & ongoing maintenance Visit the live site →

The Red Hawk Roofing homepage: a full-bleed aerial photograph of a tile roof beneath a navy scrim, with the headline “Colorado’s trusted hail & storm damage roofers” and inspection and call-to-action buttons.

The brief

Red Hawk Roofing is a Front Range roofing contractor — official roofing partner of the Colorado Avalanche and Denver Nuggets, and featured on HGTV. Their web presence did not match that.

The old site was WordPress, hosted on a marketing vendor’s account, with three separate outside firms holding admin credentials. The company could not deploy a change without asking someone else. Email had never been properly authenticated. Local coverage was thin in a market where storm damage is intensely geographic — a hailstorm hits one suburb and misses the next.

The company also had something most contractors do not: access to a federal storm-data pipeline through a sister firm, ExoVzn. Nobody had ever turned that into something a homeowner could use.

Three goals: own the infrastructure outright, cover the Front Range city by city with real content, and turn NOAA storm data into a customer-facing product.

What we built

The Highlands Ranch service-area page, showing a drone photograph of the town beneath the headline “Highlands Ranch’s trusted hail & storm damage roofers” and the local office phone number.

Local pages that look local

Programmatic city pages usually announce themselves — same stock photo, same paragraph, swapped city name. These do not. Over a hundred of the 139 cities carry a curated, coordinate-verified, properly licensed photograph of that actual place, sourced and checked one at a time; cities with no good free photograph fall back to branded roof imagery rather than shipping something bland and wrong.

Each page also routes to the nearest of five offices, so the phone number a visitor sees is the one that serves them.

The free storm-snapshot page, showing the ExoWeather Check product mark, a three-step explanation of pinning a property, and a form requesting name, email and property address.

Federal storm data, made useful

The storm tools integrate ExoVzn’s forensic-weather API to compile verified hail activity near a pinned property into a clean, source-traceable PDF — generated on demand, delivered by download or email.

The honesty of this is the point. Radar-estimated hail and ground-confirmed hail are reported as different things, because they are. Of the 695 hail days mapped across the service area, 672 are ground-confirmed, and the site says which is which.

The roof replacement cost estimator, showing a Colorado pricing range and selectable options for roofing material and home size.

Tools that answer the real question

Most roofing sites hide price behind a form. This one leads with a range and an interactive estimator, then explains the five factors that move it — and pivots to the insurance conversation, which is what actually determines what a Colorado homeowner pays after a storm.

Engineering notes

Two decisions are worth calling out, because they are the ones that keep paying off.

False claims fail the build

A roofing site makes hundreds of factual assertions — hail sizes, dates, city counts, review totals. On most sites these drift until someone notices. Here they are gates: a checker validates every numeric hail claim on every page against the source NOAA dataset (751 claims at last run), a link gate walks all internal links, and a counts gate keeps page and city totals derived rather than hand-typed. If a claim stops being true, the deploy fails.

Review counts pull from the Google Places API at build time across all five business profiles, so the number on the site is the number on Google — without anyone updating it.

Built for AI answers, not just search results

The site ships structured data throughout plus an agent-readable layer — llms.txt, a full content export, and an agent.json manifest declaring capabilities, sourcing rules and crawl policy. When an AI assistant is asked about roofing in a Front Range city, the site is legible to it as data rather than as a page to be scraped and guessed at.

The stack

Framework
Next.js 16 (App Router), TypeScript in strict mode
Styling
Tailwind v4 with a tokenised design system
Data
PostgreSQL via Prisma 6; NOAA storm data through the ExoVzn partner API
Infrastructure
Vercel edge deployment, managed Postgres, Redis-backed queue for lead durability
Quality
Playwright end-to-end suite, content-truth gates, broken-link gate, 15-minute uptime canary
The Red Hawk Roofing homepage on a phone, with the headline, call-to-action buttons, and a fixed bottom bar offering call and free-inspection actions.

Migration without losing the equity

Cutting over a domain that has been indexed for years is where these projects usually leak value. Every legacy URL was mapped and redirected, and all inbound backlinks were verified to land on a live page after the switch. Email was moved onto properly authenticated infrastructure — the domain published DKIM for the first time in its history during the cutover.

Google discovered all 633 submitted URLs on launch day and had indexed 503 of them within five days.

Where it stands

The site has been live since July 2026 and is under active maintenance — storm data refreshes, new city coverage, and continued conversion work. App0110 Labs remains the engineering team behind it.

Red Hawk owns the repository, the infrastructure accounts, and the domain. That was the point.

Want something like this?

Tell us what you are trying to build. We will tell you honestly whether we are the right team for it.

Start a project