PREVAILADVISORY RidgeOS · Architecture Journey · May 2026
The RidgeOS Platform · Preview Built: 0 of 34 components
Toil retired: 0 of 23 manual processes
Actors · who uses RidgeOS
Field
Supervisors
Office
Execs
Frontends · what they see
Operator Mobile
Capacitor
Dispatch Web
new JMS
Approval Surface
supervisor
PowerBI
scoreboard
SharePoint
docs
Domain services · what they do
T3
Intelligence Layer · Azure OpenAI in Ridgeline tenant
contract IQ · predictive scheduling · voice-to-data
T2
CRM
customers + rates
T2
Reporting
PowerBI surface
T2
Document Store
SharePoint spine
T2
Compliance · full
competency · inductions
T2
Environmental
EPA waste register
T2
Fleet + Maintenance
Verizon-fed
T1
Scheduling + Dispatch
the new JMS
T1
Mobile Field Capture
voice · photo · sign-off
T1
Pricing + Invoicing
to Xero
T1
Compliance slice · licences + expiries · block-at-allocation
first ticket-of-truth
Data · spine
RidgeOS Database
Azure SQL · operational
Xero (financials)
invoiced · paid
SharePoint (docs)
signed · evidence
External integrations · 6 endpoints
Xero
PaySync
Twilio SMS
Verizon Connect
Azure Speech
Azure OpenAI
Foundation · built once · ✦ = PrevAIl accelerator
Landing Zone
IaC · pre-built
Repo Arch
CI/CD baked
Azure Tenant
subs · networking
Entra ID
RBAC · MFA
Observability
App Insights
For Mark + the Ridgeline leadership · May 2026
How RidgeOS gets built.
One committed build. Five optional unlocks.
This is how RidgeOS gets built. Phase 1 is a $40k committed build on PrevAIl's pre-built landing zone and repo architecture: foundation deployed and the new JMS in Ridgeline's hands at the end of month one and a half. Everything beyond Phase 1 is optional. Five additive unlocks, each with its own marginal cost and its own discrete value moment. Add the ones that earn their keep. Stop where the return runs out.
Phase 1 · LOCKED
$40k · 1.5 months

Foundation + new JMS. The committed build. Replaces the spreadsheet shape and the 5pm transfer at the end of month one.

Landing zone deployed day one. Repo and CI/CD wired. The new JMS rebuilt on TypeScript + React, drag-drop dispatch, SMS plumbing. Supervisors and the office move to the new dispatch surface; field crews still on paper until the field app is added. Nothing else is committed at this point.

$40k locked1.5 months
5 optional unlocks
Up to $140k · everything on (Option A)

Compliance + invoicing · Field experience · Spine A · Spine B · AI layer. Each one stacks on Phase 1. Each one is a separate yes.

$40k → $60k → $75k → $90k → $100k → $140k cumulative if Ridgeline takes all five with the JMS-extension field experience (Option A). Same eleven-module end state at the top. Each unlock has its own value moment named on its own slide; commit at the unlock, not at the program. Ridgeline can stop anywhere it has paid back. Choosing the dedicated mobile rebuild (Option B) adds $15k to every figure from the field experience onward.

35 componentsStop anywhere$140k Option A · $155k Option B
Why this is cheaper
Accelerators ✦

Landing zone, repo architecture, RidgeOS React scaffolds. Pre-built substrate, not invention. One platform, one stack.

A green-field rebuild would cost a lot more. PrevAIl brings the platform substrate already written. Landing zone is IaC the day we sign. Repo architecture and CI/CD pipelines are templated. The RidgeOS scaffolds (list views, edit forms, role permissions, audit log) sit inside the same repo, so compliance, fleet and CRM modules build into the RidgeOS web app instead of a separate low-code tool. We start at week three of what would otherwise be a green-field plan.

