DoneBuild
AI estimates grounded in a contractor's own pricing, ready for review.

Overview
DoneBuild is a platform for kitchen and bath remodelers, bringing estimates, client approvals, change orders, invoices, and payments into one workflow.
My work focused on AI estimating, the Pricebook, and the retrieval layer connecting them. I worked across the interface, backend services, and database to turn a contractor's job description into an editable estimate grounded in their own pricing.
The Problem
An estimate needs more than a convincing description. It needs the right scope, quantities, units, and prices for the work being proposed.
Contractors describe jobs in their own words, while saved items may use different names. A short job description can leave out important work, and pricing can vary between businesses. A useful AI workflow has to account for those gaps before the contractor sends anything to a client.
What I Built
AI Estimate Workflow
I developed the workflow for moving from a spoken or typed job description to a structured estimate draft. That included scope extraction, clarifying questions, budget handling, and the handoff into an editable review screen.
The review experience lets contractors inspect line items and pricing, address missing scope, and make changes before completing the estimate. I also improved recording feedback and error states so the process remains understandable when input or generation needs another attempt.
Contractor Pricebook
I built out the Pricebook interface and supporting services for managing reusable work items, categories, units, and pricing. The work included adding and editing items, duplicate detection, search, and useful empty states, with attention to mobile use.
The Pricebook gives the estimating workflow a source of business-specific information. Contractors can maintain what they actually charge rather than repeatedly rebuilding the same items for each job.
Retrieval Grounded in Business Data
I implemented semantic search and the pricing lookup layer used to connect estimate items with relevant Pricebook entries. This is the retrieval part of the AI workflow, often called RAG: bringing the business's own data into generation instead of relying only on a model's general knowledge.
It helps bridge the difference between how someone describes a job and how their saved items are named. Relevant matches also need compatible units and context; similar wording alone is not enough to justify using a price. Each business's records stay within its own workspace.
Pricing Updates with History and Undo
I added pricing-learning and update workflows that use accepted estimates to inform the Pricebook. Activity history and undo make those changes visible and reversible, so automation does not leave contractors guessing about how their saved pricing changed.
Technical Highlights
- Next.js and TypeScript across the interface and backend workflows
- PostgreSQL and Prisma for structured estimate and Pricebook data
- Semantic retrieval for matching job descriptions to saved work items
- Scope, budget, and pricing checks around AI-generated drafts
- Unit and end-to-end coverage for estimate review and Pricebook workflows
Why It Matters
This work connects AI generation to the information and controls a contractor needs to prepare a real estimate. The result is an editable workflow that can reuse business knowledge, surface gaps, and keep pricing changes traceable.
It demonstrates the part of product engineering I enjoy: making AI useful inside an existing business process, with attention to the data, review experience, and edge cases behind the interface.