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])
);
}
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
Build distribution before product. I built 18 articles, 7 tools, and 3 paid products before having a single visitor. Should have validated demand first.
Start with one tool, not seven. The estimate calculator alone could have been a standalone product. Spreading across 7 tools diluted focus.
Interactive tools > static content for initial traction. Blog articles need SEO time (weeks/months). Tools get shared immediately if they're genuinely useful.
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)