BlueCollar Cloud · Prepared for Kelso Industries

Quote Goat Platform Program 2027

Every feature in the program: what it delivers, what it costs, what is deliberately excluded, and what could extend the effort. Concept screens are linked on the features that have them; the working product is designed with your teams, feature by feature. Browse all concept screens ↗

Program subtotal: 6,490 hrs · $973,500, T&M at $150/hr, not to exceed in aggregate, billed monthly as incurred  Â·  Platform foundation & security: $0, BlueCollar's investment  Â·  Seat licensing presented separately
How the pricing works: The program total is a not-to-exceed cap in aggregate. Contingency is inside every estimate, hours can shift between features without moving the cap, and a program that comes in under bills the lower number. If a capability is not listed under In scope for a feature, it is not in the price. The priced options listed under each feature are built only if you ask and added by signed change order; each selected option raises the aggregate cap by its listed amount. Every feature includes two structured feedback rounds after demo (defect fixes are always inside the price); further design rounds are priced options. Each feature also states the assumptions its price relies on; if one turns out different, we flag it and agree on the adjustment before spending.

Contents

Feature 1 Estimating Decision Support355 hrs · $53,250 Feature 2 Change Orders645 hrs · $96,750 Feature 3 Production Units Capture (Desktop)460 hrs · $69,000 Feature 4 Live Cost: Budget vs. Actuals860 hrs · $129,000 Feature 5 NetSuite Sync: Integration Support110 hrs · $16,500 Feature 6 RFIs, Submittals & Daily Reports780 hrs · $117,000 Feature 7 Mobile Field App (App Store & Google Play)930 hrs · $139,500 Feature 8 True Offline Field Capture200 hrs · $30,000 Feature 9 Scheduling675 hrs · $101,250 Feature 10 Checklists, Issues, Photo Log & Your Field Forms550 hrs · $82,500 Feature 11 Document Management, Three Tiers925 hrs · $138,750
Program subtotal, features 1-116,490 hrs · $973,500
On Request Self-Serve Forms Buildernot in program · ~400 hrs if purchased Included Platform Foundation & Security$0 · our investment
Feature 1

Estimating Decision Support

355 hrs · $53,250View the concept screen ↗
Scope

Build order: 1 of 11 priced epics (on-ramp from the Sept 1, 2026 estimating pilot)

Delivery window (proposed): Q4 2026 – Q1 2027

What Kelso gets

Bidding across OpCos becomes a decision backed by data: Before estimating hours are spent on an opportunity, management gets a scored recommendation with the history to back it up - how bids like this one have gone and what the won ones actually earned.

In scope

  • Go/no-go scoring (informed by the working concept demo)
  • Configurable scoring criteria (e.g., customer history, project type, region, margin potential, bonding, resource availability) with weights and thresholds
  • Per-OpCo scoring models: Each OpCo maintains its own criteria and weights, or shares the enterprise model
  • Score captured on the opportunity/bid record; go/no-go recommendation with override + reason capture
  • Go/no-go decision log and history
  • Every go and no-go recorded with who decided, when, score at decision time, and a reason code + notes on no-gos (reason codes configurable: Workload, margin, customer risk, bonding, geography, …)
  • Decision history sliceable by customer, region, project type, estimator, OpCo - "we declined to bid this customer 4 of the last 6 times, and here is why"
  • Decision-point context panel (shown while making the go/no-go call)
  • Win rate for similar bids (same customer / region / project type)
  • Bid margin on won AND lost bids - what we priced work at when we won vs. lost
  • Actual margin on won jobs vs. what was bid - closes the loop from estimate to reality. Data note: Bid-vs-bid history accrues in QG from the pilot forward; actual job margin arrives via the NetSuite cost feed (feature 4 Live Cost).
  • Bid pipeline hardening (POC → production)
  • Win/loss analytics by customer, PM, estimator, project type, region
  • Quadrant/ROI view; backlog & forecast
  • Multi-OpCo filtering, permissions-aware views, saved views, CSV/Excel export

Ideas worth considering (priced options, not in base - see Priced options for this feature)

  • Expected value of bidding: score-implied win probability × typical margin for this segment, minus the predicted cost to produce the estimate - a single "is this bid worth the estimating hours?" number
  • Estimating capacity check: show current estimating backlog/committed bid hours vs. the bid's due date at decision time - a no-go for workload reasons becomes visible instead of anecdotal
  • Similar-bid lookup: side-by-side view of the 3–5 most comparable past bids

Out of scope (this epic)

  • AI-suggested scoring or document-driven scoring (future/AI roadmap)
  • CRM automation beyond what exists today
  • External data enrichment (credit, market data)
  • Formal multi-step approval workflow on the go/no-go decision (a priced option, see Priced options for this feature)

Existing assets this builds on

  • Production-grade bid pipeline analytics, CRM + saved views/dashboards plumbing (this epic hardens them); go/no-go scoring is a new build informed by the concept demo
  • CBS/estimating core is live product - no estimating-engine work in this epic
Estimate

Estimated hours: 355 · $53,250 at $150/hr, T&M.

Hours cover full delivered effort. Allocation:

ComponentHours% of total
Requirements/design sessions with Kelso estimating leads154.2%
Go/no-go scoring backend (criteria config, weighting, scoring service)4011.3%
Go/no-go scoring frontend (config, scoring form, pipeline badges, override)308.5%
Decision log + no-go reason codes (history by customer/region/type/OpCo)267.3%
Decision-point context panel (win rate, bid margin won/lost, actual-margin hook to feature 4)3810.7%
Bid pipeline productionization (dashboards, filters, saved views, export)226.2%
Code review + rework267.3%
QA (automated + manual, defect fixing)4312.1%
Customer demos, feedback, re-iteration349.6%
Deployment, stabilization, post-release fixes174.8%
Coordination / PM267.3%
Contingency3810.7%
Total355100.0%

Duration: 10-12 weeks with 2 developers.

Data dependency: actual-margin display reaches full value once feature 4 is live; panel ships earlier on bid history alone.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
Formal approval workflow on go/no-go+40 hrsRoute decisions to a VP with sign-off trail, beyond override-with-reason
Historical bid + job-margin backfillPriced separatelyLoad past bids and actual margins so the context panel starts with history; depends entirely on each OpCo's data
Expected-value-of-bidding indicator+45 hrsWin probability x typical margin minus predicted estimating cost, as one number
Estimating capacity check at decision time+35 hrsShow current estimating workload vs. the bid's due date when deciding
Similar-bid lookup+25 hrsSide-by-side view of the 3-5 most comparable past bids
Pipeline data feed to Domo / external BI+20 hrsAn extract with its own schema and cadence
Additional design iteration rounds+25 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Override-with-reason, not approval routingRouting is an optional addition above
Bid history and actual margins accrue from the pilot forward, with actuals arriving via feature 4's cost feedLoading prior data is priced separately, case by case
Feature 2

Change Orders

645 hrs · $96,750View the concept screen ↗
Scope

Build order: 2 of 11 priced epics

Delivery window (proposed): Nov 2026 - Mar 2027

Depends on: estimating core (live); Kelso's MuleSoft integration for NetSuite updates (the Feature 5 model)

What Kelso gets

