Construction
Embedded today, in productionNortheast Florida Commercial Contractor
Custom apps the contractor owns, replacing the rented tools its team used to fight. The system of record stays; the daily work moves into software they own.
An embedded engineer in the contractor's own cloud, building apps the company owns app by app: cost-to-complete forecasting, change-order routing, approvals.
Problem
The problem.
Mid-market commercial construction runs on rented software priced per person: every new hire and every promotion adds recurring cost without adding proportional value. Most of what those tools do day to day is narrow: enter time, post a job-cost batch, review a forecast, approve a change order. Rebuilding those flows used to need a software team. With managed cloud surfaces, a REST-accessible backend, and AI-assisted code generation, one embedded engineer now rebuilds them app by app as software the company owns, while the system of record stays in place. What the company ends up owning is a harness: the setup around the AI that connects it to their systems, enforces their rules, catches mistakes, and remembers what works, with a build loop landing shipped improvements into that software week after week.
Approach
How I built it.
- One embedded full-stack engineer working inside the contractor's own cloud. The system of record stays in place; its vendor REST API handles every write.
- Custom apps the company owns replace specific rented workflows: cost-to-complete forecasting, change-order routing, project lookup, job-cost reporting, approvals. Each feature ships as a single PR.
- Reads go through thousands of live SQL views from the system of record, compiled into a queryable, drift-monitored knowledge base. A schema-drift detector catches upstream upgrades before they break downstream code.
- Writes go through the vendor's official REST API so every mutation lands through the vendor's own audited pipeline. No middleware platform, no low-code suite, no off-the-shelf "construction tech" subscription.
- Each app lands behind Entra ID with project-scope authorization enforced per route. Every role whose daily work moves into software the company owns is one less per-person bill.
Architecture
What's running, and why.
Frontend / app surface
- Azure App Service
- Node host serving a Vite + React 19 + TypeScript bundle behind Express.
- Azure Static Web Apps
- Functions runtime for lightweight HTTP endpoints alongside the main app.
Auth
- Entra ID
- Single sign-on with project-scope authorization enforced per route.
Data layer
- Reads: ERP database (SQL Server)
- The ERP is the read system of record, untouched. Thousands of live SQL views are compiled into a documented, cross-referenced knowledge base. The read contract every app builds against.
- Writes: ERP vendor REST API
- All mutations (projections, change orders, subcontract batches, AP/JC posts) go through the vendor's own audited pipeline.
- Schema-drift detector
- Watches ERP upgrades and flags view-shape changes before they break downstream code.
CI/CD and operations
- Azure DevOps Pipelines
- Single-PR-per-feature flow with build / lint / test gates before deploy.
- Operational tooling
- Diagnostic scripts plus an isolated scripts/dangerous/ directory for write-class operations that need explicit human gating.
Outcome
What shipped.
$150K/yr
Retired per-seat licenses, measured against the bill they replaced. Stakeholder-confirmed.
And growing
More rented tools retiring in parallel as the team moves into owned apps
Multiple apps
Live in production: cost-to-complete forecasting, change-order management; more in pipeline
Thousands
SQL views from the system of record, compiled into a drift-monitored read contract for every app
Owned dashboards
Reporting moving off rented viewers into dashboards the company owns
Pending
Workflow time savings (forecasting, approvals, batch posting). Not yet measured.
Stack
- TypeScript
- Node.js
- React 19
- Vite
- Express
- ERP (SQL Server)
- ERP REST API
- Azure App Service
- Azure Static Web Apps
- Azure Functions
- Entra ID
- Azure DevOps
- BI dashboards
What this proves
Where this ports.
A regional GC, MEP, or specialty contractor in Northeast Florida doesn't need to wait for a "construction tech" platform. The rented tools running narrow daily work are a recurring six-figure line item, and that is just the part you can count: the bigger return is the work owned software unlocks. The pattern (one embedded engineer, the contractor's own cloud, vendor-API writes, governed reads, app-by-app replacement) ports directly to the next contractor. You own what gets built.
Want the same pattern in your business?
Thirty minutes. Describe what you're working on and I'll tell you if I can ship it.