Landing zoneRepo + CI/CDReact scaffoldsOne platform
Prepared by PrevAIl Advisory · Confidential · v0.2
01 · Why this build is faster, leaner, cheaper
Less to invent. More to assemble.
A green-field rebuild of the operational platform on a modern stack is real work, no question. But the orders of magnitude in any such estimate assume a team starting at zero. PrevAIl doesn't start at zero. We start at week three of what would otherwise be a green-field plan, because the substrate underneath every module is already written. Less infrastructure to stand up. Less integration scaffolding to invent. Same eleven-module end state if Ridgeline wants the full picture.
Accelerator
Landing Zone ✦

Azure tenant, networking, security baseline, policy guardrails. Codified. Day one, not week six.

Standing up the Azure platform from scratch is typically 5-6 weeks of work. Our landing zone is an IaC artefact we deploy on day one of the engagement and parameterise to Ridgeline. Subscriptions, network topology, Entra tenant config, policy assignments, security defaults, key vaults. Done.

IaC · re-applied~1 month compressed
Accelerator
Repo Architecture ✦

Monorepo template. CI/CD, code standards, lint, test, deploy, observability hooks. Pre-wired.

Repo scaffold for the bespoke modules. TypeScript + React + Capacitor template. Pre-wired test, lint, build, deploy pipelines. Environment promotion. Branch policies. App Insights wired by default. The new JMS lands into a structure that exists rather than getting invented as it goes.

MonorepoCI/CD templated
Accelerator
RidgeOS Module Scaffolds ✦

React scaffolds for the "list + edit form + rules + audit" pattern. Compliance, fleet and CRM build into the RidgeOS web app as new views, not a separate tool.

Used when the compliance, environmental, fleet or CRM unlocks are added on top of Phase 1. Each one starts from a working scaffold we have shipped to other clients, not a blank canvas. Tailoring effort, not build effort. They build into the same RidgeOS codebase, behind the same Entra login, against the same platform database. One platform, one place to look. They do not feature on Phase 1 because Phase 1 doesn't need them.

React scaffoldsSame codebaseOne login
$40k
committed at Phase 1
Locked. Foundation deployed and the new JMS in Ridgeline's hands at the end of month one. Nothing else is committed.
+$100k
max optional spend (A)
If Ridgeline takes all five optional unlocks with the JMS-extension field experience. $20k + $15k + $15k + $10k + $40k. Option B (dedicated mobile rebuild) adds $15k = +$115k.
~5 mo
end to end · all on
If all five optional unlocks are taken in sequence with Option A field experience.
Next slide: the foundation lights up on the left. Landing zone and repo arch first, because they are the work we are not doing.
02 · Foundation · the work we are not doing
Landing zone, repo, Azure tenant. Day one.
Foundation lights up on the left first. The two cards marked ✦ are pre-built PrevAIl IP. The third is configured against it. This is the work that doesn't get invented this time. Folds into the $40k locked Phase 1.
Foundation · day one · part of $40k Phase 1
Landing Zone ✦ · Repo + CI/CD ✦ · Azure Tenant + Entra ID
$10k part of $40k Phase 1
Accelerator ✦
Landing Zone · IaC

Azure subscriptions, network topology, Entra config, policy, key vault. Parameterised, deployed.

A green-field platform stand-up is typically 5-6 weeks. Our landing zone deploys on day one, parameterised to Ridgeline's tenant. The platform database (Azure SQL) stands up alongside the JMS in Phase 1, and the same database is extended by each later unlock as new views and tables get added to the same RidgeOS app. The cleanup work the landing zone doesn't include sits inside Phase 1's $40k budget.

IaCDay one~5 wks compressed
Accelerator ✦
Repo Architecture + CI/CD

Monorepo for the bespoke modules. Pipelines, branch policies, environment promotion, App Insights wired by default.

The new JMS lands into a repo that already knows how to test, build, lint and deploy. No first-fortnight invention of the scaffolding. Conventions, code owners and structured logging baked in. Means the bespoke dev spends weeks one and two on the JMS itself, not the toolchain. App Insights observability rides the same template.

MonorepoCI/CD bakedApp Insights
Configured
Azure Tenant + Entra ID

Subscriptions, RBAC, MFA, conditional access, app registrations. All applied by the landing zone.

