Smart Automation
"The system should know — not ask."
The #1 reason CRMs fail in the field is manual data entry. Contractors are on rooftops, in crawl spaces, and on job sites. They don't stop to fill in forms. The data never gets entered. The CRM becomes useless.
Every feature in this system is built around one question: how does the system figure this out automatically? GPS, AI vision, audio transcription, geofencing, timestamps — the signals are already there. The job is to listen to them and act, so the contractor never has to.
What the System Knows Automatically
These are the core auto-determination capabilities — the signals available, how the system uses them, and when (and only when) it asks the user to confirm.
| Signal | How AI Determines It | What Gets Auto-Created or Updated | Fallback (if signal fails) |
|---|---|---|---|
| Photo taken at job site | EXIF GPS → reverse geocode → address match | Project linked, contact matched or created, photo stored on timeline | Ask: "Which project is this for?" |
| Photo of receipt / material purchase | AI OCR reads receipt → extracts vendor, amount, items → GPS + date + job type match | Expense record created, project association suggested, job cost updated | Ask: "Select a project for this expense" |
| Tech arrives at job site | GPS geofence trigger when within X meters of project address | Clock-in auto-started, "arrived" milestone logged on timeline, customer notified | Push: "You're at [Job]. Starting clock — tap to cancel" |
| Tech leaves job site | GPS geofence exit after minimum dwell time (avoids false triggers) | Clock-out recorded, time logged to project, labor cost updated | Push: "You left [Job]. Clock stopped at X hrs — correct?" |
| Video recorded at job site | GPS at record time → project match; audio transcribed by AI | Tasks and notes extracted, stored on project timeline | Ask: "Which project is this video for?" |
| Inbound call received | Digital receptionist captures name, address, reason for call | Contact created or updated, call transcript added to timeline | Transcript flagged for review if address not matched |
| Tech en route to job | GPS shows movement toward project address | "On my way" SMS auto-sent to customer with ETA | Manual trigger option in app |
| Job appears complete (GPS exit + no active clock) | Geofence exit + last clock-out → cross-referenced with job status | Prompt: "Did you finish [Job]? Send invoice?" — one tap | Job stays "in progress" until manually closed |
| Contractor mentions scope change in field video | AI detects phrases like "they also want," "they changed their mind," "add X" in transcript | Change order drafted automatically, flagged for contractor review | Flagged in transcript for manual review |
| Customer mentions personal detail in call | AI extracts from call transcript: names, dates, preferences, concerns | Relationship memory updated on contact record | Added to transcript with tag [PERSONAL NOTE] |
The fallback rule: the system only asks the user when it can't determine something with >85% confidence. And even then, it makes the ask as simple as possible — a single tap to confirm a suggestion, never a blank form to fill out.
New Features — Detail
Receipt & Job Cost Capture
Photo a Receipt → Expense Auto-Logged
Contractor pulls out their phone, photographs a Home Depot or supplier receipt. The system does the rest.
- AI reads the receipt via OCR: vendor, date, line items, total
- GPS location of the photo compared against active projects — nearest match suggested
- Date cross-referenced: which project was active on that date?
- Line items cross-referenced: do the materials match the job type? (roofing materials → roofing project)
- Expense record created automatically with all fields pre-filled
- Job cost on the project updated immediately
User sees: "Receipt from Home Depot — $342.17 — associated with [Smith Roofing Job]. Correct?" — one tap yes or override.
GPS Team Tracking
Live Team Location Dashboard
The contractor's app passively reports location while on the clock. The office dashboard shows every tech on a live map.
- See which tech is at which job site in real time
- See who is en route, on site, or available
- Dispatch jobs to the nearest available tech
- Automatically logs location history per tech per day (useful for mileage, billing disputes)
Privacy: tracking only active while clocked in. Off the clock = off the map.
Auto Time Clock via Geofencing
No punch-in buttons. No forgetting to clock out. The job site is the clock.
- A geofence is created around each project address (configurable radius — default: 100 meters)
- When a tech's GPS enters the geofence → clock-in fires automatically
- A push notification confirms: "Clock started at [Job Name] — tap to cancel if wrong"
- When tech leaves the geofence (after minimum dwell time of ~5 min to avoid drive-bys) → clock-out fires automatically
- Time logged to project: hours, labor cost calculated
- Daily timesheet generated automatically for payroll
Edge cases: tech can always manually override. Multiple visits in a day are logged as separate sessions. Minimum dwell prevents false triggers from driving past the site.
Project Association Intelligence
How the System Decides Which Project Something Belongs To
Priority order when matching any input (photo, video, receipt, note) to a project:
- GPS match — input location vs. project address. Strongest signal.
- Active clock — if tech is clocked into a job, inputs default to that job
- Date + active status — what jobs were "in progress" on that date?
- Visual similarity — AI compares photo to existing project photos for visual match (same structure, same materials)
- Content match — for receipts, do the materials match the job type?
- Fallback: ask — present a short list of likely projects for one-tap selection
Goal: the fallback (asking) should happen less than 10% of the time.
Automation Triggers — Full List
Every time one of these events happens, the system acts without being asked:
- Photo taken — GPS extracts location → project matched → photo stored on timeline → inspection tag applied if first photos of a job
- Receipt photographed — OCR reads vendor, amount, items → expense logged → job cost updated → project suggested
- Arrive at job site — Geofence entry → clock-in started → timeline milestone logged → customer "on my way" sent (if not yet sent)
- Leave job site — Geofence exit → clock-out recorded → hours logged → "job complete?" prompt fired
- Video recorded — GPS project match → audio transcribed → tasks/notes extracted → change order flagged if scope change detected
- Inbound call — Receptionist qualifies → transcript logged → contact created/updated → personal details extracted to relationship memory
- En route to job — GPS moving toward project address → ETA calculated → "on my way" SMS sent to customer automatically
- Job completion detected — Last clock-out + no active work → one-tap prompt: "Job done? Send invoice?" → contractor confirms in one tap
- Estimate approved — Customer completes onboarding → project status updated → job added to schedule → contractor notified
- Payment received — Invoice paid → timeline milestone → receipt emailed to customer → QuickBooks sync → review funnel triggered
- Birthday / anniversary approaching — 7 days out → contractor notified → AI drafts personalized message → contractor taps send
- Lead goes cold — No response in X days → follow-up email/SMS auto-sent → contractor notified if still no response after Y days
Design Principles
- Signals over forms. If a signal exists (GPS, timestamp, audio, image), use it. Never replace a signal with a text field.
- Suggest, don't block. When the system isn't sure, it offers its best guess and asks for one-tap confirmation — never a blank form.
- Passive over active. The contractor should be able to run an entire job day with zero deliberate CRM interactions. Everything logs itself.
- Transparent automation. Every auto-logged event shows the source: "Clocked in automatically via GPS at 8:14am." The contractor always knows what happened and can correct it.
- Mobile-first confidence threshold. If the system is less than ~85% confident in a match, it asks. Above that, it acts and logs. The goal is the contractor never second-guesses what's in the system.