Enterprise SaaS

ExteriorPro

CRM for Roofing, Siding, Window & Gutter Contractors

Phoenix LiveView PostgreSQL + PostGIS Multi-tenant DB Claude API Stripe Billing Oban Workers Cloudflare R2
Platforms
Web & API
Where it runs
Status
Production
Current state
Complexity
Enterprise
Technical difficulty

The Challenge

Exterior contractors run on spreadsheets, sticky notes, photos buried in text threads and CRMs built for someone else. Leads slip when the phone is busy, numbers from roof measurement reports get retyped into spreadsheets to build estimates, and insurance-paid storm jobs, paid in pieces by a carrier and a homeowner, have nowhere to track what's still owed.

The Solution

Built a multi-tenant CRM where a lead and a job are the same record from first call to final payment. Measurements feed price-book packages that become Good, Better and Best proposals the homeowner signs on the spot, and the signature marks the job sold and produces the crew's work order. Insurance claims track RCV, depreciation, ACV and deductible per job, invoices go out by link, and contractors pay $199 or $349 a month per location with unlimited users.

Key Features Implemented

Measurement-Driven Estimates

Squares, eaves, rakes, ridges and pitch entered once; packages turn them into priced line items

Good, Better, Best Proposals

Homeowners compare options and e-sign at the kitchen table

Insurance Claims

Carrier, adjuster, RCV, ACV, depreciation, deductible, and overhead & profit per job

Supplier Price Sheet Import

CSV or Excel price sheets, with AI suggesting which column is which for the contractor to confirm

Crew Scheduling

One calendar for crews, inspections and installs across branches

Invoicing & Payments

Deposit, progress and final invoices from a sold job, with payment tracking

Roles & Branches

Owner, admin, manager, office, sales and crew roles across company-owned locations

No-Login Customer Links

Homeowners open estimates, proposals and invoices without making an account

Technical Highlights

  • ▸ Phoenix LiveView and PostgreSQL with PostGIS for property locations
  • ▸ Multi-tenant architecture with every table scoped to the contractor's organization
  • ▸ Money stored as integer cents, with optimistic locking on estimates, invoices and payments
  • ▸ Claude API for price-sheet column mapping and the site chat assistant
  • ▸ Oban background workers for email, text messages and imports
  • ▸ Stripe subscription billing, Telnyx SMS and Amazon SES email
  • ▸ Cloudflare R2 storage for photos and documents
  • ▸ JSON API for a React Native field app, with 2,400+ automated tests

Results & Impact

4 Trades
Roofing, siding, windows and gutters
$199–$349
Per location per month, unlimited users
2,400+ Tests
Automated test coverage

Need a Similar Solution?

Our team builds custom applications tailored to your specific business needs using the same proven technologies and patterns. Let's discuss your project.