ToolFor Plumber

Copperline

Quote it at the door.

Build itemised plumbing quotes from your own price list, print or save them as PDFs, and track each job's status in a local log you can export to CSV.

Download the source

Zip, 206 KB. MIT licence. Built 19 Oct 2026.

Live preview

Loading the live site…

This is the real site, not a mock-up. Click around; the button on it opens the working app.

What you get

Everything a tool needs, already done.

Pages and screens

  • Hero with live quote
  • Quote builder
  • Price list
  • Job log
  • Status filter
  • CSV export

Features

  • Quotes built from your saved rates, call-outs and parts
  • VAT worked out automatically
  • Print quotes or save as PDF
  • Job log with address, status and notes
  • Filter jobs by quoted, booked, done or invoiced
  • CSV export for the bookkeeper

Palette

  • #b4652b
  • #944f1f
  • #f6e6d8
  • #fbf4ec
  • #ffffff
  • #1f2933

Style

  • Warm
  • Minimal
Copperline on a phone
On a phone, as shipped.

For developers

A real codebase, not a page builder export.

Stack

Vite, React 19 and TypeScript for the app. The launch page is plain HTML, CSS and a little JavaScript with no build step. Vitest for unit tests, Playwright for browser tests.

Run it

unzip copperline.zip
cd copperline
npm install
npm run dev

In the zip

  • site/ the launch page with the built app in site/app/
  • src/ and e2e/ the app source and tests
  • docs/technical-docs/ architecture, runbook, quick reference
  • START-HERE.md and LICENSE (MIT)

More like this

Also on the shelf

  • Trades & Home ServicesTool

    Due Back

    Log tool and equipment rentals at the counter, track what is out and overdue, calculate late fees and deposit refunds, and print a rental slip.

  • Trades & Home ServicesTool

    Room by Room

    Room by Room gives home cleaners a room-by-room checklist to tick off on a phone, then turns notes and issues into a visit report to send the client.

  • Trades & Home ServicesTool

    Ready Rail

    Ready Rail lets a dry cleaner take in garments with numbered tickets and notes, then shows at a glance which are ready, late or uncollected after 30 days.