Change orders priced the same way the job was bid - from the same CBS structure and resource library - instead of one-off spreadsheets. Every CO carries its cost buildup, its markup, and its approval trail, and approved COs roll into the revised contract value and budget automatically.

In scope

  • CO creation from the project CBS
  • Add, modify, or credit CBS lines using the same resource library, productivity factors, and rate hierarchies used at bid time
  • CO-level pricing: Markup/margin rules, lump-sum vs. unit-price presentation
  • Per-OpCo markup rule sets: Each OpCo maintains its own markup configuration, with an admin UI to manage them
  • CO lifecycle
  • Statuses: Draft → priced → submitted → approved / rejected / void, with dates, owners, and notes at each step
  • Revised contract value and revised budget math: Approved COs roll up into project totals; original vs. revised always visible
  • Schedule impact captured as an entered value on the CO (days and notes); dynamic linkage to the feature 9 schedule is a priced option
  • CO register
  • Per-project CO log (number, description, status, submitted/approved dates, value), filterable and exportable - the view a PM brings to an owner meeting
  • Print-quality owner-facing CO packages on each OpCo's letterhead
  • Approved-CO data feed for NetSuite
  • On approval, Quote Goat exposes the revised budget and contract values through the documented API, with an approval trigger event, for Kelso's MuleSoft integration to carry into NetSuite. Same integration model as Features 4 and 5: Quote Goat provides the data and the documentation; the NetSuite-side update is built by Kelso's team with Feature 5 support.

