1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,491608,e=>{"use strict";let t={contractors:{slug:"contractors",nav:"General Contractors",name:"General Contractors",eyebrow:"For General Contractors",meta:{title:"BuildIG.ai for General Contractors â Estimate, Bid & Manage Faster",description:"General contractors use BuildIG.ai to turn full plan sets into accurate takeoffs, competitive bids, and coordinated project timelines in minutes. Cancel anytime."},hero:{title:"Bid More Projects.",highlight:"Win More Work.",subtitle:"BuildIG.ai reads your full plan set, generates a complete material takeoff, and builds a coordinated project timeline â so your team estimates in minutes instead of days and submits before the competition.",primaryCta:"Get Started",secondaryCta:"See a Sample Estimate",stats:[{value:"80+ hrs",label:"Saved per bid cycle"},{value:"3x",label:"More bids submitted"},{value:"99.5%",label:"Takeoff accuracy"}]},intro:{heading:"The command center for your",highlight:"entire project",paragraphs:["As a general contractor, you live in the gap between winning the work and delivering it on budget. BuildIG.ai closes that gap by turning drawings into structured quantities, pricing-ready bills of materials, and sequenced schedules â all from a single upload.","Instead of stitching estimates together across spreadsheets, email threads, and subs, you get one source of truth for scope, cost, and timeline that your whole team can build from."],bullets:["Full-project analysis across architectural, structural, and MEP","Automated schedules and trade sequencing","Vendor and subcontractor bid coordination","Team collaboration with shared BOQs and reports"]},howItWorks:{heading:"From plan set to submitted bid in 4 steps",subheading:"A workflow built for the volume and complexity general contractors deal with every week.",steps:[{title:"Upload the full plan set",desc:"Drop in a complete PDF or CAD set â architectural, structural, and MEP. No file prep or manual page splitting.",details:["Handles multi-hundred-page sets and mixed file types in a single upload.","Automatically detects and separates disciplines so nothing gets missed.","Works from what the architect sent â no re-drawing, flattening, or cleanup required."]},{title:"Get a complete takeoff",desc:"BuildIG.ai extracts every material and quantity, organized by CSI MasterFormat, with regional pricing applied.",details:["Quantities are grouped by division so estimators can review the way they already work.","Regional material and labor rates are applied automatically to every line.","Every measurement is traceable back to the sheet it came from for quick QA."]},{title:"Coordinate subs & schedule",desc:"Break scope out by trade, invite subs to bi
1d, and generate a sequenced project timeline automatically.",details:["Split the BoM into trade packages and send bid invitations in a couple of clicks.","Compare returned sub bids side by side to award work faster.","A sequenced timeline is generated from trade dependencies and updates as scope changes."]},{title:"Submit and manage",desc:"Export a polished proposal, then track scope, cost, and timeline changes in one place as the job runs.",details:["Export to PDF, CSV, or Excel for Procore, Sage, and QuickBooks.","Track change orders and watch cost and schedule impact ripple through instantly.","Keep estimators, PMs, and the field aligned on one shared source of truth."]}]},features:{heading:"Everything a GC needs to price and run the job",subheading:"Estimation and project management working from the same data set.",items:[{title:"Full-Project Takeoffs",desc:"Complete material quantities across every discipline in one pass, not trade-by-trade guesswork."},{title:"Automated Scheduling",desc:"Generate trade sequencing and project timelines that update as scope changes."},{title:"Sub Bid Management",desc:"Split scope by trade, send invitations, and compare incoming sub bids side by side."},{title:"Regional Pricing",desc:"Material and labor pricing localized to your market so bids reflect real costs."},{title:"Team Collaboration",desc:"Shared projects, roles, and standardized reports keep estimators and PMs aligned."},{title:"Change Tracking",desc:"See how revisions ripple through quantities, cost, and timeline instantly."}]},pricing:{heading:"Plans that scale with your",highlight:"pipeline",subtitle:"Start with BuildIG.ai Command for full estimating and project management, or use the Estimator on a pay-per-use basis. Every subscription tier is cancel-anytime with no lock-in."},faq:{heading:"General Contractor",subtitle:"What GCs ask most before rolling BuildIG.ai out across their team.",items:[{q:"Can BuildIG.ai handle a full multi-discipline plan set?",a:"Yes. Upload architectural, structural, and MEP drawings together and BuildIG.ai produces a consolidated takeoff organized by CSI MasterFormat â no need to process trades separately."},{q:"How does the scheduling feature work?",a:"Once your takeoff is generated, BuildIG.ai sequences the work into a project timeline based on trade dependencies. As scope or quantities change, the schedule updates so your team is never working from a stale plan."},{q:"Can I invite my subcontractors to bid?",a:"Yes. Split the project scope by trade and send bid invitations directly from your BuildIG.ai account, then compare returned bids side by side to award work faster."},{q:"Does it integrate with our estimating software?",a:"You can export bills of materials to PDF, CSV, and Excel for use with tools like Procore, Sage, and QuickBooks, so BuildIG.ai fits your existing stack."},{q:"How many people can collaborate on a project?",a:"Licenses scale by plan. Essential GC is a single-license plan; Advanced GC adds up to 3 extra licenses and Premium GC up to 10 â each extra license is $280/mo (+10 analyses) or $440/mo (+25 analyses), pooled into a shared company balance. Field users are always unlimited and free on every paid tier, and each extra license gets its own invite link so that person sets their own password."},{q:"What if it doesn't work for me?",a:"Every Command subscription is backed by a 30-day money-back guarantee. You pay for your first month at sign-up, and if BuildIG.ai isn't right for you, cancel within 30 days for a full refund of the subscription fee â one click, no questions asked. After that, plans are cancel-anytime with no lock-in."}]},closingCta:{title:"Every manual takeoff",highlight:"costs you a bid.",subtitle:"While your team spends three days measuring drawings, your competitor submits in fifteen minutes. Put BuildIG.ai to work on your next plan set.",button:"Get Started"}},estimators:{slug:"estimators",nav:"Estimators",name:"Professional Estimators",eyebrow:"For Professional Estimators",meta:{title:"BuildIG.ai for Professional Estimators â Faster, Defensible Takeoffs",description:"Professional estimators use BuildIG.ai to produce accurate, auditable quantity takeoffs in minutes, handle more bids, and defend every number. Pay-per-use or subscription. Cancel anytime."},hero:{title:"Ten Times the Takeoffs.",highlight:"Zero Late Nights.",subt
1itle:"BuildIG.ai does the measuring so you can do the estimating. Turn any drawing into a structured, auditable quantity takeoff in minutes â then apply your judgment, your rates, and your markup.",primaryCta:"Get Started",secondaryCta:"See a Sample Takeoff",stats:[{value:"15 min",label:"Per takeoff, not 3 days"},{value:"99.5%",label:"Measured accuracy"},{value:"10x",label:"Bid throughput"}]},intro:{heading:"Your quantity surveyor that",highlight:"never gets tired",paragraphs:["Estimating is judgment work â but most of your day is spent on the mechanical part: counting, measuring, and transcribing quantities off drawings. BuildIG.ai automates that mechanical layer with sub-millimeter digital analysis, so your expertise goes toward pricing strategy, not pixel-counting.","Every quantity is traceable back to the drawing, so your numbers are defensible in a bid review. You stay in control â BuildIG.ai just gets you to the priced estimate faster and with fewer errors."],bullets:["Structured takeoffs organized by CSI MasterFormat","Every measurement traceable and reviewable","Export to CSV and Excel for your cost database","Pay-per-use pricing when you don't need a subscription"]},howItWorks:{heading:"From drawing to priced estimate in 4 steps",subheading:"Keep the parts of estimating that need you. Automate the parts that don't.",steps:[{title:"Upload the drawings",desc:"PDF, DWG, DXF, or image formats â architectural, structural, or MEP. Whatever the architect sent you.",details:["No conversion or re-drawing â upload the native file you received.","Scanned or photographed sheets work too, thanks to image recognition.","Upload a single trade or a full multi-discipline set."]},{title:"Review the takeoff",desc:"BuildIG.ai returns structured quantities with each measurement traceable back to the source drawing.",details:["Click any quantity to see the exact drawing region it was measured from.","Output arrives organized by CSI MasterFormat, ready to price.","Accuracy is benchmarked at 99.5% against senior quantity surveyors."]},{title:"Apply your rates",desc:"Bring your own unit costs, labor rates, and markup. You own the pricing; BuildIG.ai owns the counting.",details:["BuildIG.ai never guesses your pricing â your cost database stays yours.","Adjust unit costs and margin without re-measuring anything.","Your numbers stay defensible and auditable in any bid review."]},{title:"Export and submit",desc:"Push the finished bill of quantities to CSV or Excel and drop it straight into your estimating workflow.",details:["Structured output imports cleanly into your existing estimating tools.","Run one project pay-per-use, or subscribe when volume grows.","Reuse takeoffs as templates for similar future bids."]}]},features:{heading:"Built for the way estimators actually work",subheading:"Speed and accuracy on the takeoff, full control on the pricing.",items:[{title:"Auditable Measurements",desc:"Every quantity links back to the drawing region it came from â defensible in any bid review."},{title:"CSI MasterFormat Output",desc:"Takeoffs arrive organized the way you already estimate, ready to price."},{title:"Multi-Format Input",desc:"Handle PDF, DWG, DXF, and image files without conversion or re-drawing."},{title:"Your Rates, Your Markup",desc:"BuildIG.ai never guesses your pricing â you apply your own cost database and margin."},{title:"Scope from Descriptions",desc:"No drawings yet? Generate a preliminary takeoff from a scope of work or spec."},{title:"Pay-Per-Use Option",desc:"Use the standalone Estimator per project, or subscribe when volume justifies it."}]},pricing:{heading:"Pay per takeoff or",highlight:"subscribe",subtitle:"Use the BuildIG.ai Estimator on a pay-per-use basis for occasional bids, or move to a Command subscription when your volume grows. Subscriptions are cancel-anytime with no lock-in."},faq:{heading:"Professional Estimator",subtitle:"What estimators want to know before trusting AI with their numbers.",items:[{q:"Can I trust the measurements in a bid review?",a:"Yes. Every quantity BuildIG.ai produces is traceable to the exact region of the drawing it came from, so you can audit and defend any number. Accuracy is verified against senior quantity surveyor benchmarks at 99.5%."},{q:"Does BuildIG.ai set my prices?",a:"No â and that is intentional. BuildIG.ai handles the measuring and counting. You apply your own unit costs, labor rates, and markup, so the estimate reflects your judgment and your cost database."},{q:"What drawing formats can I upload?",a:"PDF, DWG, DXF, and common image formats (PNG, JPG). You upload what the architect or engineer sends you â no conversion or re-drawing required."},{q:"Can I use it for just one bid without subscribing?",a:"Yes. The standalone Estimator is pay-per-use, so you can run a single project's takeoff without a subscription. When your volume grows, a Command subscription becomes more economical."},{q:"How do I get the takeoff into my estimating software?",a:"Export the bill of quantities to CSV or Excel and import it into your existing estimating and cost tools. The output is structured for a clean handoff."}]},closingCta:{title:"Stop measuring.",highlight:"Start estimating.",subtitle:"Let BuildIG.ai handle the takeoff so you can price more bids, defend every number, and reclaim your evenings.",button:"Get Started"}},subcontractors:{slug:"subcontractors",nav:"Subcontractors",name:"Subcontractors",eyebrow:"For Trades & Subcontractors",meta:{title:"BuildIG.ai for Subcontractors â Price Your Scope & Find Work",description:"Subcontractors use BuildIG.ai to extract their trade's scope from any plan set, price jobs in minutes, win more bids, and find work on the marketplace. Free marketplace plan, cancel anytime."},hero:{title:"Price Your Scope in Minutes.",highlight:"Win More Work.",subt
1itle:"BuildIG.ai reads the drawings and pulls out only your trade's scope â so you can quote faster, bid on more jobs, and find new work on the marketplace without re-measuring a single plan.",primaryCta:"Get Started",secondaryCta:"See a Trade Takeoff",stats:[{value:"Minutes",label:"To a priced bid"},{value:"Your trade",label:"Scope only, no noise"},{value:"New leads",label:"From the marketplace"}]},intro:{heading:"Only your scope,",highlight:"none of the noise",paragraphs:["When a GC sends over a full plan set, you don't need every page â you need your trade. BuildIG.ai isolates electrical, plumbing, masonry, HVAC, or whatever you install, and hands you clean quantities you can price against your own rates.","Faster, more consistent bids mean you respond before the competition and protect your margins. And when you want more work, the marketplace matches you to jobs in your area."],bullets:["Trade-specific takeoffs from any plan set","Clean bill of quantities ready to price","Find and bid on marketplace jobs","Estimate from a scope of work when plans aren't ready"]},howItWorks:{heading:"From plans to priced bid in 4 steps",subheading:"A workflow built around a single trade, not the whole building.",steps:[{title:"Upload the drawings",desc:"Drop in the PDF plan set the GC sent you â or a scope of work if plans aren't ready yet.",details:["No plans yet? Generate a preliminary estimate from a written scope of work.","Upload the full set â BuildIG.ai will find your trade inside it.","Free marketplace members can browse and bid on posted jobs without uploading."]},{title:"Select your trade",desc:"BuildIG.ai isolates your scope and pulls only the quantities that matter to you.",details:["Electrical, plumbing, masonry, HVAC, concrete and more supported.","Skip the pages that don't apply to you â no wading through the whole set.","Catch scope other bidders miss so your number is more complete."]},{title:"Review the BOQ",desc:"Get a structured bill of quantities you can price against your own labor and material rates.",details:["Apply your own labor and material rates for a bid that reflects real costs.","Consistent, itemized quantities reduce conservative padding.","Export a clean BoM to share with the GC or your crew."]},{title:"Bid and find more",desc:"Submit your quote, then browse marketplace jobs to keep your pipeline full.",details:["The marketplace matches you to jobs in your area by trade and location.","Submit bids directly from your account and track their status.","Bidding on GC projects is always free â you only pay to run takeoffs."]}]},features:{heading:"Built for the way subcontractors bid",subheading:"Stop re-measuring plans by hand. Get trade-ready numbers from one upload.",items:[{title:"Trade-Specific Takeoffs",desc:"Extract only your scope â electrical, plumbing, masonry, HVAC and more â from the full set."},{title:"Faster, Consistent Bids",desc:"Turn drawings into structured quantities so you respond before your competition."},{title:"Marketplace Access",desc:"Get matched to jobs in your area and submit bids directly from your account."},{title:"Clean Handoffs",desc:"Share standardized BOQs and reports with GCs, PMs, and your own crew."},{title:"No Drawings? No Problem",desc:"Generate estimates from a scope of work or job description when plans aren't ready."},{title:"Protect Your Margins",desc:"Cut estimating errors and conservative padding so your numbers stay competitive."}]},pricing:{heading:"Three plans,",highlight:"cancel anytime",subtitle:"Pick the plan that fits your trade and bid volume, or start free on the marketplace. Subscriptions are cancel-anytime â win one extra job and it has already paid for itself."},faq:{heading:"Subcontractor",subtitle:"What trades ask most before their first bid on BuildIG.ai.",items:[{q:"Can BuildIG.ai pull out just my trade?",a:"Yes. Upload the full plan set and select your trade â electrical, plumbing, masonry, HVAC and more â and BuildIG.ai isolates only your scope so you're not wading through pages that don't apply to you."},{q:"What if the GC hasn't sent full drawings yet?",a:"You can generate a preliminary estimate from a scope of work or job description. BuildIG.ai uses data from similar projects to give you realistic quantities before the full set arrives."},{q:"How does the marketplace help me find work?",a:"The marketplace matches you to jobs in your area based on your trade and location. You can review opportunities and submit bids directly from your BuildIG.ai account."},{q:"Can I price the takeoff with my own rates?",a:"Absolutely. BuildIG.ai gives you the quantities and a clean bill of quantities â you apply your own labor and material rates so the bid reflects your real costs and margin."},{q:"Do I have to subscribe to get started?",a:"No. You can start free on the marketplace to find and bid on work, run a one-off takeoff with the pay-per-use Estimator, or subscribe to a Command plan and cancel anytime."}]},closingCta:{title:"Start pricing jobs faster",highlight:"today.",subtitle:"Get trade-specific takeoffs, bid more work, and find new jobs on the marketplace â start free, cancel anytime.",button:"Get Started"}},vendors:{slug:"vendors",nav:"Vendors & Suppliers",name:"Vendors & Suppliers",eyebrow:"For Vendors & Suppliers",meta:{title:"BuildIG.ai for Vendors & Suppliers â Get Matched to Live Bills of Materials",description:"Material vendors and suppliers use BuildIG.ai to list their catalog, get matched to bills of materials from live projects, and send quotes to contractors ready to buy. Free to list."},hero:{title:"Get Matched to Real Projects.",highlight:"Quote in Minutes.",subt
1itle:"BuildIG.ai turns every takeoff into a live bill of quantities â and puts your catalog in front of the contractors buying exactly what you sell. List for free, receive qualified BOQ leads, and send quotes before the competition.",primaryCta:"List Your Catalog Free",secondaryCta:"See How Matching Works",stats:[{value:"Free",label:"To list your catalog"},{value:"Live BoMs",label:"Matched to your products"},{value:"Ready buyers",label:"Contractors mid-bid"}]},intro:{heading:"Reach buyers at the exact",highlight:"moment they're pricing",paragraphs:["Most material sales are lost long before a quote is sent â you simply never hear about the job. BuildIG.ai changes that by matching your catalog to the bills of materials generated from real takeoffs, so you get in front of contractors while they're still pricing the work.","You list what you carry, set your pricing rules, and receive qualified leads for the exact line items you supply. Quote directly through the platform and turn takeoffs into orders without cold outreach."],bullets:["List your full catalog and coverage area for free","Get matched to live bills of materials by line item","Send quotes to contractors while they're still bidding","Win recurring orders from firms that reuse your pricing"]},howItWorks:{heading:"From catalog to closed order in 4 steps",subheading:"Stop chasing leads. Let the bills of materials come to you.",steps:[{title:"List your catalog",desc:"Add the products you carry, your regions served, and your pricing rules â free to set up.",details:["Import your catalog or add SKUs manually with units and pricing.","Define the regions and project types you want leads from.","Listing your catalog and coverage area is always free."]},{title:"Get matched to live BoMs",desc:"BuildIG.ai matches your products against bills of materials from active takeoffs in your area.",details:["Matching happens at the line-item level, not just broad categories.","You only see leads for materials you actually supply.","Leads are qualified â they come from real projects being priced now."]},{title:"Send your quote",desc:"Respond to matched line items with pricing and availability, directly through the platform.",details:["Quote individual line items or the full material package.","Set lead times and stock availability so contractors can plan.","Save pricing templates to respond to new leads in seconds."]},{title:"Win the order",desc:"Contractors compare quotes and buy â then reuse your pricing on future bids and projects.",details:["Get chosen on value and availability, not just cold-call timing.","Firms that like your pricing pull you into future takeoffs automatically.","Build recurring supply relationships without ongoing prospecting."]}]},features:{heading:"Built to turn takeoffs into orders",subheading:"Put your catalog where the buying decisions actually happen.",items:[{title:"Line-Item Matching",desc:"Your products are matched to the exact BoM lines contractors are pricing, not vague categories."},{title:"Free Catalog Listing",desc:"List everything you carry and your coverage area at no cost â you only invest when you quote."},{title:"Qualified BoM Leads",desc:"Every lead comes from a real project being estimated, so you're never chasing dead ends."},{title:"In-Platform Quoting",desc:"Send pricing, lead times, and availability without leaving BuildIG.ai or emailing back and forth."},{title:"Recurring Relationships",desc:"Contractors reuse pricing they trust, turning one quote into a stream of repeat orders."},{title:"Regional Targeting",desc:"Only receive leads for the products and service areas you actually cover."}]},pricing:{heading:"Free to list,",highlight:"pay to grow",subtitle:"List your catalog and receive matched bill-of-materials leads for free. Upgrade to a verified supplier profile for priority placement and unlimited quoting when you're ready to scale."},faq:{heading:"Vendor & Supplier",subtitle:"What material suppliers ask before listing on BuildIG.ai.",items:[{q:"How much does it cost to list?",a:"Listing your catalog and coverage area is completely free. You receive matched bill-of-materials leads at no cost, and only upgrade to a verified profile when you want priority placement and unlimited quoting."},{q:"How does BuildIG.ai match me to projects?",a:"When a contractor or estimator runs a takeoff, BuildIG.ai produces a structured bill of quantities. We match those line items against your listed catalog and service area, so you receive leads only for products you actually supply in regions you cover."},{q:"Are these leads real, active projects?",a:"Yes. Every lead originates from a real project being priced on BuildIG.ai â not a scraped list. You're reaching contractors at the exact moment they're deciding what to buy."},{q:"How do I send a quote?",a:"You respond to matched line items directly in the platform with your pricing, lead times, and availability. You can save pricing templates to respond to new leads in seconds."},{q:"What does a verified supplier profile add?",a:"Verified suppliers get priority placement in match results, unlimited quoting, richer catalog pages, and analytics on how their pricing compares â so you win more of the orders you're matched to."}]},closingCta:{title:"Your next order is",highlight:"being priced right now.",subtitle:"List your catalog for free and start receiving matched bill-of-materials leads from contractors who are ready to buy what you sell.",button:"List Your Catalog Free"}},homeowners:{slug:"homeowners",nav:"Homeowners",name:"Homeowners",eyebrow:"For Homeowners",meta:{title:"BuildIG.ai for Homeowners â Know Your Build Cost & Find Trusted Pros",description:"Homeowners use BuildIG.ai to understand what their renovation or build should really cost with local pricing data, and to connect with vetted professionals. No jargon, just clarity."},hero:{title:"Know What Your Project",highlight:"Should Really Cost.",subtitle:"BuildIG.ai turns your plans or project description into a clear, itemized cost estimate using real local pricing â then connects you with vetted professionals. No jargon, no guesswork, no sales pressure.",primaryCta:"Estimate My Project",secondaryCta:"See an Example Estimate",stats:[{value:"Local",label:"Real regional pricing"},{value:"Itemized",label:"See where money goes"},{value:"Vetted",label:"Trusted pros only"}]},intro:{heading:"Clarity before you",highlight:"spend a dollar",paragraphs:["Starting a renovation or build is stressful when you have no idea what it should cost. BuildIG.ai gives you an itemized estimate based on real local pricing, so you walk into contractor conversations already knowing the numbers.","No construction jargon, no inflated quotes you can't sanity-check. Understand your budget, compare bids with confidence, and connect only with professionals who have been vetted."],bullets:["Understand your build or renovation cost up front","Itemized breakdown in plain language","Compare contractor quotes with confidence","Connect with vetted, trusted professionals"]},howItWorks:{heading:"From idea to confident budget in 4 steps",subheading:"You don't need to speak construction. BuildIG.ai translates for you.",steps:[{title:"Tell us about your project",desc:"Upload plans if you have them, or just describe what you want to build or renovate in plain words.",details:["No architectural plans required â a plain-language description is enough.","Have drawings? Upload them for a more detailed, precise estimate.","Kitchen remodel, addition, new build â any residential project works."]},{title:"Get an itemized estimate",desc:"BuildIG.ai applies real local pricing and returns a clear, line-by-line cost breakdown.",details:["Uses real regional material and labor pricing, not national averages.","Every line item is explained in plain language, with no construction jargon.","Delivered as a clear report you can save and revisit anytime."]},{title:"Understand your budget",desc:"See where the money goes so you can prioritize, adjust scope, and plan with confidence.",details:["See which parts of the project drive the most cost.","Adjust scope and priorities before you commit a single dollar.","Walk into contractor conversations already knowing the numbers."]},{title:"Connect with vetted pros",desc:"Get matched with trusted professionals in your area and compare their quotes against your estimate.",details:["Every professional in the network is screened before they can connect.","Compare real quotes against your independent estimate to spot overcharging.","No sales pressure â pros only reach out when you choose to connect."]}]},features:{heading:"Everything you need to plan with confidence",subheading:"Built for people who want answers, not a sales pitch.",items:[{title:"Real Local Pricing",desc:"Estimates use regional material and labor costs, not national averages that miss your market."},{title:"Plain-Language Breakdown",desc:"Every line item explained without the jargon, so you actually understand your budget."},{title:"Quote Comparison",desc:"Hold contractor bids up against an independent estimate to spot overcharging."},{title:"Vetted Professionals",desc:"Connect only with pros who have been screened, so you hire with peace of mind."},{title:"No Plans Needed",desc:"Just describe the project â BuildIG.ai can estimate from a description alone."},{title:"No Sales Pressure",desc:"Get the numbers on your own terms. Nobody calls you unless you ask them to."}]}
1,pricing:{heading:"Simple, honest",highlight:"pricing",subtitle:"Get an estimate for your project and connect with vetted professionals. Explore the options below to find what fits your project."},faq:{heading:"Homeowner",subtitle:"The questions homeowners ask before starting a project with BuildIG.ai.",items:[{q:"Do I need architectural plans to get an estimate?",a:"No. If you have plans, upload them for the most detailed estimate. If you don't, you can simply describe your renovation or build and BuildIG.ai will generate an estimate using data from similar projects."},{q:"How accurate is the cost estimate?",a:"BuildIG.ai uses real regional material and labor pricing rather than national averages, so your estimate reflects what things actually cost in your area. It's designed to give you a confident budgeting range before you talk to contractors."},{q:"Will contractors start calling me?",a:"Only if you want them to. BuildIG.ai gives you the numbers privately. You choose when and whether to connect with vetted professionals â there's no sales pressure."},{q:"How do I know the professionals are trustworthy?",a:"The pros in our network are screened before they can connect with homeowners, so you can compare quotes and hire with peace of mind."},{q:"Can I use my estimate to check a quote I already have?",a:"Yes. Many homeowners use their BuildIG.ai estimate as an independent benchmark to compare against contractor quotes and spot pricing that seems too high."}]},closingCta:{title:"Plan your project",highlight:"with confidence.",subtitle:"Get a clear, itemized estimate with real local pricing and connect with vetted professionals â no jargon, no pressure.",button:"Estimate My Project"}}};e.s(["AUDIENCES",0,t,"AUDIENCE_ORDER",0,["contractors","subcontractors","estimators","vendors"]])},318461,6356,e=>{"use strict";var t=e.i(843476),a=e.i(522016),r=e.i(618566),o=e.i(491608);let i={"how-it-works":"How It Works",features:"Features",pricing:"Pricing",faq:"FAQ",solutions:"Solutions",blog:"Blog",calculator:"Calculator","estimation-tool":"Estimation Tool",marketplace:"Marketplace",walkthrough:"Walkthrough",demo:"Demo"};function n(e){return e.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}function s(e){return e?[{href:`/how-it-works/${e}`,label:"How it works"},{href:`/features/${e}`,label:"Features"},{href:`/pricing/${e}`,label:"Pricing"},{href:`/faq/${e}`,label:"FAQ"}]:[{href:"/how-it-works",label:"How it works"},{href:"/solutions",label:"Solutions"},{href:"/pricing",label:"Pricing"},{href:"/faq",label:"FAQ"},{href:"/blog",label:"Blog"},{href:"/calculator",label:"Calculator"}]}e.s(["Breadcrumbs",0,()=>{let e=((0,r.usePathname)()??"/").split("/").filter(Boolean);if(0===e.length)return null;let s=[{label:"Home",href:"/"}],l=e[0],u=e[e.length-1];if(1===e.length&&o.AUDIENCE_ORDER.includes(l))s.push({label:o.AUDIENCES[l].nav,href:`/${l}`});else if(e.length>=2&&o.AUDIENCE_ORDER.includes(u)){let t=e[0];s.push({label:o.AUDIENCES[u].nav,href:`/${u}`}),s.push({label:i[t]??n(t),href:`/${t}/${u}`})}else{let t="";for(let a of e)t+=`/${a}`,s.push({label:i[a]??n(a),href:t})}return(0,t.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0",children:(0,t.jsx)("ol",{className:"flex items-center flex-wrap gap-x-2 gap-y-1 text-[11px] font-black uppercase tracking-[0.18em]",children:s.map((e,r)=>{let o=r===s.length-1;return(0,t.jsxs)("li",{className:"flex items-center gap-2 min-w-0",children:[r>0&&(0,t.jsx)("span",{className:"text-zinc-600","aria-hidden":"true",children:"/"}),o?(0,t.jsx)("span",{className:"text-[#FCD109] truncate","aria-current":"page",children:e.label}):(0,t.jsx)(a.default,{href:e.href,className:"text-zinc-400 hover:text-[#FCD109] transition-colors whitespace-nowrap",children:e.label})]},e.href)})})})}],318461),e.s(["getNavLinks",()=>s],6356)},382705,e=>{"use strict";let t="https://app.buildig.ai".replace(/\/$/,""),a={login:`${t}/login`,register:`${t}/register`};function r(){return a.login}let o={"essential gc":"essential","advanced gc":"advanced","premium gc":"premium","essential trade":"essential","advanced trade":"advanced","premium trade":"premium","professional estimator":"estimator",estimate:"trade-analysis","full blueprint analysis":"full-blueprint-analysis","homeowner project analysis":"homeowner",homeowner:"homeowner","catalog listing":"catalog-listing","verified supplier":"verified-supplier","free â marketplace":"free-marketplace","free marketplace":"free-marketplace",essential:"essential",advanced:"advanced",premium:"premium",estimator:"estimator","trade-analysis":"trade-analysis","full-blueprint-analysis":"full-blueprint-analysis"};function i(e,t="monthly"){let r;if(!e)return a.register;let n=new URLSearchParams({plan:function(e){let t=e.trim().toLowerCase().replace(/\s+/g," ");
1if(o[t])return o[t];let a=t.match(/\b(essential|advanced|premium)\b/);return a?a[1]:t.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}(e),billing:t}),s=(r=e.trim().toLowerCase()).includes("homeowner")||"homeowner"===r?"homeowner":/\bgc\b/.test(r)||r.includes("general contractor")?"gc":/\btrade\b/.test(r)||r.includes("subcontractor")?"trade":r.includes("estimator")||"estimate"===r||r.includes("blueprint analysis")||"trade-analysis"===r||"full-blueprint-analysis"===r?"estimator":r.includes("catalog")||r.includes("supplier")||r.includes("vendor")?"vendor":r.includes("marketplace")?"marketplace":null;return s&&n.set("role",s),`${a.register}?${n.toString()}`}e.s(["APP_BASE_URL",0,t,"HIGHLANDS_GATE_EXAMPLE",0,{fileName:"Luxury Home - Highlands Gate Estate (Expert Verified)",timestamp:"11 November 2025 - Verified by Markus Senekal, BTech QS",bom:[{division:"04 20 00",item:"Face Brick Masonry",unit:"EA",qty:"42,150",notes:"Verified 97.8% Accuracy (Incl. conservative waste)"},{division:"03 30 00",item:"Cast-in-Place Concrete (1st Floor)",unit:"CY",qty:"112.40",notes:"Verified 97.5% Accuracy (Reinforcement estimated)"},{division:"06 11 00",item:"Timber Roof Trusses",unit:"LS",qty:"1",notes:"Verified 98.0% Accuracy (Coverage padded for waste)"},{division:"07 61 00",item:"Roof Sheeting (Metal)",unit:"SF",qty:"6,840",notes:"Verified 97.6% Accuracy (Built-in waste factor)"},{division:"26 51 00",item:"Electrical Outlets & Switches",unit:"EA",qty:"148",notes:"Verified 86.8% Accuracy (Missing detail in drawings)"},{division:"22 41 00",item:"Plumbing Fixture Package",unit:"SET",qty:"14",notes:"Verified 76.5% Accuracy (Pipe runs estimated)"},{division:"09 91 00",item:"Exterior Stone Cladding",unit:"SF",qty:"1,120",notes:"Verified 97.3% Accuracy (Aligned with wall areas)"},{division:"LAB-01",item:"Subcontractor Labor (Crew Hours)",unit:"HR",qty:"3,240",notes:"Verified 97.7% Accuracy (Market rate consistent)"}],reportSummary:{scope:"Luxury Residential Structure including Framing, Structure, Roofing, Exterior Enclosure, and full MEP Scopes.",assumptions:["Average Accuracy: ~93.34% Across all Scopes","Expected Final Accuracy: >= 99% with complete drawing sets","Verified by BTech QS with Data Center/Infrastructure Expertise"],riskFlags:["MEP Gaps: Gaps identified in mechanical/electrical detail leading to estimations","Conservative Bias: System tends toward slight over-calculation in structural phases to prevent under-bidding","Missing Info: Reinforcement steel estimated without final engineer drawings"]}},"getLoginUrl",()=>r,"getRegisterUrl",()=>i])},551175,e=>{"use strict";var t=e.i(843476);e.s(["Logo",0,({size:e="md",chip:a=!1})=>{let{width:r,height:o}={sm:{width:132,height:38},md:{width:176,height:51},lg:{width:240,height:69}}[e],i=(0,t.jsx)("img",{src:"/images/buildigai-logo.svg",alt:"BuildIG.ai â Build Intelligence Group",width:r,height:o,className:"block",decoding:"async",fetchPriority:"high"});return a?(0,t.jsx)("span",{className:"inline-flex items-center rounded-lg bg-white px-3 py-1.5 shadow-sm ring-1 ring-black/5 transition-transform duration-300 ease-out hover:scale-[1.02]",children:i}):(0,t.jsx)("span",{className:"inline-flex transition-transform duration-300 ease-out hover:scale-[1.02]",children:i})}])},233525,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},998183,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in r)Object.defineProperty(a,o,{enumerable:!0,get:r[o]});function i(e){let t={};for(let[a,r]of e.entries()){let e=t[a];void 0===e?t[a]=r:Array.isArray(e)?e.push(r):t[a]=[e,r]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[a,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(a,n(e));else t.set(a,n(r));return t}function l(e,...t){for(let a of t){for(let t of a.keys())e.delete(t);for(let[t,r]of a.entries())e.append(t,r)}return e}},195057,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(a,o,{enumerable:!0,get:r[o]});let i=e.r(190809)._(e.r(998183)),n=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:a}=e,r=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:a&&(u=t+(~a.indexOf(":")?`[${a}]`:a),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||n.test(r))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},818581,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(271645);function o(e,t){let a=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=a.current;e&&(a.current=null,e());let t=o.current;t&&(o.current=null,t())}
1else e&&(a.current=i(e,r)),t&&(o.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},718967,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return w},SP:function(){return f},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return n},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return S}};for(var o in r)Object.defineProperty(a,o,{enumerable:!0,get:r[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,a=!1;return(...r)=>(a||(a=!0,t=e(...r)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:a}=window.location;return`${e}//${t}${a?":"+a:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(a&&p(a))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}let f="undefined"!=typeof performance,g=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class w extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(718967),o=e.r(652817);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,o.hasBasePath)(a.pathname)}catch(e){return!1}}},284508,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},522016,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return w}};for(var o in r)Object.defineProperty(a,o,{enumerable:!0,get:r[o]});let i=e.r(190809),n=e.r(843476),s=i._(e.r(271645)),l=e.r(195057),u=e.r(8372),c=e.r(818581),d=e.r(718967),p=e.r(405550);e.r(233525);let h=e.r(91949),m=e.r(573668),f=e.r(509396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var a;let r,o,i,[l,y]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:v,as:k,children:S,prefetch:C=null,passHref:E,replace:I,shallow:j,scroll:P,onClick:G,onMouseEnter:B,onTouchStart:q,legacyBehavior:x=!1,onNavigate:A,ref:M,unstable_dynamicOnHover:F,...T}=t;r=S,x&&("string"==typeof r||"number"==typeof r)&&(r=(0,n.jsx)("a",{children:r}));let N=s.default.useContext(u.AppRouterContext),L=!1!==C,R=!1!==C?null===(a=C)||"auto"===a?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:O,as:D}=s.default.useMemo(()=>{let e=g(v);return{href:e,as:k?g(k):e}},[v,k]);if(x){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>
1` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(r)}let _=x?o&&"object"==typeof o&&o.ref:M,U=s.default.useCallback(e=>(null!==N&&(w.current=(0,h.mountLinkInstance)(e,O,N,R,L,y)),()=>{w.current&&((0,h.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,h.unmountPrefetchableInstance)(e)}),[L,O,N,R,y]),W={ref:(0,c.useMergedRef)(U,_),onClick(t){x||"function"!=typeof G||G(t),x&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!N||t.defaultPrevented||function(t,a,r,o,i,n,l){if("undefined"!=typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(a)){i&&(t.preventDefault(),location.replace(a));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(699781);s.default.startTransition(()=>{d(r||a,i?"replace":"push",n??!0,o.current)})}}(t,O,D,w,I,P,A)},onMouseEnter(e){x||"function"!=typeof B||B(e),x&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),N&&L&&(0,h.onNavigationIntent)(e.currentTarget,!0===F)},onTouchStart:function(e){x||"function"!=typeof q||q(e),x&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),N&&L&&(0,h.onNavigationIntent)(e.currentTarget,!0===F)}};return(0,d.isAbsoluteUrl)(D)?W.href=D:x&&!E&&("a"!==o.type||"href"in o.props)||(W.href=(0,p.addBasePath)(D)),i=x?s.default.cloneElement(o,W):(0,n.jsx)("a",{...T,...W,children:r}),(0,n.jsx)(b.Provider,{value:l,children:i})}e.r(284508);let b=(0,s.createContext)(h.IDLE_LINK_STATUS),w=()=>(0,s.useContext)(b);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},82379,e=>{"use strict";var t=e.i(271645);let a="buildig:persona",r="buildig:persona-change",o={contractors:{slug:"contractors",label:"General Contractors",href:"/contractors",greeting:"Welcome back! Ready to turn a full plan set into a bid? I can walk you through takeoffs, sub coordination, or scheduling â where do you want to start?"},estimators:{slug:"estimators",label:"Estimators",href:"/estimators",greeting:"Ready for takeoff. I can help you get an auditable quantity takeoff in minutes, or explain pay-per-use vs. subscription pricing. What do you need?"},subcontractors:{slug:"subcontractors",label:"Subcontractors",href:"/subcontractors",greeting:"Welcome back! Want to price your trade's scope or find new work on the marketplace? I can point you the right way."},vendors:{slug:"vendors",label:"Vendors & Suppliers",href:"/vendors",greeting:"Welcome back! I can explain how to list your catalog for free and get matched to live bills of materials from contractors ready to buy."},homeowners:{slug:"homeowners",label:"Homeowners",href:"/homeowners",greeting:"Welcome back! Want to understand what your project should cost with real local pricing, or connect with vetted pros? I'm here to help â no jargon."}};function i(e){return!!e&&e in o}function n(){try{let e=window.localStorage.getItem(a);return i(e)?e:null}catch{return null}}function s(e){try{window.localStorage.setItem(a,e),window.dispatchEvent(new CustomEvent(r,{detail:e}))}catch{}}function l(){try{window.localStorage.removeItem(a),window.dispatchEvent(new CustomEvent(r,{detail:null}))}catch{}}function u(){let[e,o]=(0,t.useState)(null);return(0,t.useEffect)(()=>{o(n());let e=e=>{let t=e.detail;o(i(t)?t:null)},t=e=>{e.key===a&&o(i(e.newValue)?e.newValue:null)};return window.addEventListener(r,e),window.addEventListener("storage",t),()=>{window.removeEventListener(r,e),window.removeEventListener("storage",t)}},[]),e}e.s(["PERSONA_META",0,o,"clearPersona",()=>l,"getPersona",()=>n,"setPersona",()=>s,"usePersona",()=>u])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.