Custom GPT: Build an Estimating Assistant Trained on Your Own Job History

Tools:ChatGPT Plus (Custom GPT) + your past estimates
Time to build:1.5-2 hours
Difficulty:Intermediate-Advanced
Prerequisites:Comfortable with ChatGPT Projects. see Level 3 guide: "Build a Custom 'Remodeling Estimator' GPT"

What This Builds

A custom AI estimating assistant loaded with your actual job history, your real pricing data, and your specific trade rates, so when you describe a project, it generates a first-draft estimate calibrated to YOUR numbers, not generic industry averages. The result: estimates that take 30-60 minutes instead of 4-8 hours.

Prerequisites

  • ChatGPT Plus account ($20/month). required for Custom GPTs
  • At least 5-10 past completed estimates (any format: Excel, Word, PDF, handwritten notes scanned)
  • Your current labor rates for yourself and your regular subs
  • Your overhead percentage and target profit margin
  • Time to build: 1.5-2 hours (including data preparation)
  • Cost: $20/month (ChatGPT Plus)

The Concept

A Custom GPT with your job history is like hiring an estimator who has already worked on your last 20 projects. They know that your tile setter charges $X per square foot in your market, that kitchen cabinet installs take your crew 2.5 days, and that permits in your county run $400-600. They use that knowledge to produce estimates that start close to right, not close to average. You still review and adjust, but you're editing 20% of an estimate instead of building 100% from scratch.


Build It Step by Step

Part 1: Prepare Your Historical Data

This is the most important step. The better your historical data, the better the estimates.

Step 1.1. Collect your past estimates Gather your last 10-20 completed project estimates. These can be:

  • Excel files (ideal)
  • Word documents
  • PDFs
  • Handwritten sheets you've scanned

Step 1.2. Build a pricing reference sheet Open a Google Sheet or Excel file. Create a sheet called "Labor Rates." Enter:

TradeRateUnitNotes
My crew. carpentry$[X]per hour
Tile setter$[X]per sq ft installedor per hour
Electrician$[X]per hourrough-in rate
Plumber$[X]per hourrough-in rate
Painter$[X]per sq ftor per hour
Demo crew$[X]per hour

Add another sheet called "Typical Costs by Project Type":

ProjectTypical RangeKey Variables
Bathroom remodel (basic)$[X]-[Y]Tile selection, fixture level
Kitchen remodel (mid-range)$[X]-[Y]Cabinet style, countertop material
Basement finish$[X]-[Y] per sq ftWith or without bath
Deck replacement$[X]-[Y]Material: pressure treated vs. composite
Addition$[X]-[Y] per sq ftScope of work complexity

Step 1.3. Save as a text or CSV file Export the Google Sheet as CSV or copy the content into a .txt file. Name it "Pricing Reference: [Company Name].txt"

