Hey, Robert!

A complete website for you, built from scratch. I rebuilt Hamlin Roofing and Repairs from scratch, and you are looking at it right now.

See your new website

This page is a note to you. Everything else on this site is the website I built for you.

Aaryan Gupta

Hi Robert. My name’s Aaryan. We’ve never met. I’ve been doing digital marketing for a Dallas GC for about a year (see below), and I’ve recently started working with roofers in DFW.

I was reading through your 200+ reviews on Google, and your honesty about when a roof does not need replacing really stood out to me.

Rather than email you a pitch, I built a completely free, fully optimized website for you, along with a bunch of other free stuff (see below). Again, this is all totally free, no strings attached.

Aaryan GuptaZentora Marketing

The proof

What I did for a Dallas builder this year.

  1. 1Built him an incredible website
  2. 2Did a pile of SEO work
  3. 3Got him ranking for the keywords buyers were actually searching
  4. 4Started bringing him high-ticket leads, like 3,000 sq ft home builds
  5. 5And a bunch else: 10+ client testimonial videos, a dashboard that tracks every lead and dollar, multiple posts a week on his socials, features on local news, and more
Google Search Console impressions over six months
618,000 Google impressions in six months. Up from almost none, with no ad spend at all. Straight out of his Search Console.
See the full case study

But anyway, back to you

Let’s talk about your new website.

It’s free, and it’s already built. You don’t pay a cent. All you’d do is point your domain’s nameservers at it, and I’ll walk you through it. It takes about fifteen minutes.

It moves as you read it

Sections lift in on the way past. No stock photograph anywhere on it: the type, the amber and the drawn marks do the work, which is why it does not look like the other roofing sites in your town.

A price, in four taps

Watch the number move from $5,700 to $49,500 as the answers change. A homeowner gets a real range for their own roof without a form and without waiting on a call back.

A menu worth opening

Full screen, set large, every service and city one tap away. On a phone it is the first thing most people touch.

Every page of the current site tells Google it belongs to a different company.

Your site now

The structured data on all 19 pages reads name: "Masseys Roofing", with the phone number 469-225-1400 and a logo hosted on a staging domain.

The new site

A typed roofing business with the Hamlin name, the Google profile number, every service, the counties covered and the FAQs, written where a search engine reads them.

This is the file Google reads to work out who a website belongs to, and it does not currently say Hamlin.

View source on any page of hamlinroofingrepairs.com and search for application/ld+json. 24 August 2026.

It loads five and a half times faster on a phone.

PageSpeed Insights on the current site: 49 out of 100
Your site now 49 out of 100. The largest thing on the screen takes 13.4 seconds to appear.
PageSpeed Insights on the new site: 97 out of 100
The new site 97 out of 100. Same measurement, 2.4 seconds.

PageSpeed Insights, mobile, both sites minutes apart, 25 August 2026.

Twice the pages, and they are about the things people search for.

Your site now

19 pages. The one city page is titled Arlington and every word of it is about Midlothian.

The new site

38 pages: ten roofing services, six guides, and Midlothian, Waxahachie and Mansfield written separately because the roofs there are genuinely different.

Counted from both sitemaps, 24 August 2026.

Nothing on it is half-written.

Your site now

The insurance page names Hamlin Advanced Construction & Roofing twice and its body is realtor copy. The replacement page says "Dedicated service pages coming soon". The process page has a raw URL inside its title.

The new site

Every page written from your reviews, your Google profile and your own site, then run through a gate that fails the build on a dead link, a placeholder or another trade’s vocabulary.

Read page by page, 24 August 2026.

It does something a contact form cannot.

The cost estimator
The cost estimator
The claim checker
The claim checker

Both live at /tools/ on this site right now.

And a gazillion other SEO things that will rank this site higher.

  • The name, the number and the address say the same thing on every page and in the code behind it
  • Every one of your services has its own page, written properly rather than one paragraph repeated
  • Six guides answering the questions people ask before they ask for a price
  • Midlothian, Waxahachie and Mansfield written separately, because the roofs there are different
  • Titles and headings written around what people search
  • Your eight best reviews on the site, word for word, nothing edited
  • Every image described for screen readers and for Google
  • Fonts served from your own domain, so nothing waits on an outside server
  • Images resized and compressed for phones, served from their own image host
  • A sitemap that stays in sync with the site by itself
  • One tap to call from any page on a phone
  • Tested down to a 375px screen with a script that fails the build on anything you would have to pinch to read

And a quick ranking audit

Search Google Maps for a roofing contractor in Midlothian and you come up tenth.

This is a map of 13×13 points across Midlothian, Ovilla, Venus, Red Oak and west Waxahachie. At each one I asked Google what it shows someone searching roofing contractor from that exact spot. Every number below is the position you came back in, and 20 means you were not in the top 20 there at all.