The landing zone applies the security baseline. Entra app registrations for the new JMS. RBAC roles for office and supervisor. MFA on admin accounts. Conditional access on the dispatch web. Same standard we apply on every tenant.

RBAC · MFAApp registrations
Foundation lit. Next slide: the new JMS lands on top. That's Phase 1, locked.
PHASE 1 · COMMITTED
03 · The new JMS · the only thing committed
Phase 1 · 1.5 months · LOCKED
Foundation + the new JMS · supervisors and the office on the new dispatch surface
$40k cum $40k
Look left. Foundation already in. Two office actors light up, the dispatch web comes online, the new JMS lands, the RidgeOS platform database stands up underneath it, and Twilio SMS wires in. End of month one, the spreadsheet shape and the 5pm transfer are gone and the single-point-of-failure that the current JMS sits on is gone with them. Field crews still on paper at this point. Compliance, invoicing and everything else are decisions for later.
Bespoke · M1
Scheduling + Dispatch · the new JMS

Drag-drop calendar by truck, driver, day. Pre-allocation queue. Dispatch via Twilio SMS. Lands into the repo scaffold from day one.

The spreadsheet "shape" retired. The 5pm transfer retired. Supervisors move from continuous all-day editing to discrete decision moments. Allocation has no block-at-allocation yet because the compliance slice is an optional later unlock; for now allocation is a faster surface for the same human-judgement decisions.

Drag-dropTwilio SMSRepo scaffold
Risk retired
Replaces the current JMS · removes the single-point-of-failure

The current JMS sits on a third-party developer's server, on an old codebase, with no source-of-truth backup Ridgeline controls. Phase 1 retires that.

The current JMS works well for what it does, which is exactly why we're rebuilding it on the same shape. What we are replacing is the substrate. The existing code lives on the original developer's domain, who has stepped away to a full-time job. Ridgeline does not own the code, does not have a clean export of the data, and is one server cancellation away from a very bad week. Phase 1 rebuilds the JMS into Ridgeline's own Azure tenant, on PrevAIl's repo with CI/CD, source control, environment promotion and observability. Same simplicity for the operators, vastly less operational risk for the business.

Ridgeline-owned tenantSource controlBackups + observability
What's NOT in Phase 1
Everything else is a separate yes

No field app. No invoicing. No compliance. No CRM. No BI. No AI. Each is its own optional unlock from the next slide onwards.

Phase 1 is deliberately small. It buys Ridgeline the new JMS on a foundation that can absorb anything else later, without committing to anything else now. The case for stopping here is real if the operational-risk reduction plus the spreadsheet retirement is the value Ridgeline wants. Field crew, accounting and compliance carry on as today until Ridgeline chooses to unlock the next step.

Field: optionalInvoicing: optionalCompliance: optional
Live
new dispatch surface
Supervisors run the day from the new JMS at end of month one. Same operational pattern as today, on Ridgeline-owned infrastructure.
Off
third-party server risk
Current JMS lives on the original developer's domain with no Ridgeline-owned backup. Phase 1 retires that single-point-of-failure into Ridgeline's own Azure tenant.
$40k
LOCKED · all-in
Includes the foundation deployment, the new JMS build, the cutover. Nothing else is committed at this price.
Stop?
a real option
If the operational-risk reduction plus a Ridgeline-owned dispatch surface is all Ridgeline wants, Phase 1 stands on its own. Ridgeline can stop here.
Phase 1 doesn't retire any of the manual workflow yet. It rebuilds the JMS in Ridgeline's tenant on the same shape so operations carry on as today, with the platform risk gone underneath. The next five slides are optional unlocks — each retires its own pile of toil.
+ OPTIONAL UNLOCK · 1
04 · Add the compliance slice + invoicing
Optional · +0.5 month
Compliance slice + invoicing · Simpro OUT · Xero direct · PaySync direct
+$20k cum $60k
Compliance slice + invoicing both land together as new views inside the RidgeOS web app. They share the same supervisor approval surface and the same platform database the JMS already uses. Biggest single cash-out moment of the whole program lands here. Simpro off the books. Xero direct. PaySync direct. Allocation becomes safe.
M4 slice
Compliance slice · licences + expiry

