~/connor.meador
All projects

// case study

Monroe Overhead Door

Lead-gen site for a 4.9-star Monroe County garage door company — 17 service-area pages, IndexNow auto-ping

Year
2026
Role
Solo developer — full build from brand to deploy.
Status
Live
Visit live site

www.mod585.com

Monroe Overhead Door homepage hero showing "Expert Garage Door Repair & Installation" headline with a 4.9/5 rating card

// about this project

What it does and how I built it

A conversion-focused, mobile-first site for a family-owned garage door repair and installation company in Rochester and Monroe County, NY. 17 service-area landing pages target local search; LocalBusiness, FAQ, and BreadcrumbList JSON-LD ships on every route; IndexNow pings Bing/Yandex/Naver on every deploy. Lighthouse mobile 97 Perf / 100 A11y / 100 SEO / 100 Best Practices, LCP 2.5s — and 24 verified breadcrumbs plus 15 FAQ entities are already indexed in Google Search Console.

My role: Solo developer — full build from brand to deploy.

// decisions

  • 17 service-area pages instead of one "Service Areas" list

    "Garage door repair [town]" is one of the highest commercial-intent local-SEO queries in the trade. A bulleted list on one page ranks badly; 17 separate URLs each let me write 400 words of city-specific context (drive time from Greece HQ, common door issues for that area's housing stock). The cost was a week of content; the payoff is per-city Google Maps Pack eligibility.

  • Click-to-call above the fold instead of a long lead form

    Homeowners with a broken garage door at 8 PM want the phone, not a 5-field form. The form exists below as a fallback for non-urgent estimates, but the hero is a single tappable phone number that fires the analytics conversion event. Trade-off: lower form-submission count, higher actual closed-job rate.

  • IndexNow auto-ping on every Vercel deploy

    Bing's index also powers Microsoft Copilot and ChatGPT search. Standard Google crawl latency is 1–3 weeks; IndexNow notifies Bing within minutes. Adding it to the `release` script costs nothing once and pays compounding visibility for every future content update.

  • Audit gates: Lighthouse + axe + schema-validation pre-merge

    Every commit runs a Vitest unit suite over the content schemas (city data, service data, FAQ entries) plus a Playwright smoke pass on the live preview URL. Lighthouse mobile ≥ 95 and axe-core a11y zero-violation are blocking; schema.org rich-results validation runs after every deploy. The CSP, HSTS, and Permissions-Policy headers each have a dedicated test that fails the build if the value regresses.

// highlights

  • 17 service-area pages targeting Monroe County towns (Webster, Penfield, Pittsford, Brighton + 13 more)
  • Above-the-fold click-to-call + lead form, mobile-first build
  • Amarr and LiftMaster authorized-dealer trust badges in the hero
  • Lighthouse mobile 97 Perf / 100 A11y / 100 SEO / 100 BP — LCP 2.5s
  • 24 BreadcrumbList items + 15 FAQ entities verified in Google Search Console
  • IndexNow auto-ping on every Vercel deploy — pages re-indexed within hours, not days
  • JSON-LD LocalBusiness, FAQPage, and BreadcrumbList on every route

Stack

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Vercel

AI Tools

  • Claude Code

Built with AI as a force multiplier — scaffolding, research, automation, and code review all flow through these tools in my daily loop.

// gallery

Screenshots

Toggle between desktop and mobile views.

Desktop · 1440 × 900

  • Homepage hero with navy background and orange "Get a Free Estimate" CTA
  • Our Work page showing before/after garage door installations in Webster, NY
  • Contact page with free estimate form — name, email, phone, service, message

// let’s build

Want something like this?

I design, build, and ship production sites end-to-end. Full-time, contract, or freelance.