Built for the truck, not the desk

The field app your crew
will actually open.

Your crew has a phone in their pocket and a CRM they never open — so the day comes back as texts, photos and a receipt in the console, and somebody at a desk types it all in on Monday. That's the part this ends. We didn't skin a desktop — it's built for the phone, not shrunk onto it: Ionic and Capacitor on the same Vue stack as the CRM, so it's the same records, the same ten palettes and one login. Installing it from the stores is the last step before launch.

OneRoof · rebuilt native
NativeNEW BUILD
Vue 3 · Ionic · Capacitor — one codebase, phone-first
9:41OneRoof · Field5G ▲
Hey, Marcus
Friday, July 24
MV
3
appointments today
Canvassing
Territories · doors
Crew
Photos · receipts
Sales
Appts · proposals
Settings
Profile · themes
Next up
Hvillard — inspection2841 Fenmore St
2:00P
The day, screen by screen

The work happens on a lawn, in a truck, at a kitchen table

Not one of those places has a desk in it. Here is each part of the day — and the part of it that stops coming back to the office as somebody else's typing.

The front lawn of a lived-in white Victorian house with hanging ferns on its porch, an extension ladder to the eave, a crew member dragging torn-off shingles across the grass and more of the crew working the bare deck above.
This is the office. A lawn, a porch, and whatever is in a pocket.
9:41Sales Hub5G ▲
Sales Hub
R. Diaz · Sales rep
RD
3
scheduled today
Appointments
Contacts
Contact card
New proposal
Today's appointments
Hvillard — inspection2841 Fenmore St
2:00P
Okafor — estimate119 Crestline Ave
4:30P
01 · Home & Sales Hub

A desktop menu on a six-inch screen is why nobody opens it

So the day's work comes back as texts and photos, and gets keyed in later by somebody who wasn't there. Sign in here and the app opens to exactly the modules that role is allowed to see — a rep lands in the Sales Hub with today's count front and centre and one tap to appointments, contacts, the contact card or a fresh proposal.

And there is no second account to hand out. Your crew signs in where the office signs in; the app is handed a signed, single-use ticket good for a few minutes and trades it for a real session — same identity, same MFA challenge, nothing re-typed and nothing separate to revoke when somebody leaves.

  • Role-gated tiles — canvassers, crew and sales each see their own home
  • Today's appointments surfaced the moment the app opens
  • One sign-in for desktop and phone — the ticket is single-use and expires in minutes
  • Same records as the desktop CRM — no separate mobile silo
02 · Canvassing

You find out Friday which streets actually got knocked

The door data lives in a rep's head and a paper map, so by Monday a “not home” and a “not interested” look the same — and you re-knock the warm ones and skip the cold. Draw territories, drop pins as you work the street, and log a disposition in one tap. A door worth chasing becomes a contact in the CRM and fires your own lead rules from there — no clipboard, no re-entry back at the office. And the part of a knock nobody would ever stand on a lawn and type — what he actually said about the north slope — a door-knock button can simply record: it runs with a timer on screen while the rep keeps working the card, and the audio files itself onto that contact. Walk out of canvassing and the mic shuts off with you. Canvasser pay follows the plan on their record — a percent of the sale, a percent of the profit, or a flat rate per job — and resolves when the job does, not at the door.

9:41CanvassingGPS ●
Maple Heights
Territory · 3 zones active
CJ
Zone A
Zone B
Zone C
3118 Maple Heights Dr · disposition
Send to sales
Answered
Not home
Not homeowner
Not interested
9:41CanvassingGPS ●
Sent to sales
Lead submitted
Synced
Contact created
Your lead rules take it from here
New contact
HomeownerD. Alvarez
Address3118 Maple Heights Dr
ServiceRoof replacement
NoteHail — north slope
Automation fired
RuleCanvasser Submits Lead
9:41Crew · Job #48215G ▲
Receipts
Okafor — 119 Crestline
Uploading
Capture receipt
Snap it — AI reads the grand total
Reading receipt…
72%
Grand total, read by Claude Sonnet
This job · 3 receipts
9:41Crew · Job #48215G ▲
Receipt read
Auto-read · review
Done
Amount read
Claude Sonnet
Grand total$1,284.50
SourceAuto — off the photo
Filed toOkafor · 119 Crestline
Review
StatusPending approval
A missed read is never guessed — the amount comes back blank and you type it.
Edit total
Approve
03 · Crew · receipt capture