Operator master with licences, tickets, expiry dates. Daily alerts. Blocks unsafe allocations in the JMS from this point.

Not the full Module 4 (that lands in the Spine A unlock later). The slice absorbs the manual registers and makes allocation safe. Built into the RidgeOS web app using the React scaffold pattern PrevAIl has shipped before. Tailored, not invented. The new JMS refuses unsafe assignments before they ship because the compliance data lives in the same database.

Built into RidgeOSBlock at allocation now
Bespoke · M3
Pricing, Proforma + Invoicing

Supervisor approval surface. Calculates against rate sheet. Variations captured. Fires invoice straight into Xero. Direct-to-PaySync payroll.

Excel proforma macro retired. Real-time labour recovery replaces the 10-12 day P&L lag. Simpro subscription off the books from cutover. PaySync payroll fed by the system. Full bookkeeping retirement (~$70-80k/yr) waits for the field experience unlock to land too, because the docket-to-proforma loop has to run end to end.

Xero directPaySync directSimpro OUT
Why now
The case for this unlock

Largest single dollar-out moment. Simpro retired ($30k/yr), Jordan's separate PaySync keying loop retired (one supervisor approval now feeds both invoicing and payroll), proforma macro retired, P&L lag closed.

Sequenced before the field experience because the immediate cash hit is bigger and the dependencies are simpler. The field experience unlock then completes the bookkeeping loop and lands the ~$70-80k/yr offshore saving on top. Compliance slice also makes the JMS dispatch surface safe in the same delivery.

Biggest cash hitField unlock completes the loop
Toil retired here +6 manual processes off the books · 6 / 23 total
×The Excel proforma macro
×Print → scan → "pending invoices" email loop
×Offshore data-entry team (~$70-80k/yr · once field is in)
×Jordan's separate PaySync keying loop
×Simpro subscription (~$30k/yr) and the cycle around it
×10-12 day P&L lag and the month-end allocation work
Out
Simpro · day one of cutover
$2,514/month off the books. ~$30k/year direct.
Safe
block-at-allocation
JMS reads licence + expiry on every allocation. Site refusal at gates collapses; regulator exposure on incidents collapses.
P&L
10-12 day lag closed
Real-time labour recovery as jobs invoice. Margin visible per invoice as it goes out.
+$20k
cum $60k
+0.5 month of build. Both M3 (invoicing) and the M4 slice (compliance) built into the RidgeOS web app on the React scaffold.
+ OPTIONAL UNLOCK · 2 · CHOICE
05 · Add the field experience · two ways to deliver it
Optional · paper out · audit trail · voice / photo / sign-off
Two delivery options · same operator outcome · pick the one that fits Ridgeline
+$15k or +$30k cum $75k (A) · $90k (B)
Field crews need to capture pre-starts, dockets, photos, sign-offs and voice notes. Two ways to deliver that experience. Same operator outcome in the field. Different technology underneath, different cost, different ongoing operations posture. Both options reuse the JMS code, the Entra auth, the platform database and the API plumbing. The split is only in how it gets shipped to the iPad.
Note: this is also where the supervisor's manual time entry retires. The iPad captures start, finish and on-site times at source, so the supervisor's approval moves from re-keying paper time sheets to check-and-tick on already-captured data.
Option A · RECOMMENDED
Extension of the JMS · same web portal on iPad

+$15k · cum $75k · ~0.5 month
Extend the JMS web portal with touch-first "today's runs for this truck" views. Same URL, same code, same login. Add-to-home-screen PWA gives it an icon. Camera, voice and signature via Safari natively. Truck-scoped Entra login.

How it works. Each truck gets an Entra ID account scoped to the truck. Driver opens the JMS portal from the iPad home screen, authenticates, lands on a touch-optimised "today" view inside the same web app the supervisors use. Camera for photo evidence via native Safari APIs. Voice-to-text via Azure Speech directly. Touch signature pad. Offline via service worker + IndexedDB; syncs on reconnect.

