Product

Everything you need to run a commercial job. One workspace, three pillars.

Construpilot collapses the marketplace, document hub, and project finance into a single tenanted workspace. No more juggling PlanHub for bids, Procore for documents, and QuickBooks for accounting.

Marketplace

Find the right sub, level the bids, award the work.

Post a project, build bid packages by trade, and invite subs from a nationwide pool. Level the bids side-by-side, then award — the contract is one click away.

  • 39 CSI MasterFormat trades

    Pre-seeded catalog, Divisions 02–33. Subs surface for their primary trade automatically.

  • Bid invitations + RFIs

    Invite platform subs or by raw email. Subs raise RFIs against the package; you answer in-app.

  • Side-by-side leveling

    Stats (count / low / avg / spread), delta vs low, shortlist / reject / award actions.

  • Award → contract

    Awarding a bid auto-drafts the subcontract from the package — no re-entry.

  • Built-in cost estimator

    Build a fast project estimate from your cost book — blended with your real bid averages. Optionally let AI read a scope PDF and itemize it; pricing always comes from your cost book.

construpilot.com/projects/.../bid-packages

Project · Downtown Office Renovation

Drywall — Building A, Levels 3–5

Awarded

Bids

5

Low

$142k

Average

$158k

Spread

$31k

SubAmountvs lowStatus
Sunshine Drywall Co$142,000lowestShortlisted
Atlantic Interiors$151,200+$9,200Submitted
Reliant Build Group$158,400+$16,400Awarded
Gulfstream Finishes$167,500+$25,500Submitted
construpilot.com/projects/.../takeoff
SelectCalibrateLinearAreaCount
2,340 sqft128 ft123

Measurements

  • GWB — Level 22,340 sqft
  • Cove base128 ft
  • Doors12 ea
Send to Estimator
Scale: 1 ft ≈ 12.4 pxA-101 · Level 2

Takeoff & Estimating

Measure the plans. Price the job. No re-typing.

Open a drawing straight from the Doc Hub, set the scale once, then draw your measurements. Quantities compute as you go and flow into the estimator — priced from your cost book and your real bid averages.

  • Calibrate the scale

    Draw one known dimension and every measurement after it reads in real feet — no per-sheet fiddling.

  • Linear, area & count

    Trace runs, outline rooms, and drop count markers. Lengths, areas, and tallies compute live.

  • Quantities → Estimator

    Send measured quantities straight to the estimator; pricing comes from your cost book, blended with real bid data.

  • Works with your plans

    Runs on the PDFs and images already in your Doc Hub — no separate takeoff upload.

Every trade

A nationwide pool, sorted by what you actually need.

Subs surface by their CSI MasterFormat primary trade — drywall, electrical, mechanical, concrete, and 35 more — so the invite list is short, relevant, and bid-ready.

Electrical conduit rough-in
Electrical
Drywall hung on metal studs
Drywall & framing
Mechanical ductwork in ceiling
Mechanical
Concrete formwork at slab edge
Concrete
construpilot.com/projects/.../documents

Plans v3

5 documents · visible to invited subs

Visible to subs
  • A-101 — Floor Plan Level 3.pdf4.2 MB · today
  • CGC permit — fire alarm.pdf880 KB · yesterday
  • IMG_0421.jpg2.1 MB · 2d ago
  • M-201 — HVAC Schedule.pdf3.0 MB · 4d ago
  • Spec section 09 24 — Stucco.pdf1.4 MB · 1w ago

Document Hub

One canonical place per project. Browser-grade preview.

Plans, RFIs, submittals, permits, photos — all uploaded direct-to-R2 from the browser, organized in folders, previewed inline. Granular sharing per folder to invited subs.

  • Folder tree per project

    Create, rename, nest. Each folder has a per-folder toggle for sub visibility.

  • Direct-to-R2 uploads

    Browser PUTs straight to Cloudflare R2 via signed URLs. 100 MB cap per file, configurable.

  • PDF & image preview

    Inline iframe preview for PDFs, native render for images. Short-lived signed download URLs.

  • RLS-isolated by org

    Postgres RLS is the source of truth: subs only see what their invite + folder visibility allows.

