Skip to content

Anvil

Trades / Local Services Pro Visual Builder

Dark, editorial theme for plumbers, electricians & local trades. Numbered services with hover-reveal, a before/after drag slider, a quote form, and LocalBusiness schema.

$59 $49 launch sale
All-Access Pass

One payment for Anvil and everything else - all 39 themes, every future release, and the Astro visual builder included.

$1793 $159 one-time
Get the All-Access Pass
A closer look

See Anvil in action

Every page and section is part of the download. Use these as launch-day templates - keep the structure, swap the copy.

Homepage - full-bleed dark crew photo
Services - numbered list with hover-reveal image
See the difference - drag before/after sliders
Service area - town list + map
Process steps + free-quote form
Anvil open in the AeroLaunch visual builder
Visual Builder

Edit Anvil in the visual builder

Anvil works in the AeroLaunch visual builder. Open it, click any section of your real site and edit it live, then download the Astro project with your content in it. No code needed.

  • Click any section and a panel opens with exactly its fields
  • Edit headlines, body copy, buttons, links, images and lists
  • Show, hide and reorder sections, and add or remove pages
  • Download a real Astro project that runs with npm install and npm run dev
See how the builder works Builder access is a one-time $39, or comes with the All-Access Pass.
10
Pages
16
Sections
Dark + Amber
Palette
LocalBusiness
JSON-LD SEO

Anvil is for plumbers, electricians, HVAC techs, and local trades whose website should look as serious as their work - not like the safety-orange-on-navy template every competitor uses. A dark charcoal canvas with one warm amber accent. Services are a numbered editorial list where hovering a row reveals the job photo - the number does the work an icon usually fakes. A real drag-to-reveal before/after slider, full-bleed crew photos, pull-quote reviews, and LocalBusiness structured data baked in. Two ways to capture the lead: a fast quote form and a contact form, plus a sticky call bar.

Best Fit For

  • Plumbers, electricians, HVAC, and handymen
  • Roofers, landscapers, cleaners, and local services
  • Small contractor crews and family trades
  • Local service businesses that live on calls
  • Anyone past the cookie-cutter trades look

Full Page Set

Every page is real and editable - no placeholders, no "coming soon" stubs.

Home
Services
About
Contact
Blog
Blog Post
All Sections
Privacy
Terms
404

16 Sections Included

Every section is a ready-to-use Astro component. Add it to any page, customize via config, or remove what you don't need.

Nav (sticky call bar)
Blurred-dark sticky header with a 24/7 indicator and an amber call button
Hero (full-bleed dark)
Full-bleed dark crew/job photo with an oversized condensed headline and dual CTAs
Statement
Confident 'since YYYY' statement with three plain oversized figures
Services (numbered)
Signature numbered editorial service list with a sticky hover-reveal image - no icon-card grid
Full-Bleed Band
Full-bleed dark photo band with an overline + condensed headline (fleet / trucks)
Before / After
Drag-to-reveal slider with per-item treatments (yellow hue / B&W on the 'before' side)
Reviews
One large inline pull-quote + a plain rating line - no star-badge wall
Promise
Two-column numbered editorial 'why us' list, no icon chips
Process
Four numbered steps on amber top-rules
Service Area
Service-area town list + embedded map
Quote Form
Free-quote form with a service-type selector + call-now, provider-switched
FAQ
Two-column intro + accordion
CTA
Full-bleed dark CTA band over a dimmed close-up image
Contact
Service-request form with name / phone / email / service selector
Blog Grid
Three-column 'tips' card grid from astro:content
Footer
Big call-to-action, service + company columns, certifications row, and contact details

What's Included

Dark editorial palette - charcoal base + one warm amber accent, no safety-orange-on-navy cliché
Numbered services list with a sticky hover image-reveal - replaces the icon-card grid
Before/after drag slider with per-item treatments (yellow hue / B&W on the 'before')
Full-bleed dark crew + truck photo bands
Pull-quote reviews + a plain rating line, no star-badge wall
LocalBusiness JSON-LD wired to your config for local SEO
Quote form + contact form (Formspree / FormSubmit / Netlify) + sticky call bar
All-Sections gallery page with copy-paste snippets

The Number Is the Icon

Anvil's services aren't an icon-card grid - they're a numbered editorial list (01, 02, 03…) over rule lines. Hover a row and a sticky job photo swaps in beside it. The number and the photo do the work, so the section reads like a real trade's portfolio, not a clip-art template.

Drag to See the Fix

A real before/after slider lets visitors drag to reveal the work, with per-item treatments - a yellow hue or black-and-white on the 'before' side - that dramatize the transformation. It's the proof a trades site lives or dies on, done as an interaction instead of two photos side by side.

Built to Get the Call

Anvil captures the lead three ways: a fast quote form with a service selector, a full contact form, and a sticky blurred call bar with a 24/7 indicator. LocalBusiness JSON-LD pulls your name, phone, hours, and service area straight from config so local search has what it needs.

Set up in minutes

Forms, newsletter, and analytics - pre-wired

Anvil is ready to connect to your preferred providers. Pick from the options below, drop in a single API key, and your contact form, newsletter signup, and analytics are live - no backend, no JavaScript, no glue code.

Contact form

The Contact section's <form> renders with no JS. Set one provider in site.ts; the form action wires automatically.

  • Formspree
    50 free submissions / month, no domain restriction
  • FormSubmit
    Free, no signup - just an email confirmation
  • Netlify Forms
    Free 100/month - Netlify hosting only
Setup guide

Newsletter

The Newsletter form sends subscribers directly to your ESP. The email input name auto-adjusts per provider.

  • Mailchimp
    Standard EMAIL field; honeypot supported
  • ConvertKit (Kit)
    email_address field; works with any form ID
  • Buttondown
    email field; lightest, indie-friendly
Setup guide

Analytics

Layout.astro injects the right script tag based on the provider you choose. No client-side branching.

  • Google Analytics 4
    Paste your G-XXXXXXXXXX measurement ID
  • Plausible
    Privacy-friendly, ~1 KB script, no cookies
  • Umami
    Self-hostable, also cookie-free
Setup guide

Tech Stack

Astro 7 Tailwind v4 TypeScript Responsive SEO Ready Blog Ready

Config-Driven Setup

Every theme uses a single src/config/site.ts file for customization. Change your brand, navigation, form providers, analytics, and section content without touching component code.

Full site.ts reference in the docs

site.ts
// src/config/site.ts
export const siteConfig = {
  name: "Your Company",
  tagline: "Your tagline here",
  url: "https://yourdomain.com",

  navigation: { sticky: true, links: [...], cta: {...} },
  social:     { twitter: "...", github: "...", linkedin: "..." },
  seo:        { title: "...", description: "...", ogImage: "/og.png" },

  // ── Provider switches ────────────────────────────────
  contactForm: { provider: "formspree",  formspreeId: "your-id" },
  newsletter:  { provider: "convertkit", actionUrl: "https://..." },
  analytics:   { provider: "plausible",  plausibleDomain: "you.com" },

  // ── Section data ─────────────────────────────────────
  team, video, timeline, comparison, gallery,
  carousel, tabs, appDownload, map, footer,
} as const;

Full documentation, ready before you buy

Browse the install guide, the site.ts reference, provider setup, deploy instructions, and the Anvil-specific page - all live now.