Why this is the easier business. One codebase, one deploy, one URL. Updates ship instantly to every truck the moment they next open the portal, no app-store review. No mobile device management overhead for Ridgeline IT to push updates. Same Entra login as the dispatch surface so support is trivial. Lower build cost, lower run cost, faster iteration. Easier to work, easier to operate.

Trade-offs. Slightly more careful engineering on the offline boundary. Tied to iPad / Safari conventions. Some platform-native features (push notifications, haptics, custom share sheets) need workarounds or sit outside scope.

+$15k~0.5 monthSame web portalInstant updatesLower TCO
Option B · ALTERNATIVE
Dedicated mobile app rebuild · iPad + Android

+$30k · cum $90k · ~1 month
Rebuild the field experience as a native Capacitor app. Submitted to Apple App Store and Google Play. Branded Ridgeline icon on the home screen. Native push, native offline, native camera + voice.

How it works. Capacitor packages the same React UI into a native iOS and Android app. Native camera, native voice (or Azure Speech), native signature, native offline storage. App-store distribution; deployable via Apple Business Manager or Google MDM. Push notifications for new jobs land natively.

Why someone would pick this. Most polished operator experience. Bulletproof offline by default, including in low-coverage areas. Native push notifications mean a new urgent dispatch reaches the driver even if the app is closed. Brand presence on the device home screen.

Trade-offs. $15k more to build than the JMS-extension option. Apple and Google app-store review on every update (days of waiting). MDM deployment overhead for Ridgeline IT. A second build pipeline to maintain even though most logic is shared with the web portal. Slower to iterate when something needs to change.

+$30k~1 monthApp-store cycleNative pushMDM overhead
Toil retired here · same outcome both options +6 manual processes off the books · 12 / 23 total
×Triplicate paper job docket
×Paper time sheet (Monday-morning pile)
×Daily paper truck checklist + DVR
×Paper tool checklist + SWMS sign-on
×Paper customer sign-off
×WhatsApp photo evidence to clients
Paper
OUT in the field
Same whichever option is chosen. Triplicate dockets, paper SWMS, paper DVR, paper truck checklists all retired.
Audit
artefacts exist
Same whichever option is chosen. Timestamped photos, signed dockets, completed pre-starts. The first defensible audit trail Ridgeline has.
Easier
Option A wins on operations
No app store, no MDM, instant updates, same Entra login as the rest of RidgeOS. Lower total cost of ownership. Recommended unless the dedicated-app polish is genuinely the deciding factor.
Polished
Option B wins on UX
Native feel, strongest offline guarantees, push notifications wake the driver to a new job. Worth the extra $15k if the operator UX is the deciding factor.
Default path through the rest of this deck assumes Option A. If Ridgeline chooses Option B, add $15k to every cumulative figure from here on.
+ OPTIONAL UNLOCK · 3
06 · Add safety, environment, fleet
Optional · +0.5 month
Compliance full · environmental · fleet + maintenance · defensibility unlocked
+$15k cum $90k
Three modules land together as new views inside the RidgeOS web app. The React scaffolds are patterns we already own. Verizon Connect wires in. Safety, environmental and fleet all become defensible at the regulator and at the tender.
M4
Compliance · full

Competency cross-checks. Inductions. The manual registers fully absorbed. State-by-state competency variances.

Picks up where the compliance slice left off. Full operator master, competency matrix, inductions, role-vs-task cross-checks. State-by-state competency variances ready for the interstate conversation. No more chasing tickets. Built into RidgeOS on the same scaffold as the slice.

Full competencyinterstate-ready
M5
Environmental Compliance

EPA-aligned waste register fed automatically from the field docket. Quarterly regulator view.

No double entry. Waste type, weight, source job, disposal site and signed receipt come straight from the field capture. Audit trail on every load. Hard requirement for the tier-one principals tendering. Built into RidgeOS as a new view over the same database.

EPA-gradeAuto-fed from field
M6
Fleet + Maintenance

Truck master, service schedules, defect log, Verizon Connect feed. Service status visible at allocation.