Project Finance

Revenue, expense, budget vs actual — per project.

Each org keeps its own ledger, even on a shared project. Recorded transactions are immutable; corrections post offsetting rows. Every state change writes to audit_log.

  • Per-project P&L

    Revenue and expense roll up by project; net updates live as transactions land.

  • Budget vs actual

    Set budgets per category; variance turns red automatically when you blow the line.

  • Immutable ledger

    Recorded transactions never edit — reversals create offsetting rows. Full audit history.

  • 8 default categories

    Materials, Labor, Equipment, Subcontractor, Permits, Insurance, Overhead, Other — extensible.

construpilot.com/projects/.../finance

Revenue

$842,500

Expense

$612,300

Net (P&L)

+$230,200

Budget vs actual
CategoryBudgetActualVariance
Materials$220,000$198,400+$21,600
Labor$140,000$152,800-$12,800
Subcontractor$310,000$241,000+$69,000
Permits & Fees$18,000$17,200+$800
construpilot.com/projects/.../schedule

Project schedule · Q2–Q3

6 tasks

  • Sitework & excavation
  • Foundation pour
  • Structural steel
  • MEP rough-in
  • Drywall & finishes
  • Punch & closeout
Done In progress Planned Today

Schedule

A real construction schedule — Gantt, dependencies, progress.

Plan the job as phases on a timeline. Each task has a start/end, a status, a progress %, and an optional dependency. A live 'today' line shows where the job stands at a glance — no MS Project license required.

  • Gantt timeline

    Bars positioned across the project date range, color-coded by status, with a progress fill.

  • Task dependencies

    Mark a task as starting after another — the schedule shows the chain.

  • Calendar view + task links

    See the month at a glance alongside the Gantt, and link any task to a drawing or bid package.

  • Click-to-edit progress

    Open a task to edit its dates, status, and progress; a live today line keeps slippage obvious.

Field & portfolio

Every job on the map. Every day on the log.

Construpilot isn’t just the back office — it covers the field and the portfolio view too.

Project map

Job-site addresses are geocoded automatically. The interactive map shows status-colored pins you can click for a popup card, alongside a static portfolio map of every site.

Daily logs

Weather, crew count, hours, work performed, delays, and safety incidents — logged per day. Subs you’ve contracted can post their own logs too.

RFIs & change orders

Auto-numbered RFIs (RFI-001) with cost/schedule impact, and bilateral change orders that flow straight into committed cost.

The flow

From posting a project to wiring the last payment — one workspace.

Each step lives in the same tenanted workspace, with shared identity, audit, and finance rolling up automatically.

  1. 01

    Post project

    Create the project + bid packages by trade.

  2. 02

    Invite + bid

    Invite subs (platform or email). They submit bids.

  3. 03

    Level + award

    Compare side-by-side. Award one — others auto-rejected.

  4. 04

    Contract + COs

    Draft the subcontract from the award; sign via DocuSeal or upload. Change orders bilateral.

  5. 05

    Payments + finance

    Pay subs via ACH; payments roll into project P&L automatically.

Plus the unglamorous stuff that matters

The boring details, done right.

Magic-link auth

No passwords to leak. Supabase Auth with custom Resend SMTP.

Real ACH payments

GC pays via Stripe; the platform keeps 1.5% and the rest auto-transfers to the sub.

Global search (⌘K)

Jump to any project, contract, document, or bid package from anywhere.

Finance export

One-click CSV of transactions; print-to-PDF of the project P&L.

Email + in-app notifications

Bid received, contract to sign, payment settled — in-app and by email.

Immutable audit log

Every payment, contract, and finance state change is recorded — before/after.

Branded reports & PDFs

RFIs, change orders, finance and full project reports print with your logo.

Change orders without friction

Raise a CO with or without a contract, numbered your way — into committed cost.

Multi-tenant RLS

Postgres row-level security is enforced at the database, not the app.

Stop running your jobs out of spreadsheets.

Spin up your workspace, post a project, and invite your subs in under 10 minutes.