This post may contain affiliate links. If you click a link and make a purchase, I may earn a small commission at no additional cost to you.
When you are under contract on a home, inspection reports arrive fast and they are overwhelming. Pages of deficiencies, seller repair requests, contractor research, cost estimates — it is a lot to track across a spreadsheet, email threads, and sticky notes.
I found a better way. I handed all of that raw material to an AI assistant and walked away with an interactive, sortable, filterable repair tracker I could actually use through close of escrow and beyond. This post walks through exactly how I did it — the five prompting stages, the actual prompts I used, what to do when things break, and how to host your finished tracker so you can access it anywhere.
“What if you could hand your inspection report to an AI and walk away with a working repair management tool in one conversation?”
Interactive Demo
See What the Finished Tracker Looks Like
A fully interactive version with dummy data — same layout, columns, contractor links, calendar buttons, and seller request routing you can build for your own home purchase.
Open Demo Tracker →Opens in a new tab · All names, addresses, and data are fictional
Before You Start
Gather your inspection report PDFs, any seller repair response documents, and a rough list of contractors you have been recommended. The more raw material you bring into the conversation, the better the output. Upload the actual PDFs rather than pasting text excerpts — the AI can read the structure, page references, and section headers in context, which produces much more accurate results.
Stage 1: Upload Your Inspection and Get a Structured Summary
Start by uploading your inspection report PDF and asking the AI to read and organize it. This is the foundation — everything else builds on this list.
The prompt I used:
“I’m buying a home at [address]. I’ve uploaded my home inspection report. Please read the full report and: extract every deficiency, concern, or recommendation; group them by category (roof, electrical, plumbing, pool, structure, etc.); flag each as High, Medium, or Low priority based on safety and urgency; note which items the inspector said require a specialist before close of escrow; give me a rough cost range for each item where possible. Also flag any items that appear to be code violations or safety hazards.”
If you have multiple inspection reports — an original inspection plus a re-inspection after seller repairs, for example — upload both and add: “Please compare the two reports and tell me which items from the original were resolved, which are still outstanding, and which new issues appeared.”
Stage 2: Build the Tracker
Once the AI has your inspection data organized, ask it to build an interactive HTML tracker. Be specific about what you want so it does not have to guess.
The prompt I used:
“Now build me a single-file HTML repair tracker I can save to my computer and upload to Google Drive. It should have: two separate tables (one for items submitted to the seller as repair requests, one for all remaining open items I will handle myself); a ‘Seller Won’t Fix’ button that moves items from the seller table to the open items list automatically; a Done button on every row that moves completed items to a Resolved tab; editable fields on every row for Priority, Status, Notes, and Start Date; a Google Calendar button on each row; filter chips at the top; a sort dropdown; drag-to-reorder in the open items table; contractor links per item; a cost summary bar; a Save Updated File button that downloads the HTML with all my edits baked in; and an Add Item button for items not in the inspection report.”
Before the AI builds the tracker, ask it to audit for duplicates first. Items in your seller request list should not also appear independently in the open items list. A simple “Please confirm there are no duplicate items between the two tables before building” saves a debugging step later.
Stage 3: Refine the Layout
Once you have a working tracker, use targeted follow-up prompts to polish and extend it. Do these one at a time in the same conversation.
To condense the cost column:
“In the cost column, show repair and replacement costs on two separate labeled lines instead of running them together in one string. Make the column narrower.”
To make it work on mobile:
“Make the table responsive. On screens under 820px wide, switch each row to a card layout where each column becomes a labeled field stacked vertically with no horizontal scrolling. On desktop, keep it as a compact table.”
To group by contractor type:
“Add a Sort by Contractor Type option to the sort dropdown. When selected, group items by trade (Roofing, Pest/Termite, Pool, Electrician, Plumbing, HVAC, Handyman) with a group header row between each section.”
The more specific your follow-up prompts, the better the result. One clear request at a time beats a long list of changes in one go.
Stage 4: What to Do When Things Break
AI-generated HTML trackers can develop issues across multiple edits, especially with JavaScript. Here is how to handle the most common problems.
When the page is blank or data disappears:
“The tracker is showing a blank page. Please check the JavaScript for syntax errors — specifically look for escaped quotes inside template literals, broken onchange handlers, or any functions that reference DOM elements that don’t exist. Run a syntax check and fix any errors before saving.”
When items appear in both tables:
“I’m seeing duplicate items. Please audit both data arrays for overlaps and remove anything from the open items list that’s already covered by a seller request.”
When buttons or edits don’t save:
“Changes aren’t being saved when I click buttons or edit fields. Please rewrite the event handler functions to use data-attribute based IDs instead of passing IDs as string parameters in onclick handlers.”
General debugging tip: if the AI makes multiple small patches and things start breaking, ask it to do a clean rewrite of the broken function from scratch rather than patching. Accumulated patches on JavaScript are a common source of hard-to-find errors.
Stage 5: Using It Day to Day
Once built, here is how the tracker actually works through close of escrow and into the first months of ownership.
As the seller responds to each repair request, click the appropriate button to route items. Your net cost exposure updates live in the summary bar. After close, drag open items to set the order you will tackle them, and sort by contractor type to batch same-trade work into a single contractor visit. Set start dates and push them directly to Google Calendar. As work gets done, hit the Done button and items move to the Resolved tab automatically, keeping your open list clean. After any session, hit Save Updated File to download a fresh copy with all edits baked in.
Stage 6: How to Host and Share Your Tracker
The tracker is a single .html file — no app, no subscription, no login required. But to access it from your phone, share it with your partner, or link to it from your notes, you need to host it somewhere. Here are the three best options.
Option 1 — Upload to Your Own Server or Bluehost (Best if You Have a Site)
If you have a self-hosted WordPress site, you already have a server. This keeps the file on your own domain.
- Log into your Bluehost cPanel → click File Manager
- Navigate to
public_html→ create a new folder calledtoolsordemos - Click Upload and upload your
.htmlfile into that folder - Your tracker is now live at
yourdomain.com/tools/repair-tracker.html - Bookmark that URL on your phone — it opens directly in any browser, no app needed
Option 2 — Netlify Drop (Fastest, No Account Needed)
If you just want a shareable link in under a minute:
- Go to app.netlify.com/drop
- Drag your
.htmlfile onto the page - Netlify generates a live URL like
random-name.netlify.appinstantly - Create a free account to keep the URL permanently and update the file later
Option 3 — Google Drive (Best for Sharing With Your Partner or Agent)
- Go to drive.google.com → + New → File upload
- Upload your
.htmlfile - Right-click the file → Share → set to “Anyone with the link can view”
- Recipients click the link → click Download → open in any browser
Note: Google Drive does not render HTML files directly — recipients need to download and open it. For a live viewable link, use Bluehost or Netlify instead.
To update your tracker after editing: Click “Save Updated File” inside the tracker to download a new version with all your changes baked in, then re-upload it to replace the old one. The URL stays the same.
A Few Honest Notes
Verify the data. After the tracker is built, spot-check a few items against your actual inspection report. AI can occasionally misread numbers, combine items, or miss something on a crowded page. A five-minute review before you share it with anyone is worth doing.
Keep everything in one conversation. Rather than starting fresh each time, stay in the same conversation thread. The AI retains context about your property, your preferences, and what has already been built, which makes each follow-up request faster and more accurate.
Ask for a syntax check. After any significant code change, ask the AI to verify there are no JavaScript errors before delivering the file. A simple “Please run a syntax check on the script before saving” prevents most blank-page issues.
One important caveat: this is a personal organizational tool, not a legal or financial document. Cost estimates are ballpark figures for negotiation context. Always get licensed contractor quotes before making any repair decisions or purchase price adjustments.
Quick Reference: The Prompts
To get started:
“Read my inspection report and extract all deficiencies, grouped by category, with priority and cost range for each.”
To build the tracker:
“Build me a single-file HTML repair tracker with seller requests, open items, editable fields, filter chips, sort dropdown, contractor links, a cost summary, drag-to-reorder, calendar integration, and a Save button.”
To fix duplicates:
“Audit both tables for duplicate items and remove anything from the open items list that’s already covered by a seller request.”
To fix a broken tracker:
“The tracker isn’t working. Please rewrite the render functions using plain string concatenation instead of template literals, and use data-iid attributes on all interactive elements.”
To add any feature:
“Add [specific feature]. Make sure to run a syntax check on the JavaScript before delivering the file.”
This is part of the canyon home series documenting the full process of buying and designing a home in Southern California. Follow along on Pinterest and Instagram.