A truck overdue for service cannot be allocated to a 14-hour the major project shift. Defect patterns surface over time. Maintenance supervisor spreadsheet retired. Verizon API integration sized in the working assumptions; mild scope risk worth confirming early. Same RidgeOS web app, new view.

Verizon feedBlock at allocation
Toil retired here +4 manual processes off the books · 16 / 23 total
×Operator induction spreadsheet (full)
×Fleet + truck service spreadsheet
×EPA waste register spreadsheet
×Site service-status emails for "is this truck in service"
Safe
competency · per state
Defensible safety record. Site refusal at gates collapses. Regulator audit story complete.
Tender
EPA-ready waste
Tendering to the tier-one principals with waste evidence that comes auto-fed from the field, not retrofitted.
Fleet
defect patterns visible
Live status at allocation. Pattern detection over time. Maintenance spreadsheet retired.
+$15k
cum $90k
~0.5 month of bespoke work on the RidgeOS scaffold. Three modules land together because the React patterns already exist; tailoring effort, not invention.
+ OPTIONAL UNLOCK · 4
07 · Add CRM, the scoreboard, the document spine
Optional · +0.5 month
CRM · PowerBI · SharePoint · the morning scoreboard for the execs
+$10k cum $100k
Exec actor lights up. PowerBI surface and SharePoint portal land. The execs get the morning scoreboard. WhatsApp-as-intake is retired. "Where's the signed copy" has an answer.
Note: WhatsApp itself stays as a comms channel for the team — what's retiring is WhatsApp as the intake workflow. Customer requests, rate confirmations and tender enquiries route through the CRM from this unlock onward.
Off-the-shelf · M7
CRM · clients + rates

Client master, rate schedules, equipment hire rates, tender pipeline. Built into the RidgeOS web app on the same scaffold as compliance and fleet.

Source of truth for the rate cards the new JMS and the invoicing surface both pull from. WhatsApp-as-intake retired. The rate sheets buried in tender documents and in Sam's head finally have a home. Lives in the same RidgeOS codebase against the same platform database, so JMS and invoicing read it natively without integration. If Ridgeline ever wants a separate marketing/lead-gen CRM later (HubSpot etc) that's a separate conversation; this unlock covers operational CRM only.

Built into RidgeOSSame database
Off-the-shelf · M8
Reporting · PowerBI

Live dashboards over the RidgeOS platform database + Xero. Margin by truck, by customer, by service line. Labour recovery in real time.

Closes the 10-12 day P&L lag. On-time KPI surfaces, which is the sales weapon when crane time costs $10-20k an hour. Underperforming customers, trucks and service lines become visible. The execs' morning scoreboard.

Real-time marginOn-time KPI
Off-the-shelf · M9
Document Store · SharePoint

Site collection per business function. Indexed by client, job, doc type. Retention rules automated.

Single place for "where is the signed copy". Findable in an incident. File-share sprawl retired. Lays the data substrate the AI layer (next unlock) needs to reason over.

Audit-defensibleAI substrate
Toil retired here +4 manual processes off the books · 20 / 23 total
×WhatsApp + phone customer intake
×Rate sheets buried in tender PDFs and in Sam's head
×Tender pipeline scattered across inboxes
×File-share sprawl for "where is the signed copy"
Live
scoreboard for the execs
Margin per truck, customer, service line. Real-time labour recovery. 10-12 day P&L lag retired.
CRM
rate cards in one place
WhatsApp-as-intake retired. Rate sheets out of Sam's head and into the system every other module reads from.
+$10k
cum $100k
+0.5 month of configuration. CRM, BI and SharePoint are all off-the-shelf with light tailoring; not invention.
+ OPTIONAL UNLOCK · 5
08 · Add the intelligence layer · the moat
Optional · +1.5 months
Azure OpenAI in Ridgeline's tenant · contract IQ · predictive scheduling · voice-to-data
+$40k cum $140k
One service lands on top, but it changes the posture of the business. Privately hosted Azure OpenAI in Ridgeline's own tenant. Reasons over the documents from Spine B, the contracts from CRM, the field data from the field app. Ridgeline starts bidding on insight, not just price. Pre-requisite: at least one of the previous unlocks is in, so the AI has data to reason over.
Capability
Contract intelligence

