Ballpark
Give them a price before they pick up the phone.
A ready-made handyman website with service, gallery and hours pages, plus a job menu that gives customers a rough price and time and sends you their list.
Zip, 253 KB. MIT licence. Built 6 Nov 2026.
Live preview
This is the real site, not a mock-up. Click around; the button on it opens the working app.
What you get
Everything a website needs, already done.
Pages and screens
- Services
- Job menu
- Gallery
- Hours
- Request summary
- Launch page
Features
- Job menu with quantities for small tasks
- Rough price range and estimated hours
- Send the list by text, call, copy or print
- Printable request summary with your phone number
- Edit business, prices and hours in src/content/
- Catalogue check catches price and duplicate errors
- Light and dark colour schemes
Palette
#1d3a30#4b5f56#5c675f#fffdf8#ddd3c1#24493c
Style
- Warm
- Editorial
- Minimal

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 ballpark.zip
cd ballpark
npm install
npm run devIn the zip
site/the launch page with the built app insite/app/src/ande2e/the app source and testsdocs/technical-docs/architecture, runbook, quick referenceSTART-HERE.mdandLICENSE(MIT)
More like this
Also on the shelf

Switchplate
A ready-made website for independent electricians with services, a job photo gallery, opening hours, price bands and a home safety check for callers.

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.

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.