The receipts ride around in the truck until they don't

And then the job's margin is wrong by exactly however much that receipt was, and nobody finds out until the year closes. Snap it at the supply house and Claude Sonnet reads the grand total straight off the photo before the truck leaves the lot. The grand total is the one number it extracts. If the read misses, the field comes back blank for the crew to type — never a guess. The receipt files against the job for approval either way.

  • Camera capture → the grand total read off the photo
  • A missed read is left blank, never guessed — you type it
  • Attaches straight to the job costing — no shoebox of paper
04 · Mobile proposal builder

The proposal gets written back at the office — and by then they have two other quotes

Every hour between the kitchen table and the emailed PDF is an hour somebody else is standing in that kitchen. Pick the contact, add line items off the rate card, watch the total build live — then flip to a clean preview and show it across the table. The proposal is written and saved against the contact before the rep is back in the truck, instead of being retyped that night.

9:41New proposal5G ▲
23
Line items
Contact · Nguyen
Retail
5502 Birchwood Ln · CertainTeed
Tear-off
24 sq · labor
$3,360
CertainTeed Landmark
24 sq · material
$9,840
Ridge vent
96 lf
$1,920
Drip edge
180 lf
$1,580
Total$16,700
Add item
Preview →
9:41New proposal5G ▲
3
Review & send
Nguyen · $16,700
Ready
Proposal summary
SystemCertainTeed Landmark
Squares24 sq
Workmanship warranty10 yr
Total due$16,700
Measurements
SourceFrom the roof report
StatusSynced
Create Proposal
9:41Settings5G ▲
Settings
Make the app yours
MV
Appearance · 10 palettes
LightDark
Four light palettes, six dark. The toggle picks which of your two is applied.
Tools · button actions
Door answered 3 steps
Send to sales 5 steps
Not home 2 steps
05 · Settings · app builder & themes

Half the crew starts before sunrise, half of them squint at noon

One fixed palette can't serve both, and an app nobody can read at 6am is an app that doesn't get opened at 6am. So the look isn't locked: every user picks from ten palettes — four light, six dark — and a Light/Dark toggle chooses which of their two is applied. Settings also opens the door-knock buttons themselves, so the steps a canvasser walks through on each one are yours to configure. MFA is enforced, but it meets people at sign-in rather than sitting in Settings.

  • 10 palettes — four light, six dark — the same registry as the CRM
  • Door-knock button actions — configure the steps each one runs
  • MFA at sign-in — the same enrollment the desktop CRM enforces
9:41Español5G ▲
Buenos días, Marcus
Martes · 4 cuadrillas · 12 inspecciones
ES
Menú
Trabajos18 activos
ContactosClientes y prospectos
Recibos3 por subir
Propuestas2 pendientes de firma
PagosPróximo depósito viernes
Mensajes
3
9:42Chat · Office5G ▲
Luis Ramírez
Crew lead · Okafor — 119 Crestline
EN
He wrote — Español

Terminamos el techo en Crestline. Faltan 3 paneles para el garaje.

You read — English

We finished the roof on Crestline. We're 3 panels short for the garage.

Translated · tap for the original
Never translated
Proposals · scope · contractsStay exactly as written
06 · English & Español

Your crew works in the language they think in

Language is the first question the app asks — before sign-in — and it drives everything after it: the whole app, on phone and desktop, in Spanish or English. Then it goes further than a translated menu. What your crew types, the office reads in English; what the office replies, the crew reads in Spanish. Same thread, same job, nobody pasting into a translator.

  • Language chosen before sign-in — the app opens in Spanish from the first screen
  • Notes, chat, texts and job details translate both ways, per reader
  • Both versions kept — the original is always one tap away
  • Proposals, insurance scope and contracts are never machine-translated
  • Translation is metered AI usage, billed at the published token rates
In build · not yet shipped

Native onboarding — the whole flow, 100% in the app

Explore the platform

We're building invite-to-active entirely on the phone — so a mobile-only subcontractor or canvasser never has to touch a desktop.

1Accept inviteTap the invite, land straight in the app.
2Your detailsRole, contact info and profile.
3Doc captureLicense & insurance via camera.
4Deposit onboardingStripe payout setup, in-flow.
5MFA enrollRequired — before first sign-in.

A field app your crew opens
because it beats the group text.

One login across the desktop and the phone · ten palettes, four light and six dark.