Built with ❤️ by Josh Brown.
This is a lightweight tool that works in your web browser. I converted it from one of my web applications I developed in 2024 for a small business. The purpose of it is to help anyone quickly generate repair estimates, without the depression and clunkiness that comes with using spreadsheets. With this app, you can:
- Dynamically create text-based repair estimates
- Add, reorder, and quickly duplicate an unlimited number of line items
- Auto-calculate parts & labor taxes, shop-supplies charges, shipping, and include current bill adjustments
- Instantly calculate retail pricing via the “Magic Box” engine
- Generate two quotes simultaneously: Recommended and Required
- Export/import your settings (excluding hourly labor rates) to
.txt(plain-text JSON)
I built this app using a blend of tools - Vanilla JS, Bootstrap 5, SortableJS, and Font Awesome 6.
All settings persist in your browser’s localStorage.
- Clone this repo:
git clone https://github.com/popinnovationsinc/Quote-Builder.git
- Open in your web browser:
- To run the app, locate the project's index.html, and double-click the file, or you can drag-and-drop it into any web browser window.
- Please note: This project is dependent on bootstrap's CSS and fontawesome - you will need an internet connection for the application to work properly. Please reference "🚧 Upgrading Safely & Storing Settings" below.
If you like the app I've created, keep me motivated and buy me a coffee!
(or visit https://www.buymeacoffee.com/imjoshbrown)
I’m a full-stack web-application developer (TALL stack: Tailwind, Alpine.js, Laravel, Livewire).
If you’d like to evolve Quote Builder into a cloud-hosted app, with user accounts, team sharing, invoicing, or more - please reach out!
Everything you configure—General Presets, Price Models & Hourly Labor Rates—lives only in your browser’s
localStorage.
Clearing cookies/site-data or loading a fresh copy will erase all your settings.
Backing up is critical, but easy:
-
General Presets
- Go to the General Presets tab.
- Click Export General Presets ⇒ download a
.txt(JSON). - After upgrading, re-import with Import Presets.
-
Price Models
- Switch to the Price Models tab.
- Click Export Price Model on any row ⇒ download its
.txt. - Re-import via Import Price Model.
-
Hourly Labor Rates
- No export button.
- If lost, recreate under Manage Presets → Hourly Labor Rates → Create New Hourly Labor Rate.
Tip: Store these JSON files in a safe place (cloud drive, password vault, etc.). A single import restores your entire workspace.
