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.
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.
Project · Downtown Office Renovation
Drywall — Building A, Levels 3–5
Bids
5
Low
$142k
Average
$158k
Spread
$31k
Measurements
- GWB — Level 22,340 sqft
- Cove base128 ft
- Doors12 ea
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.
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.
Plans v3
5 documents · visible to invited 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
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.
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.
Revenue
$842,500
Expense
$612,300
Net (P&L)
+$230,200
Project schedule · Q2–Q3
6 tasks
- Sitework & excavation
- Foundation pour
- Structural steel
- MEP rough-in
- Drywall & finishes
- Punch & closeout
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.
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.
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.
01
Post project
Create the project + bid packages by trade.
02
Invite + bid
Invite subs (platform or email). They submit bids.
03
Level + award
Compare side-by-side. Award one — others auto-rejected.
04
Contract + COs
Draft the subcontract from the award; sign via DocuSeal or upload. Change orders bilateral.
05
Payments + finance
Pay subs via ACH; payments roll into project P&L automatically.
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.