DETAIL 1 / A-101 — JOBSITEPROJECT 1 OF 7
Teal Tools
WEB + iOS · TEAL CONSTRUCTION COMPANY
The web and iOS platform I built, and still run, for the project teams at Teal Construction Company, a general contractor.
- DETAIL
- 1 / A-101
- SHEET
- A-101 · JOBSITE
- STATUS
- IN PRODUCTION
- ZONE / LAYER
- JOBSITE · SOFTWARE
- BUILT WITH
- React, Firebase, Capacitor iOS
- STEP 1 · USERS A superintendent, project manager, accountant or executive works in the Teal Tools web app or the iOS companion.
- STEP 2 · APP The app calls Cloud Functions. It never talks to Autodesk directly.
- STEP 3 · FUNCTIONS Functions pull project data from Autodesk Construction Cloud, and a Java service parses the schedule for procurement checks.
- STEP 4 · TEAL BOT Teal Bot, the AI assistant, can only propose a change. An authorization server checks its projects and tools on every request.
- STEP 5 · APPROVAL GATE A person approves the write. Until then, nothing changes.
NO AI WRITE SKIPS THE GATE.
PROBLEM
Project data lived in Autodesk Construction Cloud, budget spreadsheets, contracts, schedule files, staffing plans and paper receipts. Project managers needed budget health and procurement risk in one view. Superintendents needed to submit field tickets and expenses from the field, and accounting needed card statements reconciled.
BUILD
A React and TypeScript web app on Firebase with role-based access, plus a Capacitor iOS companion with receipt capture and push notifications. Every Autodesk call goes through Cloud Functions. A Java service on Cloud Run parses .mpp, .xer and .xml schedules so procurement packages are checked against the schedule. Teal Bot, the AI assistant, can only propose changes, and a person approves every write.
STATUS
In production use at Teal Construction Company. The iOS app (v1.0) reaches employees through an unlisted App Store listing. In active development as of September 2026.
STACK
- React 19
- TypeScript
- Vite
- Tailwind CSS
- Firebase
- Capacitor 8 (iOS)
- Autodesk Construction Cloud APIs
- Java + MPXJ on Cloud Run
- Node/Express
- Model Context Protocol
- Microsoft Teams app
- Vitest
- GitHub Actions
- Sentry
KEYNOTES · BUILD NOTES
- As of August 2026, I wrote 1,052 of its 1,082 commits, starting in November 2025.
- About 2,100 Vitest tests across 438 files, plus emulator tests for security rules and agent authorization.
- Release gate: typecheck, lint, tests, build, bundle budgets, secret scan, npm audit. Functions deploy only the commit CI verified.
- Three App Store review rounds to an approved v1.0.
MICHAEL MORALE · DETAIL 1 — TEAL TOOLS
DETAIL
1 / A-101
SHEET
A-101