Five surfaces. One source of truth.
Estimates flow into budgets. Budgets fund schedules. Schedules drive dailies. Dailies feed billing. Sage watches it all and flags what's drifting. No exports, no re-keying.
Take on more jobs without hiring admin. Sage drafts the paperwork, you stay on tools.
Send proposals in an hour, not a weekend.
Pull from your assemblies. Mark up by trade or by line. Sign off in-app. Convert directly to a budget when accepted — no re-typing.
- Assembly library, per-trade markups
- One-click Proposal → Budget
- Client signs in-app
- Sage drafts from a scope description
Gantt that the foreman actually opens.
Drag-and-drop on the desktop, swipe-and-snap on the phone. Critical path lights up. Subs get their own portal slice — they only see their work.
- Critical path auto-detected
- Sub-only portal view
- Mobile-native swipe gestures
- Tied to dailies for real progress %
A foreman files one in 90 seconds.
Voice-to-text. Photo first, then text. Auto-pulls weather. Roster prefilled from yesterday. Sage flags missing trades and asks the right follow-up.
- Voice-to-text + photo first
- Weather pulled by location
- Sage prompts: "Drywall wasn’t logged — were they here?"
- Sub roster prefilled from prior day
AI that knows every record in your company.
Wired into every primitive. Drafts COs, fills timesheets, surfaces burn. Connects to Claude.ai over MCP — query your jobs from any chat.
- Drafts COs and proposals
- Answers in plain English with citations
- MCP server: connects to Claude.ai
- Per-user permissions — never sees what you can't
Which of my active jobs is most likely to blow budget by month-end?
Native, not a wrapped browser.
Capacitor on iOS + Android, Electron on macOS, web everywhere. Same data, same auth, same shortcuts. Offline-first — file dailies in a basement, sync when you hit signal.
- iOS + Android native
- macOS desktop app
- Offline-first sync
- Apple Pencil for markup