Tendered rates, variations, scope changes against contracts. Surfaces missed billable variations and at-risk margins.

Reads the contracts in SharePoint. Cross-references against job and invoice data. Flags scope creep, variations that should have been billed, rate drift. The Ridgeline commercial team gets a question-and-answer surface over its own contract estate.

Revenue protectionScope creep
Capability
Predictive scheduling

Allocation suggestions from historical patterns. Demand-side forecasting. Capacity stress tests.

The dispatch web in Phase 1 was the operating surface. The AI layer adds a recommendation layer on top. "Tomorrow's allocation, with reasons." "Where are we likely to be capacity-constrained next week." Operator stays in control; the system advises rather than decides.

RecommendationForecast
Capability
Voice-to-data across the field app

Operator dictates the job in natural language. The model structures it into fields. Field UX collapses further.

The field app had voice-to-text. This layer turns that into voice-to-structure. Operator says "delivered to site three, customer was happy, two extra waste loads went off to Tip B, supervisor signed". The model maps it to job state, customer sentiment, waste lines and sign-off. Field time drops further.

NL → structureField UX
+1 integration
Azure OpenAI · in Ridgeline's tenant

Private endpoint in Ridgeline's tenant. Data never leaves. Cost stays variable on usage.

Azure Speech is already in if the field app unlock landed (used for voice-to-text). OpenAI joins it for reasoning. Both private endpoints. Variable cost: estimate $10-25k/year combined depending on usage. Defer the precise number until usage data starts.

TenantedVariable cost
Toil retired here +3 manual processes off the books · 23 / 23 total
×Manual contract-variation hunting at month end
×Tender authoring from scratch (85% reuse)
×Allocator gut-feel scheduling without forecast
+$40k
+1.5 months
The biggest single optional unlock. Pays back via revenue protection (missed variations) plus the interstate expansion story.
interstate
software question now
Expansion becomes "deploy the platform in another state" rather than "stand up another ops team".
Moat
defensible at scale
Ridgeline bids against larger competitors on insight. Hard to copy without the data substrate underneath.
09 · Full picture · everything turned on
35 components. $140k. ~5 months. Phase 1 + 5 optional unlocks taken on the recommended path.
Look left. Every component lit. Phase 1 was the committed $40k. Each unlock after was its own decision, including the iPad-versus-dedicated-app choice on the field experience. Eleven-module end state, delivered for $140k over ~5 months, entirely under Ridgeline's control as to which optional steps are taken and when. Numbers shown default to the Option A field experience (iPad in JMS); Option B adds $15k to every figure from the field experience onward.
Phase 1 · $40k · LOCKED
Foundation + JMS

1.5 months. Spreadsheet shape retired. Supervisors on the new dispatch surface.

The only committed phase. Stands on its own if Ridgeline chooses to stop here.

1.5 mo
+ Compliance + invoicing · +$20k = $60k
Simpro OUT · Xero direct · safe allocation

Biggest single cash-out moment. Built into the RidgeOS web app.

+0.5 month. Simpro off the books, real-time labour recovery, block-at-allocation on licences. ~$100k/yr of direct cash starts coming back once paired with the field experience.

+0.5 mo
+ Field experience · +$15k = $75k (A) / +$30k = $90k (B)
JMS extension, or dedicated mobile rebuild

Paper out. Audit trail in. Voice + photo + sign-off. Choice of delivery option.

~0.5 month (A) or ~1 month (B). Option A = extend the JMS web portal so iPads serve the field view from the same URL; recommended for lower TCO and easier operation. Option B = dedicated Capacitor app; for native polish, push and offline guarantees.

Two optionsOption A default
+ Spine A · +$15k = $90k
Safety · environment · fleet

Compliance full, EPA waste register, fleet defect log.

+0.5 month. Tendering (the tier-one principals) and interstate expansion become defensible.