14 of 169 points put you in the top three. On 48 of them you do not appear at all.

LeadSnap rank grid for "roofing contractor" around Midlothian, showing Hamlin Roofing and Repairs first for market share and the northern band where it drops off
Straight out of the rank tracker. Tap it to open the live version, no login needed, and zoom in anywhere on it.

What is and is not causing it

  1. Reviews not the problem

    You have more reviews than anyone above you on that grid, and a better average than most of them. Whatever is deciding this, it is not your reputation.

  2. The schema on your site this is the fixable half

    Google reads the site attached to the profile, and the code on every page of it currently declares the business is called Masseys Roofing with a different phone number. That is the strongest contradiction on the whole audit.

  3. The pages that should rank mostly missing

    There is no page about a roof inspection, and that is the thing your customers name most. The one city page is titled Arlington and reads as Midlothian throughout.

  4. Where you are strong worth knowing

    The green sits right on top of Midlothian and along the 287 corridor. Close to the office you win. It falls away fast heading west and north, which is exactly what a thin website looks like on a map.

  5. Off-site presence a cheap gap to close

    The businesses above you turn up in manufacturer directories and local round-ups. Those listings are mostly free, they are the thing AI assistants read, and getting on them costs time rather than money.

Who else is on this map

BusinessTop-3 pointsShare of the map
Hamlin Roofing and Repairs148.28%
Highland Roofing Co.8852.07%
GLC Roofing8147.93%
Pinnacle Roofing & Exteriors7041.42%
Roof Time General Contracting5029.59%
Elevation Roofing2313.61%

Measured: LeadSnap grid scan, 13×13 points at 1.2 km spacing, centered on your yard, 24 August 2026. A second scan on "roof repair" over the identical grid put you eighth of 116, in the top three at 13.6% of the points. Two searches, the same picture.

The next place people will look

ChatGPT recommends you off a directory listing that is a hundred reviews out of date.

Asked “Who are the best roofing contractors in Midlothian, TX?”
ChatGPT's answer to "Who are the best roofing contractors in Midlothian, TX?", with Hamlin Roofing and Repairs not among them

I asked once, in a chat with no history that could have biased it. You were named every time, third, first, then third. Every fact it gave about you came from BestProsInTown, which shows 118 reviews. Your Google profile has 221. Not one line came off your own website.

On the two runs where you came third, the company it put first was Centennial, and the reason it gave was an Owens Corning Platinum Preferred listing. That is a directory entry, not better work. These tools read what other people publish about you, and right now the loudest thing published about you is half your reputation.

ChatGPT, web search on, in a fresh Temporary Chat so no account memory could bias it, 24 August 2026.

Yours to keep

Some other stuff I made for you

An animated logo, a flyer, and a review QR code.

An animated logo

Your roofline draws itself, fills in from the ridge outward the way shingles go on, and the window lights up. Five seconds, no sound. It runs on this site too, in the header and the footer.

Wide, vertical and square, plus a transparent version for laying over your own drone footage.

A one-page flyer

This site on paper. It reads from the same file the website does, so the two cannot disagree.

Print-ready PDF, US Letter.

Open the flyer (PDF)
QR code to the Google review page

A Google review QR code

Scan it and your review page opens. Print it on a card, the truck, the invoice you leave behind.

Vector, so it stays crisp and scannable at any print size.

“Whoa, Aaryan, that’s a lot of free stuff. When are you going to try to sell me?”

So when’s the sell?

Here it is, and it is the whole thing. I want to run this for you, and I want to do it for free until it actually works.

If I cannot get a five-star roofer in Midlothian booking jobs off the internet, then I have not earned anything. So I would rather carry that risk than ask you to.

The offer

I work for free until it books you a job.

  1. 01 You look this over Everything on this page is already built. None of it costs you anything, and I do not need an answer today.
  2. 02 We sit down in person I come to Midlothian, walk you through all of it, and answer whatever you want to throw at me.
  3. 03 I hook it all up The site goes live on hamlinroofingrepairs.com, your leads start landing somewhere you can see them, and I get the schema, the listings and the citations saying Hamlin instead of Masseys.
  4. 04 If you want to work with me, I’ll work for free I’ve built a system that gets results, and I don’t want to charge for it until I’ve proven to you that it works.
  5. 05 You only pay me once I get you a booked job The trigger is a job you have actually booked off the back of this work. Until then I have not earned anything. Once you have, we will sort out what this is worth, and you will already know by then.

Btw, if you decide not to work with me, totally get it. I’d really appreciate it if you could refer me to someone in the home-service industry who may be interested in digital marketing help.

PS: the phone number on the rest of this site is yours, not mine. Nothing there routes anywhere except to you.

See your new website
Call Now Free Inspection