Jeremy Sherlock

Taking a local painting contractor from no online presence to a new source of leads

Fresh Coat Solutions · website build, local SEO, and quote-request automation · residential and commercial painting

Overview

Fresh Coat Solutions is a two-person residential and commercial painting business serving the East Metro Minnesota area, including Cottage Grove and Hastings, owned by a football teammate of mine. They came to me after seeing the site I'd built for Mopp Cleaning and wanted something similar. Unlike that project, Fresh Coat Solutions had essentially no online presence: no website, a Facebook page with a single review, and a Google Business Profile with seven reviews. My work here covered both the website build and the local SEO foundation from day one.

  • ClientFresh Coat Solutions, East Metro Minnesota
  • DurationTwo weeks
  • My roleGoogle Business Profile, domain, design, development, hosting, and the quote-request automation
  • TechnologyHTML, CSS, JavaScript, Cloudflare, n8n webhook automation
  • Primary objectiveEstablish an online presence and generate qualified leads
Fresh Coat Solutions homepage hero: the headline House painters in Cottage Grove and the Saint Paul metro, the tagline Fresh paint that actually lasts, a Get a free estimate button, and a Call or text us button
The Fresh Coat Solutions site after launch.

My role and process

I started before ever touching the website: getting access to their Google Business Profile and optimizing it, since that was the only real online footprint the business had. From there I moved into building the site itself, purchasing a domain (freshcoatsolutionsmn.com, since freshcoatsolutions.com was already owned by an unrelated company in Texas), and gathering as many photos as I could from the owners to build out a real portfolio.

Painting is a portfolio-driven business; customers want to see prior work before they trust someone to paint their home or building. With no existing photo library to pull from, sourcing enough strong images was one of the harder parts of the build, and shaped how much of the site's credibility rested on getting that piece right.

I built the same lead-generation system I'd built for Mopp Cleaning: a quote form on the site tied to a webhook and an n8n automation that notifies the owners directly when a request comes in.

The Fresh Coat Solutions free estimate form on a navy background, with fields for name, phone, email, project address, service, timeline, colors, project details, a consent checkbox, and a Request my free estimate button
The quote request form as a customer sees it.
A New estimate request email to Fresh Coat Solutions with reply, call, and text buttons, a table of the submitted fields, and a footer showing consent, submission ID, timestamp, source page, and referrer. Contact details are blurred.
The email the owners receive when a quote is submitted (test submission shown, contact details blurred).
The Fresh Coat n8n workflow: a webhook feeds a honeypot check, sanitize and validate, validity branch, idempotency lookup and duplicate check, append row, build emails, then emails to Fresh Coat and a deactivated customer email, plus an error trigger that sends an error email
The n8n webhook workflow behind the form.

Decisions and approach

  • Hosting: I chose Cloudflare over Netlify for this build after researching both, largely for DNS propagation speed and the overall product experience for a business starting from zero infrastructure.
  • SEO from day one: Rather than building the site first and thinking about search later, I started the SEO strategy alongside the build itself, with the goal of ranking Fresh Coat Solutions in southeastern Minnesota search results.
  • Domain workaround: Since the exact business name's .com was already taken by the unrelated Texas company, I secured freshcoatsolutionsmn.com and built the SEO strategy around the Minnesota-specific branding rather than fighting for the generic domain.

I applied the same standard here that I set on the Mopp Cleaning project: only the data a customer actually submits through the quote form is tracked, nothing more, and the automation runs through the same self-managed n8n workflow rather than a third-party-hosted form service, keeping quote data out of infrastructure I don't control.

Challenges

  • A name collision. An unrelated company in Texas shares the exact business name and already occupies the natural domain and a chunk of the search results for "Fresh Coat Solutions." I secured the Minnesota-specific domain and leaned the SEO strategy into local, geography-specific search terms rather than competing head-on for the generic name. Without a differentiated domain and local focus, potential customers searching the business name could land on an entirely unrelated company's site.
  • No photo library. The business had no existing photos, and painting is a portfolio-driven trade where customers expect to see prior work before hiring someone. I worked directly with the owners to pull together as many usable project photos as possible to build out the site's portfolio. A painting company's site lives or dies on visual proof of quality work; without it, the site would look unfinished no matter how well it was built.

Results

  • Starting point: a Facebook page with one review and a Google Business Profile with seven, and no website at all.
  • The first website-attributed lead arrived three days after launch.
  • Since launch, the quote-form pipeline has generated two referrals; painting jobs in this market commonly run $3,000 to $10,000 each, putting the potential revenue from just those two leads in the $8,000 to $20,000 range.
  • Optimized and linked the Google Business Profile to the new site as part of the broader local SEO push.

Reflection

This project ran differently than my work with Mopp Cleaning. The owners gave me almost no direction and very little feedback along the way; they trusted whatever I put together. At first that felt like a lack of communication, but it turned into the most creative freedom I've had on a client project: I could make every design and strategy decision myself without needing buy-in at each step. It reinforced for me that a client's trust, even when it's quiet, can be just as valuable as detailed direction. The site is still evolving, and I'm looking forward to continuing to build it out and grow their SEO presence over time.

Visit the live Fresh Coat Solutions website to see the completed project.

Visit the Fresh Coat Solutions site