DEV Community

Michael Butts
Michael Butts

Posted on

How I Built 7 Free Marketing Tools for Contractors (and What I Learned)

A technical breakdown of building a free tool suite that helps home service businesses get more customers — using Vercel, Stripe, and Resend.


If you run a plumbing, HVAC, roofing, or landscaping business, marketing probably isn't your thing. You're great at your trade, but "getting more customers" feels like a mystery.

I've spent years working with contractors and noticed the same problems over and over: no follow-up system, no review strategy, no way to estimate jobs quickly. So I built a free toolkit to solve these problems — and open-sourced the templates on GitHub.

Here's the technical breakdown and what I learned.

The Problem

Most contractor marketing advice is generic garbage: "post on social media!" or "run Google Ads!"

What contractors actually need are specific scripts, templates, and tools they can use today. Not a 47-page marketing strategy — a text message they can copy-paste to follow up with a lead.

What I Built

1. Follow-Up Message Generator

The tool: Select your trade, scenario (new lead, post-estimate, no-show), and tone → get 3 customized follow-up messages.

Tech stack: Pure client-side JavaScript. No API calls needed. Uses template literals with trade-specific variables. Supports 20 trades × 8 scenarios × 3 tones = 480 unique combinations.

// Simplified version of the message generation logic
function generateMessages(trade, scenario, tone) {
  const templates = messageBank[scenario][tone];
  return templates.map(t => 
    t.replace('{trade}', tradeLabels[trade])
     .replace('{service}', serviceTypes[trade])
  );
}
Enter fullscreen mode Exit fullscreen mode

Email capture: After generating messages, users can save their "message playbook" by entering their email. This triggers a Vercel serverless function that creates a Stripe customer and sends a welcome email via Resend.

2. Estimate Calculator

The tool: Enter project type, square footage, and location → get a price range with material and labor breakdown.

Why it works: Contractors constantly need quick estimates for phone quotes. Rather than building a complex pricing engine, I used regional multipliers and industry-standard cost-per-unit data.

3. Google Review Link Generator

The tool: Enter business name → get a direct link customers can click to leave a Google review.

The viral hook: Every generated review link page includes a small "Powered by ContractorToolkit" watermark. Every contractor who uses it creates a tiny distribution channel.

4. Marketing Scorecard Quiz

The tool: Answer 10 yes/no questions about your marketing → get a score and personalized recommendations.

Why quizzes work: They're inherently shareable ("I scored 4/10 on contractor marketing!") and the results page is a natural place to recommend specific tools and resources.

5. Embeddable Estimate Widget

The tool: Get an iframe embed code → put a working estimate calculator on your own website.

The distribution play: Every embedded widget is a permanent backlink AND a referral source. The contractor's customers see the tool, some visit the source.

The Tech Stack

  • Frontend: Static HTML/CSS/JS on Vercel (zero framework, fast loads, free hosting)
  • Email: Resend API with custom domain (buildoutreach.io)
  • Payments: Stripe Payment Links → webhook → automated PDF delivery
  • Email automation: Vercel Cron jobs trigger a 5-day email drip sequence
  • Analytics: Vercel Analytics (built-in)

Why No Framework?

Controversial take: for content-heavy marketing sites, plain HTML outperforms React/Next.js on every metric that matters — load time, SEO, maintainability, and cost. Each page is a self-contained HTML file. No build step. No hydration. No JavaScript framework overhead.

The tools that need interactivity use vanilla JS. Total JavaScript payload across all tools: ~15KB.

Open Source Templates

I open-sourced the core templates on GitHub: contractor-marketing-toolkit

Includes:

  • 10 phone follow-up scripts
  • 15 text message templates
  • 5-email nurture sequence
  • Google review request scripts
  • Review response templates
  • Estimate template guide
  • 47-point marketing checklist

These are the raw materials that power the interactive tools. Fork them, customize them, use them however you want.

What I'd Do Differently

  1. Build distribution before product. I built 18 articles, 7 tools, and 3 paid products before having a single visitor. Should have validated demand first.

  2. Start with one tool, not seven. The estimate calculator alone could have been a standalone product. Spreading across 7 tools diluted focus.

  3. Interactive tools > static content for initial traction. Blog articles need SEO time (weeks/months). Tools get shared immediately if they're genuinely useful.

  4. Email capture from day one. I initially launched without email capture and had to retrofit it across 20+ pages. Should have been in the template from the start.

Try It

All tools are free at toolkit.buildoutreach.io

The templates are open source at github.com/Mikebutts20/contractor-marketing-toolkit

If you work with contractors or small businesses, I'd love to hear what tools would be most useful. Drop a comment or open an issue on the repo.


Building tools for trades that don't have them yet. If you liked this, I also wrote about free alternatives to ServiceTitan and Jobber for contractors who can't afford $300/month software.

Top comments (0)