Professional Epoxy Flooring
A conversion-focused Next.js website for a Calgary epoxy flooring contractor, built to turn cold visitors into qualified quote requests through fast, data-driven service pages and a friction-free contact flow.

Replaced a one-size-fits-all placeholder site with a purpose-built lead engine: dedicated pages per flooring system so search traffic lands on relevant content instead of a homepage, a real project gallery that lets the work speak for itself, and a quote form with zero friction between interest and an email in the owner's inbox, turning more visits into actual booked estimates.
Professional Epoxy Flooring is a Calgary-based contractor installing flake, quartz, and metallic epoxy systems for homeowners and commercial clients. Like most trades businesses, their biggest challenge wasn't the work, it was the website. A generic template site meant visitors couldn't tell what made their flooring different, couldn't see real project photos, and had no easy way to ask for a quote without picking up the phone. Every unclear page was a lost lead going to a competitor who answered those questions faster.
I designed and built the site from the ground up as a Next.js App Router application with a single goal: answer every question a homeowner or facilities manager has before they'll trust a contractor, including what do you actually install, is it right for my space, have you done this before, and how fast can I reach you, and then make requesting a quote effortless.
Each flooring system (flake, quartz, metallic) got its own dedicated, SEO-optimized service page generated from a single structured data source, covering what it is, ideal use cases, benefits, the actual install process step-by-step, and a service-specific FAQ, so search traffic lands on a page that already answers their exact question instead of a generic homepage. A 33-photo project gallery with a lightbox viewer lets visitors judge real finished work instead of stock photography. The contact form validates input, shows loading/success/error states, and sends a formatted quote-request email straight to the business owner's inbox via a server-side API route, backed by schema validation so bad or malicious input never reaches the mailer. A floating WhatsApp button and click-to-call number cover the customers who'd rather message than fill out a form.
The result is a site that reads as an established, trustworthy operator rather than a template, built for fast load times, clean SEO structure (sitemap, robots, per-page metadata, Open Graph images), and a clear path from 'just looking' to 'quote requested' on every single page.
- Data-driven service pages (flake, quartz, metallic epoxy) auto-generated from a single content source, with no duplicated markup or copy
- 33-photo project gallery with a keyboard- and swipe-navigable lightbox for browsing real completed jobs
- Validated quote-request contact form (React Hook Form + Zod) with loading, success, and error states, backed by a server-side API route via Nodemailer
- Full on-page SEO: per-page metadata, dynamic sitemap.xml and robots.txt, structured data, and generated Open Graph images
- Floating WhatsApp button and click-to-call phone link for visitors who prefer messaging over forms
- Animated trust indicators and a 'Why Choose Us' section, in a fully responsive, accessible UI with visible focus states throughout