Out of scope (this epic)

  • Owner-facing CO portal or e-signature routing (priced options, see Priced options for this feature)
  • Building or operating the transport into NetSuite itself (Kelso's MuleSoft, per the program integration model)
  • Subcontractor change orders / flow-down COs (future phase)
  • T&M ticket capture in the field that converts to a CO - the capture side arrives with feature 7 (mobile); the conversion is a priced option (see Priced options for this feature)

Existing assets this builds on

  • CBS grid, resource library, rate hierarchies, live margin recalc (all live product)
  • Documented API surface and background-job infrastructure (live product)
Estimate

Estimated hours: 645 · $96,750 at $150/hr, T&M.

Hours cover full delivered effort. Allocation:

ComponentHours% of total
Requirements/design (CO numbering, markup rules, approval states)203.1%
CO data model + lifecycle backend (statuses, revised-value math, audit)8813.6%
CO creation UI from CBS (reusing grid/resource components)8413.0%
Pricing/markup rules + original-vs-revised contract math406.2%
CO register views + export304.7%
Print-quality owner-facing CO packages with per-OpCo letterhead203.1%
Per-OpCo markup rule sets + admin UI152.3%
Approved-CO outbound API (payload, approval trigger, MuleSoft-facing documentation)325.0%
Code review + rework446.8%
QA (automated + manual, defect fixing)7411.5%
Customer demos, feedback, re-iteration599.1%
Deployment, stabilization, post-release fixes294.5%
Coordination / PM446.8%
Contingency6610.2%
Total645100.0%

Duration: 14-17 weeks with 2-3 developers.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
E-signature routing (DocuSign or similar)+35 hrsThird-party integration with envelope tracking
Field T&M ticket to CO conversion+45 hrsCapture T&M in the field and convert to a priced CO (pairs naturally with feature 7)
Dynamic CO-to-schedule linkage+25 hrsApproved COs adjusting feature 9 schedule activities automatically; an entered schedule-impact value on the CO is already in scope
Additional design iteration rounds+45 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Approval happens inside Quote GoatE-signature routing is an optional addition above
Kelso's MuleSoft consumes the approved-CO feed and carries the update into NetSuiteThe integration model follows feature 5
Feature 3

Production Units Capture (Desktop)

460 hrs · $69,000View the concept screen ↗
Scope

Build order: 3 of 11 priced epics - deliberate prerequisite for the mobile app (feature 7)

Delivery window (proposed): Q4 2026 - Q1 2027

Depends on: project CBS (live)

What Kelso gets

Production quantities recorded directly against project CBS lines from the desktop - the structure the mobile app will later feed into. Percent complete stops being a gut-feel number: It's installed quantity against budgeted quantity, line by line.

This replaces the 2026 interim (weekly SharePoint extract → NetSuite statistical journals) with production data living where the budget lives.

In scope

  • Trackable CBS lines
  • Flag CBS lines as production-tracked with unit of measure and budgeted quantity (Kelso's 7–8 UoMs: Pounds, linear feet, weld inches, etc.)
  • Desktop quantity entry
  • Grid-based batch entry: Quantities installed by date/period against CBS lines, with validation (over-100% warnings, locked periods), edit history and audit trail
  • Crew/foreman attribution on entries: Who installed it, recorded with each entry
  • Photo attachment on desktop entries
  • Percent complete + production math
  • Installed vs. budgeted quantity per line; earned quantity rollups to cost codes and project level; required-production-rate-to-finish per line
  • Production views
  • Per-project production dashboard: Installed vs. budget, period trend, lines at risk (rate needed exceeds rate achieved), export

Out of scope (this epic)

  • Mobile/field entry - that is feature 7, landing on this foundation
  • Labor-hours-per-unit productivity analysis tied to timekeeping (future; Kelso timekeeping module is deferred)
  • Automated ingestion from the current Power Apps / SharePoint process (the interim path stays NetSuite-side in 2026; loading prior production history is priced separately, case by case)

Existing assets this builds on

  • CBS data model with quantities/UoMs at the resource line level (live product)
  • The batch-entry grid patterns proven in estimating
  • 2026 NetSuite stat-account interim defines the field-proven UoM list and cadence
Estimate

Estimated hours: 460 · $69,000 at $150/hr, T&M.

Hours cover full delivered effort. Allocation:

ComponentHours% of total
Requirements/design (UoM list, entry cadence, lock rules)163.5%
Production data model (entries, periods, audit, locked periods)5010.9%
Desktop entry UI (grid batch entry, validation, edit history)6614.3%
Percent complete / earned quantity / required-rate calculations367.8%
Production dashboard + at-risk lines view + export5411.7%
Code review + rework337.2%
QA (automated + manual, defect fixing)5612.2%
Customer demos, feedback, re-iteration (entry screens get several rounds of field feedback)449.6%
Deployment, stabilization, post-release fixes224.8%
Coordination / PM347.4%
Contingency4910.7%
Total460100.0%

Duration: 11-13 weeks with 2 developers.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
Loading prior production historyPriced separatelyBringing history from the 2026 interim into the platform; depends entirely on each OpCo's data
Push quantities back to NetSuite during transition+25 hrsA temporary feed for running both systems in parallel; cheap to skip if cutover is clean
Multi-unit conversions+15 hrsOne line tracked in more than one unit (spools and linear feet) with conversion rules
Additional design iteration rounds+35 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Production history starts at go-liveLoading prior data is priced separately, case by case
One unit of measure per tracked lineMulti-unit conversions are an optional addition above
Quantities stay quantitiesDollar views arrive with feature 4's cost data
Feature 4

Live Cost: Budget vs. Actuals

860 hrs · $129,000View the concept screen ↗
Scope

Build order: 4 of 11 priced epics

Delivery window (proposed): Q2-Q3 2027

Depends on: feature 5 mapping decisions; Kelso's MuleSoft feed (Kelso-delivered)

What Kelso gets

NetSuite cost transactions flowing into Quote Goat on a scheduled hourly cycle, so the platform shows live budget vs. actuals on the same CBS the job was bid and is being produced against. Actuals also feed backward into estimating intelligence (feature 1's "what did won jobs really earn" panel).

Integration model (important): Kelso builds and operates the NetSuite→QG feed on their MuleSoft platform, consistent with their other integrations. Quote Goat provides the receiving API and support (feature 5). This epic is the QG side only.

In scope

  • Transaction ingestion API
  • Authenticated endpoints accepting transaction create/edit/delete events from Kelso's middleware; duplicate-safe processing, protection against out-of-order events, and a holding queue with replay for anything that fails; ingestion monitoring dashboard
  • Transaction layer
  • Quote Goat transaction records mirroring what NetSuite sends: Transaction type (vendor bill, credit card, journal, expense report, check), the vendor or employee behind it, date, amount, and source reference. Cost detail lives in the platform, so reporting can slice by vendor, type, cost code, or period
  • Transaction placement
  • Transactions land against the QG project and cost breakdown automatically where the coding allows; anything that cannot be placed automatically queues in a review workbench for a human decision, so nothing silently disappears
  • Cost storage + aggregation at scale
  • Transaction store sized for Kelso reality (hundreds of budget lines, tens of thousands of transactions per large job); pre-aggregated rollups so screens stay fast
  • Budget-vs-actuals views
  • Project cost screen: Budget, actual, remaining by CBS cost code and line; drill-down from cost code to transaction detail; period filters; export
  • Feed to estimating intelligence
  • Actual job margin surfaces in feature 1's decision-point context panel

Out of scope (this epic)

  • Backfill of NetSuite cost transactions - explicitly excluded. New projects only. Cost data flows for projects that go live in QG from cutover forward. Loading past transactions would require a separate bulk-load path plus data cleanup. If ever wanted, it is a separately scoped project.
  • Purchase orders and committed cost - explicitly qualified out. The feed carries posted actuals only; PO lifecycle handling and no-double-count reconciliation is a second data domain. Pre-scoped as a separately scoped project (600 hrs) if Kelso ever wants it, but it is not part of this program
  • The MuleSoft integration itself - Kelso-delivered (feature 5 covers QG's support)
  • Writing anything back to NetSuite (one-way feed, NetSuite stays system of record)
  • Forecasting/cost-to-complete in QG - the Financial Forecast module on NetSuite is the 2026 answer; a QG-native forecast is a future phase
  • WIP/revenue recognition math (stays in NetSuite/BCP)

Existing assets this builds on

  • Import-side background-job infrastructure (worker, staging storage, job tracking), which this epic extends for inbound events; the ingestion API, transaction layer, review workbench, and monitoring are built new in this epic
Estimate

Estimated hours: 860 · $129,000 at $150/hr, T&M. Highest-technical-risk epic (external data contract + scale); QA carries a heavier share here.

Hours cover full delivered effort. Allocation:

ComponentHours% of total
API contract design with Kelso's integration team (event schema, error semantics)303.5%
Ingestion API (auth, validation, create/edit/delete handling, duplicate protection, failed-event queue and replay, monitoring)10512.2%
Transaction layer + placement (QG transaction records, review workbench for unplaced items)556.4%
Storage + aggregation at scale (schema, pre-aggregation, caching)657.6%
Budget-vs-actuals UI (cost screen, drill-down, filters, export)14016.3%
Actual-margin feed into feature 1 context panel202.3%
Code review + rework627.2%
QA including volume/load testing at Kelso-scale data12414.4%
Customer demos, feedback, re-iteration627.2%
Deployment, stabilization, joint cutover support414.8%
Coordination (incl. scheduling against Kelso's MuleSoft team)627.2%
Contingency9410.9%
Total860100.0%

Duration: 17-20 weeks with 2-3 developers. Kelso's MuleSoft team availability is on the critical path; joint testing windows set the calendar.

Scope note: new projects only; historical transaction backfill is explicitly excluded.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
Near-real-time sync (minutes-scale) instead of hourly+25 hrsTighter monitoring and alerting; the service-level choice sets the ops burden
Additional design iteration rounds+60 hrs per roundA structured revision pass beyond the two included rounds

Excluded from this program entirely

  • Committed cost (POs, receipts, bills against them): a project of its own, excluded from this feature and this program
  • Historical transaction backfill: new projects only, firm exclusion

Assumptions the price relies on

AssumptionIf it changes
Kelso's MuleSoft team is available for joint testing windowsMissed windows push the calendar; idle waiting becomes rework
One cost-coding convention across OpCosEach divergent convention adds placement and workbench work (+25 hrs per variant)
Cost display follows NetSuite retainage/tax conventionA different presentation adds calculation scenarios to the cost engine (+20 hrs) and must be decided before build
Feature 5

NetSuite Sync: Integration Support

110 hrs · $16,500
Scope

Build order: runs alongside feature 4 (same delivery window)

Delivery window (proposed): Q2-Q3 2027, alongside feature 4

The model

Kelso builds and operates the NetSuite→Quote Goat integration on MuleSoft, their established middleware platform, the same way they've delivered other integrations. Quote Goat's role is to make that easy: A documented, stable API surface and expert support during mapping and testing.

This is priced the way a mature platform prices connector enablement - a small, bounded support line, not a build.

In scope (QG-side support)

  • API documentation package - endpoint reference, event schemas, auth setup, error codes, duplicate-handling rules, sandbox connection guide
  • Field-mapping workshops - working sessions with Kelso's integration team to map NetSuite records/fields to QG's transaction schema and cost-code structure
  • Sandbox support - QG sandbox tenant + credentials, test data, and turnaround on questions during Kelso's build
  • First-sync validation - joint verification that an agreed test set of NetSuite transactions lands correctly in QG (counts, amounts, mappings) before production cutover

Explicitly Kelso's responsibility

  • The MuleSoft flows: Development, error handling on their side, scheduling/eventing, production operations and monitoring of the pipe
  • NetSuite-side configuration (saved searches/SuiteQL or event sources feeding MuleSoft)
  • Ongoing maintenance when NetSuite customizations change upstream data shapes

Boundary rule (for the SOW)

Support hours cover enablement of the integration as designed in the mapping workshops. Debugging inside Kelso's MuleSoft flows or NetSuite configuration is billable beyond the included hours - the line that keeps "support" from quietly becoming "build."

Estimate

Estimated hours: 110 · $16,500 at $150/hr, T&M.

Enablement of Kelso's MuleSoft-delivered integration. The receiving API is built and priced in feature 4; this is the support layer that gets Kelso's team productive against it, across the full build and cutover window.

ComponentHours% of total
API documentation package2018.2%
Field-mapping workshops + mapping documents3027.3%
Sandbox setup + build-phase question turnaround3027.3%
First-sync validation (joint test passes, sign-off checklist)1816.4%
Coordination across Kelso's build window1210.9%
Total110100.0%

Duration: spread across feature 4's build window; no dedicated developer required.

Boundary (for the SOW): support covers enablement as designed in the workshops. Debugging inside Kelso's MuleSoft flows or NetSuite configuration is billable beyond these hours.

Priced options (not included)

This feature is bounded support, so its list is assumptions and boundaries rather than optional additions. If an assumption changes, we flag it and agree on the adjustment before spending.

Assumptions and boundaries the price relies on

AssumptionIf it changes
Kelso's integration team knows the NetSuite data modelIf workshops turn into schema tutorials (transaction lines, posting vs. non-posting, retainage columns), support hours get consumed teaching rather than mapping (+25 hrs)
One mapping convention across OpCosEach divergent cost-code or subsidiary convention is another mapping document and validation pass (+15 hrs per variant)
Support means enablement, not buildDebugging inside Kelso's MuleSoft flows or NetSuite configuration is Kelso's work, or billable beyond the cap by agreement
The upstream data shape stays stable during the buildField changes from new NetSuite customizations trigger a mini re-validation (+10 hrs per event)
Feature 6

RFIs, Submittals & Daily Reports

780 hrs · $117,000View the concept screen ↗
Scope

Build order: 6 of 11 priced epics - before mobile (feature 7), so mobile has a place to land daily reports

Delivery window (proposed): Q1-Q2 2027

What Kelso gets

Project document workflows living on the platform: RFIs, submittals, and daily reports with photos and notes.

Continuity: these workflows exist today on NetSuite infrastructure in Kelso's sandbox and are moving to NetSuite production as the 2026 interim. This epic rebuilds the same functionality on Quote Goat infrastructure - the interim proves the workflows and trains the teams; the QG build is the permanent home. Nothing learned is thrown away. The functional spec is the NetSuite interim as documented in the joint baseline dated at contract signing; changes made to the interim after that baseline are scoped as additions.

In scope

  • RFIs
  • Create, assign, route, respond; status and ball-in-court tracking; due dates and aging; RFI log per project with filters and export; attachments
  • Email-in / email-out workflow: RFIs go out by email and recipients respond by replying; inbound replies are parsed onto the RFI thread with their attachments
  • Submittals
  • Submittal register; revision cycles (rev 0, 1, 2…); review statuses (approved / approved-as-noted / revise-and-resubmit); lead-time visibility; attachments
  • Daily reports
  • Structured daily entry: Crew/headcount, weather, work performed, delays/issues, photos and notes; per-project daily log, searchable history
  • Core services (built once here, then applied to every feature as it emerges)
  • File/photo attachment service (cloud storage, thumbnails, previews)
  • Core email service: Templated delivery with per-user routing, used by every feature's notifications from here forward
  • Core notification service + consolidated notification center: Triggers (assigned, due, overdue, response received) landing in one inbox-style feed with read/unread state and per-user preferences (what to be notified about, in-app vs. email). New features plug their events into this same service as they ship. Mobile push arrives with the feature 7 app
  • Print/PDF output for RFIs and daily reports (send-to-owner format)

Out of scope (this epic)

  • Mobile entry - feature 7 adds phone-based daily reports and photos on this foundation
  • External-party portal (the design team answering RFIs inside QG without a seat) - a priced option; external parties receive RFIs by email and their replies are captured by the email-in workflow above
  • Transmittals, drawing management, full document control - delivered by feature 11 (document management)
  • Migration of in-flight NetSuite RFI/submittal records - out of scope; records open on the interim run to completion there

Existing assets this builds on

  • The NetSuite sandbox build = a validated functional spec (fields, statuses, routing)
  • Basic file storage and task attachments exist today; the shared attachment service (thumbnails, previews, tenant-scoped storage) is built in this epic
  • QG task management's assignment/watcher/notification patterns
Estimate

Estimated hours: 780 · $117,000 at $150/hr, T&M. Three related modules plus the core email and notification services, applied to each new feature as it emerges; the NetSuite interim is the functional spec for the three modules.

Hours cover full delivered effort. Allocation:

ComponentHours% of total
Requirements/parity analysis from the NetSuite interim build202.6%
RFIs (model, routing/ball-in-court, log, aging)8010.3%
Email-in / email-out RFI workflow (inbound parsing, threading, attachments)202.6%
Submittals (register, revision cycles, review statuses)729.2%
Daily reports (structured entry, photos/notes, daily log)709.0%
Shared attachment service (cloud storage, thumbnails, previews) + trigger wiring455.8%
Core email service (templated delivery, per-user routing)405.1%
Core notification service + consolidated center (feed, read state, preferences)759.6%
Print/PDF outputs (RFI + daily report formats)263.3%
Code review + rework506.4%
QA across three modules + core services9011.5%
Customer demos, feedback, re-iteration (PMs will reshape workflows)607.7%
Deployment, stabilization, post-release fixes324.1%
Coordination / PM486.2%
Contingency526.7%
Total780100.0%

Duration: 16-20 weeks with 2-3 developers (the notification and email services ship first so every later feature plugs into them; modules run in parallel after).

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
External-party access (architects/engineers responding inside the platform)+50 hrsGuest identity, scoped permissions, and a response UI for non-seat users
Per-OpCo PDF formats+25 hrsEach letterhead/layout variant is a template to build and maintain
Custom fields per OpCo+20 hrsField definitions, layouts, and reporting per variation (or feature 10's forms engine absorbs this later)
Additional design iteration rounds+55 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
External parties respond by email, captured by the email-in workflowResponding inside the platform is the optional addition above
Go-forward recordsIn-flight NetSuite records run to completion on the interim; migration is out of scope
One PDF formatPer-OpCo formats are an optional addition above
Parity with the NetSuite interim, not feature growth during the rebuildNew behaviors beyond the interim are scoped as additions
Feature 7

Mobile Field App (App Store & Google Play)

930 hrs · $139,500View the concept screen ↗
Scope

Build order: 7 of 11 priced epics - lands on feature 3 (production units) and feature 6 (daily reports)

Delivery window (proposed): Q2-Q3 2027, overlapping the tail of feature 3 and feature 6

Depends on: feature 3 (units model), feature 6 (daily reports + photo service)

What Kelso gets

Foremen and superintendents working from their phones: Units complete recorded against CBS lines, photos from the field, and daily reports filed the day they happen - all landing in the same structures the office already uses.

Sequencing note (deliberate): the desktop foundations ship first so mobile data has somewhere to land. In practice, mobile development overlaps with feature 6 - but the dependency direction is real: Mobile is a client of the units and daily-report models, not a separate system.

In scope

  • Mobile app on the app stores (one web codebase inside a native shell)
  • Phone-first UI, login, project selection, role-aware navigation
  • Delivered through the Apple App Store and Google Play from day one; public listing or Apple Business Manager private distribution is Kelso IT's call, and either way the app is manageable through your device-management (MDM) tooling
  • Store accounts, listings, privacy declarations, signing, build pipelines, and review cycles are all in this feature's scope
  • Push notifications
  • Real push on iPhone and Android (the Apple and Google push services), wired to the feature 6 notification services and the consolidated notification center
  • Spanish-language field UI
  • The field surfaces ship in English and Spanish from day one
  • Units-complete capture
  • Pick a CBS line (or a foreman-friendly filtered list), enter quantity installed and the date; the foreman sees budgeted quantity and installed-to-date for context (feature 3 model)
  • Photo capture
  • Native camera capture with compression and background upload; photos attach to daily reports and production entries (feature 6 photo service)
  • Best-practice photo policy included: Photos are compressed on capture for upload, full quality is preserved in cloud storage, and photos are retained for the life of the project with archive export at closeout
  • Daily report (mobile flow)
  • The feature 6 daily report as a fast, thumb-friendly flow: Crew count, weather auto-fill, work performed, delays, photos, submit
  • Field-network resilience
  • Graceful behavior on weak connections: Queued submits with retry, draft preservation - short-interruption tolerance, not full offline

Delivered separately, in the program

  • True offline capture is feature 8 (feature 8, 200 hrs, $30,000): Full offline-first operation - work all day with no signal, sync at the truck. It is an architecture upgrade (local store, sync engine, conflict resolution), which is why it is its own epic rather than folded into this one. This epic delivers short-interruption tolerance; feature 8 delivers the zero-signal workday.

Out of scope (this epic)

  • Timekeeping from the field (Workday covers it, per Kelso)
  • RFIs/submittals authoring on mobile (view-only is a priced option, see Priced options for this feature)

Existing assets this builds on

  • feature 3 production model, feature 6 daily report + attachment service, QG auth/roles
Estimate

Estimated hours: 930 · $139,500 at $150/hr, T&M. Field software earns heavier QA (device matrix) and heavier feedback shares; both are in the allocation. App store delivery (Apple App Store + Google Play), push notifications, and the Spanish-language field UI are all in this feature from day one.

ComponentHours% of total
Field UX design + foreman feedback loop (design WITH 2-3 field users)353.8%
App core (auth, project context, role-aware nav; one web codebase inside the native shell)808.6%
Native shell + store packaging (iOS/Android projects, icons, deep links; native camera, file, and background-upload plugins)454.8%
Build + release pipeline (signing, provisioning, automated builds, TestFlight + Play test tracks)252.7%
Store accounts, listings, privacy declarations, review submissions121.3%
Push notifications (Apple/Google push services, device token handling, wired to feature 6 notification services)303.2%
Spanish-language field UI (translation pass across the field surfaces)303.2%
Units-complete capture flow (mobile UX on feature 3 model)657.0%
Photo capture/upload (native camera plugin, compression, background upload)454.8%
Daily report mobile flow (on feature 6 model)657.0%
Weak-network resilience (queued submits, retry, draft preservation)485.2%
Code review + rework606.5%
QA on real devices (iOS/Android matrix, field-condition scenarios, store-build testing)11512.4%
Field pilot, feedback, re-iteration (pilot builds distributed through TestFlight/Play tracks)879.4%
Deployment, stabilization, post-launch support + store release engineering454.8%
Coordination / PM586.2%
Contingency859.1%
Total930100.0%

True offline capture: Its own epic, feature 8 (200 hrs, $30,000), in the program. It extends this same store-delivered app after the field pilot, and the native shell's durable storage makes the offline guarantees stronger on iPhone than a browser app could.

Duration: 17-20 weeks with 2 developers, including the mid-build field pilot.

Calendar dependency (not labor): Apple organization enrollment (business identity verification) takes 2-4 weeks and store review cycles take days; account setup starts well before the build window so neither blocks the pilot.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending. True offline operation is not on this list because it is already in the program as feature 8.

Optional additions - not in the price

AdditionPrice basisWhat it is
RFI/submittal view-only on mobile+20 hrsRead-only screens for field reference; authoring on mobile would be much more
Kiosk/shared-device login+20 hrsFast user switching and PIN auth for a crew tablet at the trailer
Additional design iteration rounds+70 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Apple organization enrollment (Apple's business identity verification, 2-4 weeks) starts well before the build windowA late start shifts the pilot date; scope and price do not change
Store upkeep after 2027 (annual OS-compatibility updates, plugin updates, occasional shell releases, roughly 20-40 hrs/yr) is support, not part of this priceCovered under the ongoing support arrangement
Devices meet a reasonable minimum: A supported OS version and enough free storage for a day's captureSupporting devices below the floor is scoped case by case
Photos follow the included best-practice policy (compressed capture, full-quality cloud originals, retained for the life of the project with closeout export)A different retention or resolution policy changes storage handling and infrastructure cost
The core permission build-out (role templates, project-level access; part of the platform investment) lands before the field pilotThe pilot date shifts with it; scope and price do not change
Feature 8

True Offline Field Capture

200 hrs · $30,000View the concept screen ↗
Scope

Build order: Feature 8 of 11; follows the mobile field app (feature 7) and extends it

Delivery window (proposed): Q3-Q4 2027

Depends on: feature 7 (mobile app shell, units capture, daily reports, photo service)

Start: begins when feature 7 meets its agreed pilot exit criteria. If feature 7's pilot moves, this window moves; the scope and price do not change

What Kelso gets

A full workday with zero signal. Plants, mechanical rooms, basements, and remote sites are where Kelso's crews work, and they are also where phones lose coverage. With offline mode, a foreman opens the app in the morning, works the full day without a connection, and every entry captured offline is queued durably and synchronized when connectivity returns. Nothing is re-keyed from paper, and conflicts are surfaced for review rather than silently overwritten.

Why offline is an architecture change

The base mobile app (feature 7) tolerates short signal drops: It queues a submit and retries. True offline is a different architecture, because the phone must become its own small system of record for the day:

  • The data has to already be on the phone. Working offline means the app cannot ask the server anything. Each user's projects, CBS lines, budget quantities, form templates, and open daily report must be stored on the device and refreshed whenever there is signal, scoped tightly so a phone is not syncing the whole company.
  • A sync engine, not a retry loop. A day of work is hundreds of entries and photos. The outbound queue must survive the app being killed, the phone rebooting, and the battery dying, then resume mid-sync with server-side deduplication and resumable upload when signal returns for ninety seconds in the yard.
  • Conflict resolution. Two foremen offline on the same crew can both record quantities against the same CBS line, or edit the same daily report. "Last one wins" silently destroys data. Quantities need merge rules (two entries become two entries, not one overwriting the other), and true collisions need a review queue a human can settle.
  • Photos at job-site volume. A day of offline photos is gigabytes on a phone. Local storage has to be managed (compression, caps, cleanup after confirmed upload) so the app never fills the device, and upload has to run in the background without burning the battery.
  • Security while disconnected. Login tokens expire during an offline day. The app needs a secure local session that keeps working, then re-authenticates and syncs without losing the day's work, while keeping the device data encrypted in case the phone is lost.
  • Trustworthy records. Every offline entry carries when it was really captured (not when it synced), survives incorrect device clocks, and lands in the same audit trail as online entries.

In scope

  • On-device data store with per-user project scoping and freshness refresh
  • Durable, resumable, restart-safe sync engine with server-side dedup
  • Conflict rules for quantities, daily reports, and forms + a review queue for true collisions
  • Offline photo management: Local storage caps, compression, background upload
  • Offline-safe authentication and encrypted local storage
  • Capture-time audit metadata end to end
  • Field pilot under real conditions (airplane mode all day, sync at the truck)

Out of scope (this epic)

  • Offline for desktop/office screens (field capture only: Units, daily reports, photos, form fill, checklist runs when feature 10 lands)
  • Peer-to-peer sync between devices with no server
  • Offline drawing/document viewing (documents are feature 11, now in the program; taking drawing sets offline is a priced option, see Priced options for this feature)
Estimate

Estimated hours: 200 · $30,000 at $150/hr, T&M. This feature is deliberately scoped tight, with no separate contingency line; the boundary that protects the price is the scope definition itself and the assumptions below. Priced as an architecture upgrade to the feature 7 mobile app; the hours are in the sync engine, conflict handling, and field-condition testing.

The field package, pieces and sum

PieceHoursPrice
feature 7 Mobile field app (App Store + Google Play, incl. push)930$139,500
feature 8 True offline capture200$30,000
Field capture together1,130$169,500
ComponentHours% of total
Offline-first architecture design (what lives on device, sync contract)126.0%
On-device data store (local database, per-user project scoping, refresh)3517.5%
Sync engine (durable queue, resume mid-sync, restart-safe, server-side dedup)4020.0%
Conflict resolution (merge rules for quantities/reports/forms, review queue)3015.0%
Offline photos (local storage caps, compression, background upload)2010.0%
Offline-safe auth and encrypted local storage105.0%
QA under field conditions (airplane-mode days, interrupted sync, low storage, device matrix)3015.0%
Field pilot, feedback, re-iteration126.0%
Deployment, stabilization63.0%
Coordination / PM52.5%
Total200100.0%

Duration: 8-10 weeks with 2 developers, starting once feature 7's core flows are stable.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
RFI/submittal authoring offline+45 hrsEach additional record type offline means its own conflict rules and sync cases; field capture (units, dailies, photos, forms) is the priced set
Conflict-resolution audit reporting+15 hrsWho resolved which collision, as a reportable process
Offline drawing/document sets on the phone+60 hrsDrawing sets are large; local caps, staleness rules, and current-set selection make offline viewing its own build (documents are feature 11, in the program)
Additional design iteration rounds+20 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Field-capture record types onlyMore record types offline are the first addition above
Personal phones, one user per deviceShared crew tablets multiply local-data scoping and offline-auth cases (+30 hrs)
Single-day offline rhythm (sync at least daily)Multi-day remote stretches need bigger local caps and stale-reference handling (+25 hrs)
Reasonable device floorVery old low-storage devices push storage management and tuning (+20 hrs)
Feature 9

Scheduling

675 hrs · $101,250
Scope

Build order: 9 of 11 priced epics; runs in unison with feature 4 live cost (they do not build on each other)

Delivery window (proposed): Q2-Q3 2027, with live cost

Depends on: CBS (live); benefits from feature 3 production data for progress-vs-plan

What Kelso gets

Scheduling on the same structure the job was bid and is being produced against: A Gantt built on the CBS, a master schedule per project, and the working rhythms crews actually use - weekly SIPs and the three-week look-ahead.

(2026 interim: BCP scheduling on NetSuite is already licensed and in use. This is the platform-native replacement, arriving last by design - after cost and production data are live so the schedule reflects reality.)

In scope

  • Schedule model on the CBS
  • Activities linked to CBS lines; durations, dependencies (finish-to-start + lags), milestones; baseline capture and current-vs-baseline
  • Gantt view
  • Interactive Gantt: Drag to move/resize, dependency lines, critical path, zoom levels (day/week/month), print/export
  • Master schedule + weekly SIPs
  • Project master schedule view; weekly Short-Interval Plan: This week's commitments by crew/area, carried-over items visible
  • Three-week look-ahead
  • Rolling filtered view of the next three weeks; mark constraints/blockers (material, access, design) so the look-ahead meeting runs from the system
  • Schedule import
  • One import format, selected at design time (MS Project XML unless agreed otherwise); each additional format is a priced option
  • Progress vs. plan
  • Where activities map to production-tracked CBS lines (feature 3), percent complete flows onto the schedule automatically

Out of scope (this epic)

  • Resource-loaded scheduling / manpower leveling - deliberately kept to what field teams use; enterprise resource planning is on the deferred list
  • P6/Primavera bi-directional sync (a priced option; one-way import only in base)
  • Multi-project portfolio scheduling views (a priced option, see Priced options for this feature)

Existing assets this builds on

  • CBS hierarchy (the schedule's backbone), durations on resource lines from estimating, feature 3 production percent-complete
Estimate

Estimated hours: 675 · $101,250 at $150/hr, T&M. Covers a production scheduling module: Scheduling tools get heavy hands-on scrutiny from schedulers; the iteration share reflects that.

ComponentHours% of total
Requirements/design (scheduling deep-dive follow-up with Kelso's scheduling lead + field input)243.6%
Schedule data model (activities to CBS lines, dependencies, baselines)629.2%
Gantt UI (component integration, drag/resize, dependencies, critical path, print)9614.2%
Master schedule + weekly SIP views527.7%
Three-week look-ahead with constraint flags405.9%
Schedule import (one format)527.7%
Code review + rework497.3%
QA (scenario testing on real Kelso schedules)8112.0%
Customer demos, feedback, re-iteration659.6%
Deployment, stabilization, post-release fixes334.9%
Coordination / PM497.3%
Contingency7210.7%
Total675100.0%

Duration: 14-17 weeks with 2 developers.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
Resource/manpower loading on activities+80 hrsCrew assignments, availability, and leveling; deliberately fenced out of the base ("just enough" principle)
P6 or MS Project two-way sync+70 hrsRound-tripping schedule data (vs. one-way import) means reconciling two scheduling engines
Multi-project portfolio views+200 hrsAll jobs on one timeline with shared crews; the cross-project data model, permissions, and performance work run far deeper than a single-project view
Working calendars per crew/region+20 hrsMultiple calendars affect every duration calculation
Additional import formats+15 hrs eachEach OpCo scheduling in a different tool means another parser and mapping
Multiple baselines with variance history+20 hrsOne baseline is in the base; N baselines with comparisons is a reporting feature
Look-ahead constraint workflow+25 hrsAssign and clear constraints with owners and notifications, Last Planner style
Additional design iteration rounds+50 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Activities without resource loadingResource loading is the first addition above
One import format, one baseline, one working calendarEach extra is priced above
Feature 10

Checklists, Issues, Photo Log & Your Field Forms

550 hrs · $82,500
Scope

Build order: 10 of 11 priced epics; lands late in the year on the mobile and quality foundations

Delivery window (proposed): Q3-Q4 2027

Depends on: feature 6 (attachment service); core permissions from the platform investment (the platform foundation); mobile flows land in the feature 7 shell

What Kelso gets

The project quality workflow, end to end: Checklists run against the work, issues are tracked to closure, every job-site photo is searchable in one place, and Kelso's five field forms are delivered ready to use on day one.

The forms model: BlueCollar builds Kelso's five forms from Kelso's own library (daily safety sign-off, T&M documentation, equipment inspection, near-miss/incident, daily production sign-off) as standardized forms on a lean runtime. New forms are added through small change orders. A self-serve builder, where Kelso admins design their own templates, is pre-scoped as a separate on-request item targeting this same runtime.

Reuse note: Photo storage and capture plumbing already exist in features 6 and 7 and are not rebuilt here. This feature adds the quality objects (checklists, issues), the form runtime with the five forms, and the photo log aggregation on top of those services.

In scope

  • Best-practice field forms
  • Lean form runtime: Fill and submit on desktop and in the feature 7 mobile shell, validation, per-form submission log with counts and export, PDF output per submission
  • Kelso's five forms built for them, including signature capture and photo fields where their library uses them
  • Checklists
  • BlueCollar-authored checklist templates on the same runtime: Items with pass / fail / N/A, notes, and photo evidence per item
  • Checklist runs assigned to areas, CBS lines, or equipment; completion tracking per project; failed items spawn issues automatically
  • Issues / punch list
  • Create an issue from anywhere (checklist failure, daily report, photo, or directly); assign with due date; status lifecycle open → in work → ready for review → closed, with ball-in-court
  • Photos and notes on every issue; per-project issue log with filters, aging, and export; close-out report for turnover
  • Photo log
  • One project-wide gallery aggregating photos from daily reports, production entries, issues, checklist items, and form submissions
  • Filter by date, source, area/CBS line, uploader; tap through to the record the photo came from; bulk download for claims/close-out

Out of scope (this epic)

  • The self-serve forms builder (Kelso admins designing new templates) - pre-scoped as a separate on-request item
  • Commissioning workflows (system/equipment cert chains) - stays on the deferred list
  • AI photo analysis or auto-tagging (future/AI roadmap)
  • Owner-facing punch list portal (external access is priced under feature 6's external-party option)

Existing assets this builds on

  • feature 6 attachment service (photo storage, thumbnails) and core notification/email services; feature 7 mobile shell for field capture; the platform's existing role machinery (roles created and assigned feature permissions today), extended per feature as core product
Estimate

Estimated hours: 550 · $82,500 at $150/hr, T&M. Kelso's five best-practice forms and the lean form runtime are included in this estimate; contingency runs leaner here as a result. Prices below the feature 6 trio because photos and platform permissions are reused, not rebuilt.

ComponentHours% of total
Requirements/design (form inventory, checklist inventory, issue lifecycle)183.3%
Lean form runtime + Kelso's five best-practice forms (fill, log, PDF, signature/photo fields)8816.0%
Checklists (BlueCollar-authored templates, runs, area/CBS assignment, auto-issue on fail)7814.2%
Issues/punch module (lifecycle, assignment, ball-in-court, log, close-out report)10819.6%
Photo log (aggregation across sources, filters, record linking, bulk download)458.2%
Code review + rework346.2%
QA (desktop + mobile flows)6411.6%
Customer demos, feedback, re-iteration386.9%
Deployment, stabilization203.6%
Coordination / PM295.3%
Contingency285.1%
Total550100.0%

Duration: 12-15 weeks with 2 developers.

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the price

AdditionPrice basisWhat it is
Commissioning-grade checklist chains+120 hrsSystem-to-subsystem-to-equipment certification sequences; deliberately on the scoped-on-request list instead
Owner/GC-facing punch list access+50 hrsExternal identity and scoped views
Issue SLAs and escalation rules+30 hrsAuto-escalate overdue by severity; rules plus a notification matrix beyond due-date reminders
Additional design iteration rounds+40 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
Internal users onlyOwner access is an addition above
Due-date reminders, not SLA escalationEscalation is an addition above
Go-forward recordsLoading existing open punch items is scoped case by case
Photo volume follows the feature 7 best-practice policyChecklist photo evidence grows volume fast; policy changes affect storage sizing
Offline checklist runs are delivered by feature 8No separate offline work is in this price
Feature 6's attachment service is available when this feature startsUpstream delays shift this feature's window; they do not expand its scope or price
Feature 11

Document Management, Three Tiers

925 hrs · $138,750
Scope

Structure: three tiers, all in the program. Tier 2 prices ONLY the additional work beyond Tier 1; Tier 3 prices ONLY the additional work beyond Tier 2.

Build order: feature 11 of 11 by number, but it delivers early: Tier 1 lands alongside feature 6 (RFIs and submittals attach to documents), Tier 2 lands before the mobile app (the field drawing viewer rides inside it), Tier 3 follows.

Delivery window (proposed): Q2-Q4 2027, tiers in sequence

Spec source: "Files & Documents" in Kelso's own Field Ops mockup. On the 2026-08-05 call, drawings and specs on a foreman's phone were named a top field priority ("a huge time save"), and contracts storage in permissioned folders was requested.

Tier 1 - Files, Versioning & Permissions (400 hrs · $60,000)

The foundation: Project documents living on the platform instead of scattered drives.

  • Project folder structures (templated per project type, admin-managed)
  • Upload/download, drag-in, bulk upload; file preview for common types
  • Spec books, contracts, and subcontracts stored as ordinary documents in permissioned folders (requested on the 2026-08-05 call)
  • Version history: New versions stack on the same document, prior versions retained and downloadable, "current" always unambiguous
  • Role-based access using the core permission model (who sees/edits which folders), including a folder-level flag for whether a folder is visible on mobile at all
  • Search and filter by name, type, folder, uploader, date
  • Builds on the feature 6 attachment service (cloud storage, thumbnails, previews)

Tier 2 - Drawing Management (adds 275 hrs · $41,250)

Additional work only; requires Tier 1.

  • Drawings tracked individually: Sheet number, title, discipline, revision
  • Revision control: New rev supersedes prior automatically; current-set view vs superseded history; rev clouds noted per upload
  • Drawing list/log per project, filterable by discipline and status
  • Field-friendly drawing viewer, shipping inside the store-delivered mobile app (feature 7): A foreman opens the current set on a phone without walking back to the trailer

Tier 3 - Markups & Transmittals (adds 250 hrs · $37,500)

Additional work only; requires Tiers 1-2.

  • PDF markup and annotation: Pens, shapes, text, stamps; markups saved as layers per user, sharable without altering the base document
  • Transmittal packages: Group documents/drawings into a formal transmittal with recipients, cover sheet, and a send log (what was sent to whom, when)
  • Transmittal history per project; re-send and superseded-notice support

Out of scope (all tiers)

  • CAD/BIM model viewing (PDF-based drawings only)
  • External-party accounts for receiving transmittals (delivered as email + PDF; external write access is priced under feature 6's external-party option)
  • OCR/auto-extraction of sheet numbers (a priced option, see Priced options for this feature)
  • RFIs pinned on drawings (view-only overlay raised on the 2026-08-05 call; a priced option, see Priced options for this feature)
  • Offline drawing sets on the phone (a priced option on feature 8)
Estimate

Estimated hours: 925 · $138,750 at $150/hr, T&M. In the base program as feature 11, all three tiers. Each tier prices only its incremental work, with contingency inside each tier.

The tiers, pieces and sum

TierHoursPrice
Tier 1 - Files, versioning & permissions400$60,000
Tier 2 - adds drawing management275$41,250
Tier 3 - adds markups & transmittals250$37,500
All three tiers925$138,750

Tier 1 - Files, Versioning & Permissions: 400 hrs · $60,000

ComponentHours% of total
Requirements/design (folder templates, retention rules)153.8%
Folder/file model + storage integration (on feature 6 attachment service)7017.5%
Versioning (stacking, history, current-pointer)4511.3%
Permissions integration (core platform roles to folders)4010.0%
Browse/search/filter UI + previews5012.5%
Code review + rework307.5%
QA5513.8%
Customer demos, feedback, re-iteration358.8%
Deployment, stabilization205.0%
Coordination / PM256.3%
Contingency153.8%
Tier 1 total400100.0%

Tier 2 - Drawing Management: +275 hrs · $41,250

ComponentHours% of total
Drawing objects (sheet metadata, numbering, discipline)6021.8%
Revision control + current-set vs superseded logic6021.8%
Drawing list + viewer UX (desktop + mobile shell)5018.2%
QA4516.4%
Customer demos, feedback, re-iteration3010.9%
Deployment + coordination207.3%
Contingency103.6%
Tier 2 increment275100.0%

Tier 3 - Markups & Transmittals: +250 hrs · $37,500

ComponentHours% of total
PDF markup/annotation (layers per user, stamps, sharing)8032.0%
Transmittal packages (assembly, cover sheet, send log, history)6526.0%
QA4518.0%
Customer demos, feedback, re-iteration2510.0%
Deployment + coordination208.0%
Contingency156.0%
Tier 3 increment250100.0%

All three tiers: 925 hrs · $138,750.

Durations: Tier 1 ~10-12 wks; Tier 2 ~7-9 wks; Tier 3 ~7-9 wks (tiers sequence, partial overlap possible).

Priced options (not included)

Options below are not in the price. Each is added only by signed change order, and each selected option raises the program's aggregate not-to-exceed cap by its listed amount. Assumptions are what the price relies on; if one changes, we flag it and agree on the adjustment before spending.

Optional additions - not in the tier prices

AdditionPrice basisWhat it is
OCR/auto-extraction of sheet numbers from PDFs+90 hrsAutomates drawing log creation from uploaded sets
External-party transmittal portal+50 hrsRecipients view in the platform instead of email plus PDF
Per-OpCo folder templates and numbering conventions+25 hrsEach convention is another template set and test pass
Markup on mobile+40 hrsTouch annotation is meaningfully different from desktop (Tier 3 in the field)
RFIs pinned on drawings (view-only overlay)+90 hrsA tagged RFI renders as a pin at its location on the drawing, on desktop and in the mobile viewer; tapping opens the RFI. Crosses feature 6 records and the Tier 2 viewer; raised on the 2026-08-05 call as a top field workflow
Additional design iteration rounds+50 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the tier prices rely on

AssumptionIf it changes
Go-forward documentsLoading existing repositories (SharePoint, network drives) is priced separately, case by case
PDF-based drawings onlyCAD/BIM viewing is out of scope entirely
Transmittals delivered as email plus PDFThe portal is an addition above
One folder-template setPer-OpCo sets are an addition above
Storage volume follows the agreed policyLarge drawing sets and photo-heavy jobs change lifecycle handling (+20 hrs plus infrastructure)
On Request

Self-Serve Forms Builder

not in program · ~400 hrs if purchased
Scope

What this is: The self-serve builder itself, pre-scoped for the day Kelso wants to create new forms without asking. Admin and permissions are core platform; Kelso's five best-practice forms are delivered by feature 10.

If purchased: A fast-follow once feature 10's forms are in daily use.

What this would add

Kelso admins designing their own form templates without a developer: Sections and fields with required flags and defaults, the full field palette (text including auto-populated, number, yes/no, multi-select, photo, signature, date, dropdowns from lists), template versioning so edits never corrupt past submissions, and publish/retire.

What Kelso already has without it

  • The five best-practice forms from their own library, built for them in feature 10 on the same runtime this builder would target (new forms arrive as small change orders in the meantime)
  • Checklists, issues, and the photo log (feature 10)
  • Roles, permissions, and the admin console as core product (the platform foundation, BlueCollar's investment)

Out of scope (if purchased)

  • Conditional form logic (branching, show/hide, calculated fields) - a further priced option
  • Approval routing on submissions - a further priced option
  • A dedicated safety management module - a third-party product, outside the platform's scope. The forms capture safety forms as forms
Estimate

If purchased: ~400 hrs · $60,000 at $150/hr, T&M. Pre-scoped so the answer is ready when Kelso asks. The builder creates new templates on the same form infrastructure feature 10 delivers, so this estimate covers the template designer, versioning, and administration rather than a complete forms engine.

ComponentHours% of total
Requirements + form inventory with Kelso admins153.8%
Template designer (sections, field palette, required flags, defaults)13032.5%
Template versioning + publish/retire (edits never corrupt past submissions)4511.3%
Admin UX (library management, retirement, per-form permissions)4010.0%
Code review + rework307.5%
QA (builder edge cases against the existing runtime)5513.8%
Customer demos, feedback, re-iteration4010.0%
Deployment, stabilization153.8%
Coordination / PM205.0%
Contingency102.5%
Total400100.0%

Duration: 9-11 weeks with 2 developers, if purchased.

Priced options (not included)

Options below are not in the pre-scoped price. Each is added only by signed change order and raises the aggregate cap by its listed amount if this feature is purchased.

Optional additions - not in the price

AdditionPrice basisWhat it is
Conditional form logic+50 hrsBranching, show/hide, calculated fields; the single biggest form-builder scope cliff
Approval routing on submissions+45 hrsWorkflow states, assignments, and notifications per form type
Form submission analytics+35 hrsTrends, compliance rates, overdue inspections beyond counts and export
Migrating existing form history+25 hrsDepends entirely on what format past sign-offs live in
Additional design iteration rounds+35 hrs per roundA structured revision pass beyond the two included rounds

Assumptions the price relies on

AssumptionIf it changes
The form runtime and best-practice forms from feature 10 are live before this startsWithout them, this becomes a larger standalone build, priced separately
Linear forms without branchingConditional logic is the first addition above
Roles and permissions are core product (the platform foundation)No permission build is priced here
Included

Platform Foundation & Security

$0 · our investment
Scope

Build order: continuous through 2027, front-loaded before feature 7 (mobile)

Price to Kelso: $0 - this is BlueCollar's investment in the platform Kelso runs on

What this is

Everything Kelso's scope requires from the platform itself, built and carried by BlueCollar as the product owner. It appears in this proposal at zero deliberately: It shows what the subscription and the partnership carry, and that the feature prices above are not padded with platform overhead.

What BlueCollar is investing in (2027)

  • Roles, permissions, and enterprise admin as table stakes - the platform's role machinery exists today (roles created and assigned feature permissions); BlueCollar seeds the field role templates (PM, superintendent, foreman, view-only), builds project-level access control and the admin experience, and extends permissions to each new feature as it ships. Core product, never a Kelso line item
  • Security hardening - ongoing hardening ahead of field and mobile expansion, including Kelso's isolated tenant
  • Production launch infrastructure - production email delivery, monitoring and alerting, automated post-deploy checks, tenant provisioning
  • Multi-tenant performance - caching, query performance, and event architecture that keep Kelso-scale data fast
  • Platform operations - AWS environments, storage, backups, security posture, and architecture
  • QA infrastructure - automated regression coverage run on every release

Why it's shown at $0

If Kelso commissioned this platform as custom development, work of this class would run to thousands of hours on the invoice over the life of the program. It is not on the invoice because BlueCollar owns the product and carries the platform: Kelso pays for Kelso features, and BlueCollar pays for the platform they run on.