Portfolio

The Work
Speaks for Itself.

Every project starts with an honest audit and ends with a site that outperforms whatever was there before. Here's the proof.

Case Study · 2025

Kyle Roof Repair Pro
D Grade to A Grade.

A roofing lead generation landing page serving Kyle, Buda, and San Marcos, Texas. The original Wix site had a fake phone number in the footer, two broken images above the fold, dead social links, and zero SEO structure. The rebuild fixed every issue and scored 93/100.

Website Rebuild Local SEO Lead Generation Roofing · Kyle TX Netlify Deploy
View Live Site ↗
Overall Grade Change
Before
D
After
A
Score Before41 / 100
Score After93 / 100
Issues Found9 (3 Critical)
Issues FixedAll 9
Platform BeforeWix
Platform AfterCustom / Netlify
Score Breakdown

Before vs. After by Category

Category Before Before Grade After After Grade
Performance & Speed 35 / 100 Critical 94 / 100 Excellent
SEO & Local Search 48 / 100 Poor 96 / 100 Excellent
Trust & Credibility 25 / 100 Critical 95 / 100 Excellent
Design & UX 55 / 100 Poor 90 / 100 Excellent
Technical Health 40 / 100 Critical 91 / 100 Excellent
Overall 41 / 100 D 93 / 100 A
Issues Found in Audit

9 Problems. All Fixed.

Critical
Fake placeholder phone: (512) 555-ROOF in footer

A customer who scrolled to the footer and tried to call hit a disconnected number. The placeholder was never replaced after the site was built.

Critical
Two conflicting phone numbers on the same page

Header showed (737) 251-6622. Footer showed (512) 555-ROOF. NAP inconsistency is a direct Google local ranking penalty.

Critical
All 6 social media icons linked to platform homepages

Facebook, Instagram, YouTube, X, LinkedIn, TikTok — every one went to the platform homepage. First click told every visitor the site was never finished.

Critical
Wix platform performance ceiling: ~35/100 Lighthouse

Wix injects large JS bundles regardless of content. Cannot be fixed within Wix — requires a full rebuild on a better platform.

Warning
Hero image not loading above the fold

IMG_8867.JPG referenced but not rendering. First thing every visitor saw was a broken image placeholder.

Warning
Logo image also broken

Nav logo wasn't loading on any page. Combined with the broken hero, the site looked completely untrustworthy from the first second.

Warning
No LocalBusiness schema markup

Without schema, Google can't reliably understand who the business is, where it operates, or what services it provides.

Warning
No meta description — Google wrote its own

No meta description means Google generates one. Usually poor, always generic. Lower click-through rate from search results.

Info
Lead form asked for property address — unnecessary friction

Asking for a full address before any contact is established reduces form submissions. Name and phone is all a lead gen site needs.

The Rebuild

What Was Built

🚫 Zero fake content

One phone number everywhere. No placeholder addresses. No dead links. Every element on the page is real and functional.

⚡ Custom HTML/CSS — no platform

Built from scratch. Single clean file. Loads in under 1 second on mobile. No Wix, no page builders, no bloat.

🔍 Full local SEO structure

LocalBusiness + RoofingContractor schema, FAQ schema for rich results, geo tags, optimized title and meta description, semantic heading hierarchy.

📸 Real job site photography

Owner's actual photo of their crew working a real roof in Kyle TX. Better than any stock photo — authentic and trust-building.

📋 High-converting lead form

Name and phone only — lowest friction possible. Netlify form sends an instant email notification on every submission.

★ Testimonials from all three cities

One review from Kyle, Buda, and San Marcos. The single biggest conversion driver on any home services landing page.

📱 Mobile-first responsive design

Built mobile-first from line one. Most roofing searches happen on phones — the form and hero work perfectly on any screen.

🏠 Business owns everything

Deployed on Netlify free tier. Every file owned by the business. If anything ever changes, they can move it anywhere instantly.

94
Performance
96
SEO Score
9/9
Issues Fixed
A
Final Grade
🔜
Your Business Could Be Next

Every project starts with a free audit. I tell you exactly what's wrong and what it would cost to fix it. No obligation, no sales pressure.

Request My Free Audit

Want Results Like This for Your Business?

Start with a free audit. Delivered in 48 hours. No cost, no commitment.

Get My Free Audit