Part 2: Build the Custom GPT

  1. Log into ChatGPT Plus → left sidebar → Explore GPTsCreate
  2. Click the Configure tab immediately (don't use the chat builder)
  3. Name: "[Company Name] Estimating AI"
  4. Description: "Generates first-draft cost estimates for residential remodeling projects using [Company Name]'s actual pricing data"

Part 3: Write the System Instructions

In the Instructions box, paste:

Copy and paste this
You are a construction estimating assistant for [Company Name], a residential remodeling
contractor in [City, State].

YOUR PURPOSE:
Generate first-draft cost estimates for remodeling projects. The contractor will describe
the project; you produce a line-item estimate using the pricing data and history in your
knowledge files.

HOW TO ESTIMATE:
1. Break the project into trade categories: Demo, Framing, Electrical, Plumbing, Tile,
   Cabinets, Countertops, Flooring, Paint, Permits, and Miscellaneous
2. For each trade, list the specific tasks, quantities (sq ft, linear ft, hours, units),
   unit cost, and total
3. Use the Labor Rates file for labor costs
4. Use the Typical Costs by Project Type file for overall calibration
5. Apply a [X]% overhead and [Y]% profit margin at the bottom (or include in line items)
6. Flag any line items where you're uncertain — the contractor will verify

OUTPUT FORMAT:
Return the estimate as a table with columns: Item | Qty | Unit | Unit Cost | Total
Then show: Subtotal | Overhead ([X]%) | Profit ([Y]%) | TOTAL

After the estimate, add a "Flags" section noting any items that need the contractor to verify
(e.g., permit cost not confirmed, tile selection affects material price, structural unknown).

IMPORTANT:
- Never fabricate confident numbers for items you don't have data on — flag them instead
- Always remind the contractor that this is a first draft for review, not a final quote
- If the description is unclear or missing key dimensions, ask 1-2 clarifying questions before estimating

Part 4: Upload Your Knowledge Files

In the Configure tab → Knowledge section → Upload files. Upload:

  • Your pricing reference sheet (CSV or .txt)
  • 3-5 of your best past estimates (converted to PDF or text)
  • Any material pricing lists you have from suppliers

What you should see: Files appear in the Knowledge section. The GPT will reference these when generating estimates.

Part 5: Test with a Real Project Description

In the preview (right side of the builder), type:

Copy and paste this
Estimate a 10x12 bathroom remodel. Scope: demo existing ceramic tile (floor and shower walls),
install cement board, new 12x24 porcelain tile (floor) and 4x12 subway tile (tub surround),
replace toilet and vanity (we supply, client picks fixtures), all new plumbing fixtures,
paint walls and ceiling. Pull permits.

Review the output:

  • Does the labor breakdown match your actual rates?
  • Are the quantities reasonable for a 10x12 bathroom?
  • Is the total in the right ballpark?

Adjust the Instructions or Pricing Reference file based on what's off.

Part 6: Publish and Use

Click SaveOnly me. Your custom GPT appears in the left sidebar under "My GPTs." Use it for every new estimate.


Real Example: Master Bathroom Remodel

Setup: Custom GPT loaded with labor rates ($85/hr for tile setter, $95/hr electrician, $90/hr plumber) and past bathroom estimate data.

Input:

Copy and paste this
Master bathroom, 12x14 feet. Demo all existing. Install 24x24 marble tile (floor),
custom tile shower surround (floor, walls), frameless glass door. Freestanding soaking tub.
Double vanity 72" (client-supplied). New toilet (client-supplied). All new fixtures.
Exhaust fan. Paint.

Output (condensed):

ItemQtyUnitUnit CostTotal
Demo. tile, fixtures1lump$1,800$1,800
Cement board280sq ft$2.50$700
Marble tile, floor168sq ft$18.50$3,108
Tile shower, floor85sq ft$16.00$1,360
Tile shower, walls130sq ft$15.00$1,950
Glass door1unit$2,200$2,200
Tub set (client-supplied)1labor$650$650
Vanity set (client-supplied)1labor$450$450
Plumbing. fixtures1lump$1,400$1,400
Electrical. exhaust fan1unit$380$380
Paint180sq ft$1.80$324
Permits1lump$475$475
Subtotal$14,797
Overhead (15%)$2,220
Profit (10%)$1,702
TOTAL$18,719

Flags: Marble tile price will vary by selection, verify with supplier. Frameless glass door may need structural header, confirm at site visit.

Time saved: 45 minutes to generate and review vs. 6+ hours to build from scratch.


What to Do When It Breaks

  • Estimates are consistently too high or low → Update your Labor Rates file with corrected rates; delete and re-upload the file in the Knowledge section
  • GPT missing line items → Add the missed items to a "Common Mistakes" section in your Instructions: "Always include: cement board for any tile work, permit costs, grout and setting materials"
  • Descriptions too vague to estimate → The GPT should ask clarifying questions (per your instructions); if it doesn't, add to Instructions: "If scope description is incomplete, ask 2 clarifying questions before proceeding"
  • GPT making up confident numbers → Reinforce in Instructions: "Flag any item where you don't have specific data from the knowledge files"

Variations

  • Simpler version: Don't upload past estimates, just upload your pricing rate sheet. The GPT won't be as calibrated but still produces useful first drafts.
  • Extended version: Build a second Custom GPT for subcontractor communication. loaded with your sub's specific rates, preferred message formats, and common scheduling patterns. Run both in parallel for a full project package.

What to Do Next

  • This week: Run your next 3 incoming jobs through the GPT and track accuracy vs. your final quote
  • This month: After each project closes, update the Pricing Reference file with actual costs. the more you feed it, the more accurate it gets
  • Advanced: Export the GPT's output directly into your Google Sheets estimate template (copy-paste the line items into the appropriate rows) for a seamless workflow

Advanced guide for remodeling estimator professionals. ChatGPT Plus required for Custom GPTs with Knowledge uploads, check chat.openai.com for current pricing.