Static site — no Python or Streamlit server on your PC. Keep this folder under your project path
(e.g. Z:\gt_dev\five_star\web). Your web host maps site root Z:\get_dev to
https://smb.a1prospect.com — mirror or publish the web folder under that root so the
URL matches your IT layout (example: /gt_dev/five_star/web/). Users open the page in a browser, pick files
from their computer, then download outputs.
?
What
This page runs entirely in the browser; files are read locally and nothing is uploaded to BidForge servers.
Why
Matches a simple static host on your Z drive without running a local web server.
How
Ask IT for the exact HTTPS path that corresponds to web\index.html. PDF text uses a CDN script
(pdf.js); allow that script if your security policy blocks CDNs.
BidForge Pro v2 - Five Star Painting
Browser workflow: takeoff CSV/JSON + spec PDF/TXT → draft proposal and project plan.
?
What
You provide quantities (takeoff) and specification text (to detect MPI paint systems). The page applies calibrated labor,
material, overhead, margin, and contingency rules, then lets you download a proposal and data files.
Why
Speeds a consistent first pass; you still review every line before any formal submission.
How
Fill Project fields, attach files (or use the sample takeoff), click Run, then use Results downloads.
Project
?
What
Inputs that label the job and steer the pricing model (labor basis, relationship, risk bucket).
Why
These values feed the math engine and file names; they do not replace your professional judgment on final price.
?
What
The name shown on the proposal header and used in downloaded file names.
Why
Keeps exports organized when you run many bids; helps match files to the GC job in your drive.
How
Use the GC job name, invitation ID, or your internal job number—avoid characters that break file names if possible.
?
What
Tells the model how aggressive margin can be: strong uses a lower target margin; medium and
new use a higher cushion (new is treated like medium in the formula).
Why
Repeat clients and known payers often justify tighter pricing; cold relationships carry more risk.
How
Pick the option that best describes payment history and relationship; adjust final price after review.
?
What
Chooses loaded hourly rates for union (NJ prevailing style) vs open-shop in the built-in rate table.
Why
Fully burdened labor is usually the largest cost bucket; wrong basis skews the entire bid.
How
Match how you intend to execute—your own crews, subs, and any PLA requirements on the job.
?
What
Short description used for risk logic. If the text contains hospital (case-insensitive), the model adds a
higher contingency factor.
Why
Healthcare-type work often has stricter specs, infection control, and rework risk than typical commercial TI.
How
Type e.g. commercial, school, or hospital wing as appropriate.
Documents (from your machine)
?
What
The takeoff file supplies paintable square feet; the spec file or pasted text lets the tool find MPI system
references.
Why
Without SF there is no quantity driver; without spec text the tool falls back to default MPI systems.
How
Browsers cannot silently read Z:\...; use Browse and select files you already saved from the portal or
estimating tool. You may upload a .zip for takeoff and/or specs (see each file’s ? help).
Browsers cannot read a server path directly; use Browse to choose files. Leave takeoff empty to use the
built-in sample. ZIP takeoff: merges every .csv/.json that has sqft.
ZIP spec: merges text from all PDFs/TXTs (page and size caps apply—see ? help).
?
What
A table with at least one column named sqft (case-insensitive), or a ZIP with one or
more such .csv / .json files (any folder path).
Why
Total SF drives labor hours, gallons, and rolled-up pricing in this model.
How (ZIP)
Every readable takeoff file with a sqft column is merged into one project (sorted by
path). Each row gets _bidforge_source so you know which file it came from. Files that fail to parse or
lack sqft are skipped.
How (loose file)
Export CSV/JSON from your takeoff tool. Leave blank to run the demo takeoff.
?
What
Painting spec (often Division 09) as PDF or TXT, or a ZIP with the whole bid document set
(specs, drawings, cut sheets, etc.).
Why
Material logic keys off MPI strings found in all extracted text—closer to a full-project read than a single
file.
How (ZIP)
Every .pdf and .txt in the archive is processed: hint order (e.g. spec,
09, paint) first, then alphabetical. Text is concatenated. Each PDF is limited to
300 pages; total combined text about 3M characters (then truncated) so browsers
stay responsive. Image-only PDFs still contribute little—add TXT where needed.
How (loose file)
Upload one PDF or TXT; use the paste box if extraction fails.
?
What
Free text merged with anything read from the PDF. Use snippets straight from the spec viewer or Word.
Why
Many bid PDFs are image-based or have garbled text; pasting preserves MPI strings the search needs.
How
Copy paragraphs that list coating systems; include exact MPI identifiers as they appear in the contract.
?
What
Runs the full calculator in your browser: labor crew/days estimate, materials from MPI table, overhead, margin,
contingency, then prepares downloads.
Why
Produces a consistent draft package you can review against your manual estimate.
How
Click after selecting inputs; wait for the Results section to appear; verify totals before any client-facing
submission.
Results
?
What
Outputs from the last Run: model total, summary JSON preview, and download actions.
Why
Lets you move numbers into your proposal template, accounting, or the GC portal after review.
How
“Open proposal” previews HTML; use Print to PDF if you need a PDF. JSON is the structured project plan;
CSV echoes the takeoff you ran.
Model total (review before submission):
?
What
Single rolled-up number from the internal formula—not a guaranteed market price.
Why
Useful for sanity checks and drafts; GCs and owners still expect your formal breakdown and terms.
Summary (labor, materials, crew, days, systems):
?
What
A quick read-only snapshot of key outputs. The full plan is in the JSON download.
Why
Confirms which MPI systems were picked up and the crew/day assumptions baked into labor.
?
What
Opens the draft proposal HTML in a new browser tab for proofreading.
Why
Fast review before saving; use browser Print to PDF for a client PDF if needed.
?
What
Saves the same proposal as an HTML file to your Downloads or chosen folder.
Why
Email or archive a version that matches the numbers from this run.
?
What
Converts the proposal HTML to a Word document in your browser (html-docx-js).
Why
GCs and owners often want .docx for redlines. Complex tables may need cleanup in Word; for a native export use the Streamlit/Python run with python-docx.
?
What
Machine-readable project record: totals, MPI list, and takeoff rows.
Why
Useful for backups, importing into other tools, or audit trails—not for direct upload to most GC portals.
?
What
Comma-separated file of the takeoff rows used in the run (sample or uploaded).
Why
Lets you open in Excel, attach to the job folder, or compare to your source takeoff.
Open the HTML proposal and use Print → Save as PDF if you need a PDF file.