+0.5 mo
+ Spine B · +$10k = $100k
CRM · BI · SharePoint

Morning scoreboard. WhatsApp intake retired. Document spine for AI.

+0.5 month. The execs get the daily view. Substrate for the AI layer.

+0.5 mo
+ AI layer · +$40k = $140k
Contract IQ · forecasting · voice

Azure OpenAI in Ridgeline's tenant. The moat.

+1.5 months. The defensible differentiator. Bids on insight, not price.

+1.5 mo
$40k
committed only
Phase 1 alone. Everything else is a separate yes.
$140k
max if all on (Option A)
Phase 1 + 5 unlocks with iPad-in-JMS field experience. Option B (dedicated app) adds $15k = $155k. Same eleven-module end state either way.
~$305k
/yr total offsets
Conservative read of the annual offsets. Most landing by the time the compliance + invoicing and field experience unlocks cut over.
~5 mo
end to end · all on
If every unlock is taken in sequence on the Option A field experience.
10 · The math · what each unlock unlocks
$40k buys the spine. Each unlock pays for itself on its own.
The annual offsets don't change with the build approach. The shape of the commitment does. Phase 1 alone unlocks the dispatch upgrade and retires the operational risk underneath. Each optional unlock has its own discrete payback. Ridgeline can stop at any point that the next unlock isn't earning its keep.
UnlockMarginal costWhat it pays back
Phase 1 · Foundation + JMS$40k LOCKEDSpreadsheet shape retired. Supervisor time on dispatch decisions, not data entry.
+ Compliance slice + invoicing+$20kSimpro $30k/yr. Jordan's separate PaySync keying loop retires (one approval feeds both invoicing + payroll). Safe allocation. P&L lag closed.
+ Field experience (Option A: JMS extension on iPad · Option B: dedicated mobile rebuild)+$15k (A) or +$30k (B)Paper out. Audit trail in. Customer sign-off digital. Bookkeeping $70-80k/yr loop closes (paired with the invoicing unlock).
+ Spine A · safety / env / fleet+$15kTender defensibility (the tier-one principals). interstate expansion competency. Fleet defect patterns.
+ Spine B · CRM / BI / docs+$10kThe execs' morning scoreboard. WhatsApp intake retired. ~$180k/yr supervisor capacity redirectable.
+ AI layer+$40kRevenue protection on contract variations ($20-50k/yr). interstate-expansion story. Moat.
Total if all on$140k (Option A) / $155k (Option B)~$305-348k/yr offsets · most landing by the field experience unlock
Recommendation
Commit Phase 1 · sequence the rest

$40k to start. 1.5 months to the new dispatch surface. Add compliance + invoicing then the field experience in the next 1-1.5 months and the cash offsets are already live.

The natural sequence: Phase 1 → compliance + invoicing → field experience (Option A). That gets Ridgeline to ~$75k total spend with the bulk of the direct cash offsets already landing. Spine A, Spine B and the AI layer then become genuine value choices, not assumptions.

$40k locked~$75k to full offsets
Decision points
When Ridgeline decides

Each unlock is a yes-or-no at its own moment. Cancel anytime there isn't payback.

Phase 1 stands on its own. Field app + compliance + invoicing have direct cash paybacks that show up inside a quarter. Spine A and B are tender + scoreboard plays. AI is the moat and the interstate-expansion story. Each conversation is its own.

5 yes-or-noCancel anytime
Honest caveats
What could move the number

Data cleanup beyond scoped. Verizon API tighter than assumed. AI agent compression below the doubling we assume.

The accelerators take the platform risk off the table. Residual risk sits in data cleanup, third-party API surface and AI compression rate. Each is tracked in week one. If any one materially shifts, re-baseline at the unlock rather than absorbing the slip.

Data cleanupVerizon APIAI velocity
Prepared by PrevAIl Advisory for Mark + the Ridgeline leadership. The architecture report and options proposal carry this forward as scope input. Numbers tighten once the five open architecture decisions are landed.
← → · 1-9 · tap any card