Coming Soon · Private Beta

Jobsite AI
Vendor shows up. Task auto-starts.

The plumber rolls onto the jobsite. Your schedule already knows.

Detect a vendor on site — from any camera, any sensor, any access system — and Cornerstone instantly flips the matching task to In Progress on the construction schedule. No phone calls. No manual check-ins.

🔥 Bonus: Real Hours-On-Site Tracking

Arrival event starts the clock. Departure event stops it.

Every vendor and trade gets logged hours on the job — automatically. No timecards. No “how long were you here?” Real data feeding vendor scorecards, labor budget actuals, and bid-award decisions.

We’re the brain, not the eyes. Bring whatever you already have.

The flow

Five steps. Total elapsed time: under a minute.

01
Detect

Camera, doorbell, gate, GPS, or app spots a vendor at the jobsite.

02
Webhook

Source POSTs the event (image, plate, badge, geofence) to Cornerstone.

03
Brain

Cornerstone identifies the vendor and finds the active task on that home.

04
Auto-start

Matching task flips to In Progress on the construction schedule. Audit log written.

05
Notify

PM gets a heads-up. Photo evidence attached. Hours start counting.

Before detection
Plumbing Rough-In — Lot 14
Tom’s Plumbing · Scheduled today
Scheduled
After detection
Plumbing Rough-In — Lot 14
Tom’s Plumbing · Started 8:42 AM · Auto-detected
In Progress
Source-agnostic

Works with any camera.
Any sensor. Any access system.

We’re the brain, not the eyes. If it can fire a webhook, Cornerstone can turn it into a task update.

Jobsite cameras

Sensera, OxBlue, EarthCam, Reolink, Verkada — any brand

Ring / Nest doorbells

Smart doorbells at the model home or trailer

Gate access & badge systems

Brivo, Openpath, ButterflyMX, gate keypads

GPS fleet tracking

Samsara, Verizon Connect, Geotab geofence triggers

Manual check-in apps

Vendor taps Arrived in the portal — counts the same

QR code scans

Yard sign QR / lockbox scan = arrival event

License plate readers

Standalone LPR cameras or third-party plate APIs

Zapier / Make / n8n

Glue any sensor or webhook into Cornerstone

Don’t see your stack? If it can POST a webhook, it works. See the API →

The schedule runs itself.

Once presence detection is wired in, your construction schedule stops needing a babysitter.

Auto task start

The matching scheduled task on that home flips to In Progress the second the vendor is detected. No phone call. No app to open.

Auto task complete

Departure event closes the task or logs hours on site. Real timestamps, not estimates.

No-show alerts

Scheduled vendor doesn't appear by their start window? PM gets pinged before the day is lost.

Unknown-vehicle alerts

Unrecognized truck on site? You know in minutes — not when something walks off the lot.

Photo evidence on the task

Snapshot from the source attaches to the task audit log automatically. Dispute-proof, every time.

Vendor scorecards

On-time %, average hours on site, no-show rate. Real performance data feeding bid-award decisions.

Why it matters

The status of your jobs
stops being a guess.

Today, “is the framer there yet?” is a phone call. Tomorrow, it’s a notification. Schedule status reflects what’s actually happening on the lot — in real time, with photo evidence, with no extra work for your supers or your subs.

Zero manual check-ins. The site reports itself.
Real start times — not what someone remembered to type at 5 PM.
Photo evidence auto-attached to every task transition.
Vendor scorecards built on facts, not opinions.
No competitor ships this
BuildertrendManual check-ins only
JobTreadManual check-ins only
ProcoreManual check-ins only
CoConstructManual check-ins only
Cornerstone PMAuto-detect from any source
For developers & integrators

Two endpoints. Any source.

Register a camera once. Stream presence events forever. Standard REST, HMAC-signed, scoped API keys.

Live in private beta · endpoints are real
1

Register a camera to a home

One-time setup. After this, every event from this camera auto-resolves to the right home — no homeId needed in webhook calls.

POST/api/ext/camerasBeta
Authorization: Bearer {api_key}
Content-Type: application/json

{
  "cameraId": "cam_lot25_entrance",
  "name": "Lot 25 Entrance Camera",
  "homeId": "h456",
  "provider": "sensera"
}
2

Send a presence event

Vendor arrives. Camera POSTs the event. Cornerstone auto-resolves the home, finds the active task, flips it to In Progress.

POST/api/ext/jobsite-eventsRequest
{
  "eventType": "vehicle_detected",
  "timestamp": "2026-05-08T08:47:00Z",
  "camera": {
    "id": "cam_lot25_entrance",
    "name": "Lot 25 Entrance",
    "location": "Bayside Preserve Lot 25"
  },
  "detection": {
    "vendorName": "Sussex Framing Co",
    "confidence": 0.94,
    "imageUrl": "https://your-camera.com/snap.jpg"
  }
}
200application/jsonResponse
{
  "matched": true,
  "vendor": {
    "id": "v123",
    "name": "Sussex Framing Co"
  },
  "home": {
    "id": "h456",
    "address": "5 Bayside Way"
  },
  "tasksUpdated": [{
    "id": "t789",
    "name": "First Floor Wall Framing",
    "status": "IN_PROGRESS",
    "previousStatus": "NOT_STARTED"
  }],
  "event": "vendor.arrived"
}
3

Vendor departure

Same endpoint, different eventType. Closes the task or logs hours on site.

POST/api/ext/jobsite-events
{
  "eventType": "vehicle_departed",
  "timestamp": "2026-05-08T15:30:00Z",
  "camera": { "id": "cam_lot25_entrance" },
  "detection": { "vendorName": "Sussex Framing Co" }
}
4

Manage cameras

GET/api/ext/cameras

List every camera registered to your account, with their home assignments.

DELETE/api/ext/cameras?id=xxx

Deactivate a camera. Existing event history is preserved.

How Cornerstone resolves the home

Every event runs through a 4-level fallback chain. The matching engine tries each in order until it locks onto the right home — so partial data still works, and registered cameras work hands-free.

01
Registered camera → home mappingRecommended

Best path. Camera ID matches a registered camera; home is implicit. No homeId required in the event.

02
Direct homeId in the event body

Pass homeId explicitly when the source already knows it (e.g. vendor app check-in).

03
communityId → finds home

Community-level event resolves to the active home in that community when only one is in flight.

04
camera.location → fuzzy match

Free-text location string fuzzy-matches against community names. Last-resort fallback.

Translation: register the camera once, then every event from it auto-resolves to the right home. Set it up in 30 seconds, then forget it exists.

Webhook events fired

vendor.arrivedVendor detected on site · matching task auto-starts
vendor.departedVendor left · logs hours, can auto-complete task
presence.unknownUnrecognized vehicle or person on a tracked site

Want the schedule
to start running itself?

Join the private beta. Limited slots while we validate the matching engine across camera, sensor, and access-system providers in the field.

Request Beta Access

No credit card required · Beta limited to 100 builders