Construction

Embedded today, in production

Northeast Florida Commercial Contractor

Custom apps the contractor owns, replacing the rented tools its team used to fight. One embedded engineer built the delivery system; the client's own small engineering team now ships on it.

An engagement that began as one embedded engineer in the contractor's own cloud and now runs as the client's own small engineering team, shipping owned apps with guardrails-first delivery: 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. And the harness turned out to be the part that transfers: what one engineer built, the client's own small engineering team now runs as its standard practice.

Approach

How I built it.

  • The engagement began as one embedded full-stack engineer working inside the contractor's own cloud; today that engineer leads the client's small engineering team building internal software and workflow systems. 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 knowledge base that is regenerated directly from the live database. 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.
  • Agentic engineering is the team's standard practice: a library of reusable, shareable AI-agent skills tied directly into the SDLC, so a skill written in one build is reused in the next.
  • Delivery runs through a guardrails-first harness: skills, sub-agents, plugins, and MCP tooling drive automated build, lint, and test; code review is scored against a rubric with structured commit trailers; a reviewer eval loop tracks rubric coverage; dependency and secret scanning run alongside; recurring security audits write findings to a dated report trail.
  • 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, regenerated directly from the live database. 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.

Delivery harness

Agent skills library
Reusable, shareable AI-agent skills tied directly into the SDLC. A skill written in one build is reused in the next.
Automated build, lint, test
Skills, sub-agents, plugins, and MCP tooling drive automated build, lint, and test.
Rubric-based review
Code review scored against a rubric, recorded in structured commit trailers, with a reviewer eval loop tracking rubric coverage.
Scanning + audits
Dependency and secret scanning, plus recurring security audits with findings written to a dated report trail.
Ticket triage
Managed agents monitor and triage incoming tickets.

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

Standard practice

Agentic engineering across the client's small engineering team: a shared skills library, rubric-based review, eval-tracked coverage

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. And it transfers: the harness one engineer built now carries the client's own team, with the skills library, review rubric, and checks intact whoever is in the seat.

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.