Project Info
Photograph

Ridgeline Roofing Co.

A full marketing website for Ridgeline Roofing Co., a licensed roofing contractor based in Hartwell, Vermont. Covers residential and commercial roofing services, trust signals, a free estimate form, and 24/7 emergency callout information.

Next JSNext JS
SanitySanity
TypescriptTypescript

What I Built

Ridgeline Roofing Co. is a fictional roofing contractor website I designed and built as a self-initiated portfolio project. The concept: a licensed Vermont contractor offering residential roof replacement, commercial roofing, repairs, gutter systems, and 24/7 emergency callouts. The site includes a homepage, service catalog, about page, FAQ, trust credentials, and a structured estimate request form.

It's not a real business. Ridgeline doesn't exist. No one is going to call the number on the site. The whole thing is a sandbox I built to work through a specific design and engineering problem end-to-end.

Why I Built It

After designing Atrium Studio — a site aimed at warm internal colleagues — I wanted to test myself on the opposite problem: a site for cold strangers who might be in a hurry, possibly in distress, deciding in seconds whether to trust the business. Local service businesses are the textbook case for that kind of design pressure. The website is often the first and only touchpoint before a homeowner makes a call, and a weak site loses the job before it starts.

I wanted to see if I could design something that earned trust instantly — through clear service descriptions, visible credentials, real-feeling testimonials, and a friction-free path to requesting an estimate.

What Made Me Start

The roofing industry is trust-heavy and urgency-driven. A homeowner searching for a roofer after a storm doesn't have time to navigate a confusing website — they need a phone number, a service list, and a reason to call. That urgency was a specific, sharp design constraint I wanted to work against.

The most interesting wrinkle was that local service sites have to handle two very different user intents at once: planned replacements (researching over days) and emergency callouts (needing help right now). I wanted to see if I could serve both without splitting the site into two confusing experiences.

How I Did It

Studying the Problem First

Before designing anything, I spent time looking at how actual roofing companies present themselves online — what works, what doesn't, what patterns repeat, where the obvious mistakes show up. Most local trades sites are outdated and unclear, and I wanted to know exactly why that was and what a sharper version would actually look like.

Designing for Trust and Urgency

The navigation includes a persistent top info bar with hours and a 24/7 emergency line — always visible, no hunting. The primary CTA and emergency badge appear on every page. Trust signals like license number, insurance status, and years in business sit near decision points rather than buried in the footer. Every layout decision had to defend itself against one question: would a stressed homeowner understand this in three seconds?

Content Strategy

Five pages, each with a clear job to do: Home converts, Services informs, About builds credibility, FAQ reduces objections, Contact closes. No filler pages, no vague content — every section had to earn its place by serving a specific user need in the buying journey.

Building Out the CMS

The site runs on Sanity, so every piece of content — service descriptions, testimonials, team info, FAQ answers — is editable from the studio interface. I wrote the schemas, built the React components, and wired everything together as if a real owner were going to be the one updating it.

What Makes It Different

Dual-Intent Architecture

The site handles planned and emergency use cases simultaneously without splitting into two separate experiences. Emergency contact is always one tap away; the estimate form is always in view. The dual-path structure was the most interesting design problem in the project — and the one I learned the most from.

Local SEO Foundation

Location, service area, and credentials are embedded structurally, not just in body copy. The site is built to rank for local queries — proper metadata, structured data markup, clear service area signals throughout. Even on a dummy project, I wanted the SEO work to be real, because that's a craft I wanted reps on.

Production-Grade Without a Real Client

Like Atrium, Ridgeline was built as if it were going to ship to a real owner tomorrow. Fully editable CMS, considered information architecture, real attention to small details — the kind of work I want to be doing when a real local business does come along.

What I Gained

  • A second portfolio piece that pressure-tests my design and engineering against a completely different industry and audience
  • Hands-on practice designing for trust and urgency — two of the hardest qualities to engineer into a website
  • Real reps on local SEO fundamentals: metadata, structured data, service area signals
  • A clearer sense of how content strategy and information architecture have to bend to the audience's mental state, not just their demographic
  • Proof to myself that I can hold the same level of craft across very different brands and use cases

The Bigger Picture

Ridgeline sits alongside Atrium as a second proof point — same craft, very different audience. One was designed for warm colleagues; this one for cold, possibly stressed strangers. Together they're how I'm learning what travels across project types and what has to be reinvented each time.

The broader goal: small and medium businesses deserve well-built websites, not whatever a page builder produces in an afternoon. A contractor site can be fast, trustworthy, and professionally designed without a massive budget — and Ridgeline is me practicing that, so I'm ready when the real version of this project comes along.

Key Takeaway

Local service businesses win on trust and speed of response, and a website is one of the few places those can be engineered intentionally. Building Ridgeline reinforced something I already half-knew: understanding the customer's mental state matters more than any particular technical choice. The technology serves the business outcome; the business outcome serves real people in a hurry.

A homeowner with a leaking roof at midnight needs one thing: a number to call and a reason to trust it. Designing for that — even as a fictional exercise — is the kind of constraint that sharpens everything else.