Workspace / {{ crumb }}
Synthetic demo data
Demo · viewing as
{{ ovDate }}

{{ ovGreeting }}

Needs you today

{{ briefingCount }}
{{ maskNote }}

Today's activity

{{ todayActivitySummary }}

Projects

Every job, worst first. Healthy work collapses; exceptions open up. Tap a card for the full story.

{{ projCount }} shown
Holding steady · {{ projHoldingCount }}on track — collapsed to keep this calm
Where the work is
Every active job across the portfolio — counts only, worst-first. Tap a region to drill in.
Counts only · no $, any role
Region
Filter
{{ mapFilterNote }}
Sheet trail
NORTHERN CALIFORNIA8active jobsSOUTHERN CALIFORNIA3active jobs
Portfolio · by region
Saarman’s work spans Northern California (8) and an expanding Southern California (3). Tap a region to open its map and drill to each job.
{{ mapReconcile }}
No active jobs in Southern California
Saarman’s current portfolio is entirely in the Bay Area. Jig shows a region only when it has work to report — never a fabricated pin.
Region map
Counts by job · real locations
{{ mapPeek.jobNo }}
{{ mapPeek.name }}
{{ mapPeek.subtitle }}
{{ mapPeek.schedText }} {{ mapPeek.openText }}
Where it stands
{{ mapPeek.verdict }}
◇ Southern California · ports to the full project view
{{ mapReconcile }}
{{ h.label }}
{{ mapReconcile }} Source · Procore · Sage · synced

Issues

Everything that needs a decision or a nudge, fused from every source.
Group
{{ grp.label }}{{ grp.count }}
Recently resolved{{ resolvedRows.length }}
{{ r.title }}
{{ r.project }} · {{ r.outcome }}
{{ r.resolvedBy }}
{{ r.resolvedAgo }}

Invoices

Money in and money out — receivables you're collecting, payables you owe.
{{ invViewSub }}
{{ invTotalLabel }}
{{ invTotalVal }}
AI summary{{ invoicesSummary.fresh }}
{{ invoicesSummary.text }}

Contracts

What's waiting on your signature, what's waiting on theirs — DocuSign and HelloSign in one place.
AI summary
{{ contractsSummary.fresh }}
{{ contractsSummary.text }}
From{{ c.label }}
{{ grp.label }}{{ grp.count }}
{{ c.title }}
{{ c.project }}
{{ c.valueText }} {{ c.age }}

Meetings

Every call, with an AI summary and the commitments Jig pulled out of it.
AI summary
{{ meetingsSummary.fresh }}
{{ meetingsSummary.text }}
From{{ c.label }}
{{ m.title }}
{{ m.platform }}
{{ m.when }} · {{ m.people }}
{{ m.gist }}
{{ bd.t }} Transcript captured

Bids

The proposal pipeline — what's out, what's drafting, what you've won.
{{ s.label }}
{{ s.val }}
AI summary
{{ bidsSummary.fresh }}
{{ bidsSummary.text }}
From{{ c.label }}
{{ b.name }}
{{ b.client }} · {{ b.tool }}
{{ b.status }} {{ b.valueText }} {{ b.days }}

Documents

Everything filed across SharePoint and OneDrive — and what still needs routing.
AI summary
{{ documentsSummary.fresh }}
{{ documentsSummary.text }}
From{{ c.label }}
{{ grp.label }}{{ grp.count }}
{{ grp.note }}
{{ d.name }}
{{ d.type }} · {{ d.project }} · {{ d.where }}
File to project → {{ d.when }}

Fleet

Vehicles and equipment from Samsara, with cost tied back to the job.
{{ s.label }}
{{ s.val }}
AI summary
{{ fleetSummary.fresh }}
{{ fleetSummary.text }}
From{{ c.label }}
{{ f.unit }}
{{ f.type }} · {{ f.site }}
{{ f.status }} {{ f.util }}

Email

Threads Jig is watching — and the obligations it pulled out of them.
AI summary
{{ emailSummary.fresh }}
{{ emailSummary.text }}
From{{ c.label }}
{{ e.subject }}
{{ e.from }} · {{ e.project }}
{{ e.extracted }} Needs reply {{ e.age }}

Discovery

Findings from outside your sources — public directories, records, trade networks. Jig only reads them, and everything here is a candidate: nothing enters Jig, and no one is contacted, until you confirm.

Crews found for your open request

{{ discCrewCount }}
Cedar Court · finish carpentry · starting Mon
{{ c.name }}
{{ c.trade }}
◍ {{ c.source }} · {{ c.fresh }}
{{ c.avail }} {{ c.dist }} {{ c.crewSize }} {{ c.rateText }}
◇ All findings reviewed — Jig keeps watching and will surface new crews as they come free.
It also cross-checks your projects against public records
Same rule — each is a candidate until you confirm.
{{ r.text }}
◍ {{ r.source }} · {{ r.fresh }}
◇ No open record checks.

People & access

Who's on the team, what each role can see, and what they can act on.
AI summary
{{ peopleSummary.text }}
Team · 7
{{ p.initials }}
{{ p.name }}
{{ p.scope }}
{{ p.roleLabel }}
Access matrix · who can see & act
{{ lg.t }}{{ lg.desc }}
Resource {{ col }}
{{ row.label }} {{ cell.t }}
Every grant is logged — who set what access, and when. Try the role switch (top right) as Super to watch financial pages disappear from the nav.
Restricted for your role
{{ accessMsg }}

Settings

Connections, financial visibility, and how Jig watches your work.
AI summary{{ integrationsSummary.fresh }}
{{ integrationsSummary.text }}
Integrations
{{ g.abbr }}
{{ g.name }}
{{ g.cat }} · {{ g.detail }}
{{ g.status }}
{{ grp.label }}
{{ r.k }}
{{ r.v }}

Money

Margin board sorted by fade. Every figure taps to its source.

Synthetic figures — not actuals
Money at risk
{{ atRiskEl }}
Verbal-CO exposure leads · across 2 projects
{{ e.label }}
{{ e.project }}
{{ e.moneyEl }}
Cash position
{{ c.label }} {{ c.moneyEl }}
SAMPLE DATA
ProjectBidProj.FadeTrend

Inbox

What needs you — and the email pipeline that feeds it.

{{ inboxSummary }}

{{ sec.title }}

{{ sec.count }} {{ sec.sub }}
Nothing here.
{{ r.km.label }}
{{ r.title }}
{{ r.project }} · {{ r.age }}
{{ r.moneyEl }}
{{ c.glyph }} {{ c.name }} ({{ c.role }})
Waiting on {{ r.waitingOn }}
✓ Cleared
{{ captureTally.total }}emails
{{ captureTally.filed }}filed
{{ captureTally.waiting }}waiting on a project
{{ captureTally.needsProject }}needs a project
{{ c.cm.label }}
{{ c.subject }}
{{ c.from }} · {{ c.age }}
○ {{ c.projectLabel }} {{ c.projectLabel }}
{{ e.km.label }} {{ e.label }} {{ e.moneyEl }}

Components

One visual vocabulary, every state. Severity reads from hue plus a shape, so it survives grayscale, sunlight, and the meeting-room TV.

Status pill
{{ s.glyph }} {{ s.label }}
Phase strip · the timeline of a job
{{ phaseDemoEl }}
{{ phaseLegendEl }}
Health meter
{{ m.el }}
Dual bars · schedule vs budget
{{ barsDemoEl }}
Delta chip
{{ d.text }}
Margin sparkline
{{ sparkDemoEl }}fading velocity
Money value · visible & masked
Owner{{ moneyVisibleEl }}
PM/Super{{ moneyMaskedEl }}
Freshness dot
synced {{ f.label }}
Who-has-it chain · cleared / current / next
{{ c.glyph }} {{ c.name }} ({{ c.role }})
Capture extraction · kind + promoted/holding dot
{{ k.label }}
Lineage · every number is a door
Procore · Change Event #11
$48,000 · 14 min ago
{{ fp.meterEl }}

{{ fp.name }}

{{ fp.division }} · {{ fp.clientName }}
{{ fp.sm.glyph }} {{ fp.sm.label }}

{{ fp.story }}

Phases
{{ fp.phaseEl }}
Schedule vs budget
{{ fp.barsEl }}
{{ fp.itemCountText }}
{{ it.km.label }} {{ it.title }} {{ it.moneyEl }} {{ it.age }}
{{ fp.itemsGapText }}
No open items on this project, all clear.
Overall progress
{{ fp.phaseEl }}
By trade · concurrent work
{{ L.trade }}
{{ t.name }}
Milestones
{{ ph.name }}
{{ ph.dates }}
{{ ph.statusLabel }}
Margin
{{ fp.marginEl }}{{ fp.marginBidText }}
Pending CO
{{ fp.pendingEl }}
CO exposure
{{ fp.exposureEl }}
{{ peekP.name }}
{{ peekP.jobNo }} {{ peekP.clientName }} {{ peekP.division }}
{{ peekP.schedText }} {{ peekP.openCount }} open
{{ peekP.topDelta.text }}
{{ peekP.story }}
Last synced {{ peekP.lastSyncedText }}
Finish drift
{{ peekP.drift.fromText }} {{ peekP.drift.toText }} {{ peekP.drift.badge }}
Needs attention
No open items on this project — all clear.
{{ peekP.itemsGapText }}
Money
Margin
{{ peekP.marginProjFullEl }}{{ peekP.marginBidFullText }}{{ peekP.marginSparkEl }}
Pending CO
{{ peekP.pendingEl }}
CO exposure
{{ peekP.exposureFullEl }}
{{ peekP.exposureTrendText }}
{{ peekP.marginTrendText }}
Budget
Labor {{ peekP.laborPctText }} of budget {{ peekP.budgetVar.t }}
Who has it
{{ c.glyph }} {{ c.name }} ({{ c.role }}) escalating to owner
Why · where this came from
{{ w.system }} {{ w.ref }} {{ w.ago }}
Trade latency leaderboard
{{ s.rank }} {{ s.name }} {{ s.dayText }} of drift
Budget pace
{{ peekP.laborPctText }} of labor budget spent
{{ peekP.scheduleCompletePctText }} of schedule complete
{{ peekP.budgetVar.t }}
Historical margin view
{{ peekP.marginSparkEl }}
{{ peekP.marginHistoryText }}
What this is

{{ it.detail }}

Why it matters

{{ it.why }}

How to act

{{ it.guidance }}

✓ Handled
No open items on this project — all clear.
{{ peekP.itemsGapText }}
{{ peekP.healthMeter }}
{{ peekP.hb.score }}/ 100
{{ peekP.hb.statusGlyph }} {{ peekP.hb.statusLabel }}

A single weighted read of four signals. Each is scored 0–100, weighted, and rolled up — so you can see exactly what's pulling the number down.

{{ f.label }} weight {{ f.weightPct }}
{{ f.reading }}
{{ f.band }} {{ f.pts }} to score
Weights are owner-configurable per division. Inputs sync from Procore (schedule, logs), Sage (labor, cost) and Capture (exposures) — tap any figure for its lineage.
Overall progress
{{ peekP.phaseElBig }}
{{ phaseLegendEl }}
Projected finish · drift
How the finish date has moved across daily schedule snapshots — the drift itself, not a computed forecast.
{{ peekP.drift.fromText }} {{ peekP.drift.toText }}
{{ peekP.drift.badge }}
{{ peekP.drift.caption }} ≈ SMARTSHEET SNAPSHOTS
By trade · concurrent work
From the Procore schedule. Bars overlap where trades run at the same time.
{{ L.trade }}
{{ t.name }}
done in progress late upcoming today
Milestones
{{ ph.name }}
{{ ph.dates }}
{{ ph.note }}
{{ ph.statusLabel }}
{{ peekP.cal.monthLabel }}
◇ none more
Each day's intensity is the count of real, source-traceable events. Empty days are genuinely empty.
M T W T F S S
{{ peekP.calSel.dayLabel }} {{ peekP.calSel.count }} events
No source-traceable activity this day.
{{ e.src }} {{ e.text }}
{{ peekP.peekPos }}
{{ briefItem.km.label }}
{{ briefItem.moneyFull }}
{{ briefItem.title }}
{{ briefItem.project }} · {{ briefItem.source }} · {{ briefItem.age }}
What this is

{{ briefItem.detail }}

Why it matters

{{ briefItem.why }}

{{ s.system }}{{ s.ref }} · {{ s.ago }}
How to act

{{ briefItem.guidance }}

✓ Handled — cleared from your list
{{ briefItem.position }}
○ Needs a project
{{ prospect.subject }}
{{ prospect.from }} · {{ prospect.age }}
What the pipeline extracted
{{ e.km.label }} {{ e.label }}
Not tied to a project yet

Assign it to start tracking it on that project. Until then it's held as a prospect — out of the portfolio numbers.

{{ lineage.title }}
{{ s.system }}
{{ s.ref }}
{{ s.ago }}
Open in source ↗
Schedule delay · flagged critical

MEP rough-in, Level 3

Mission Bay Medical Office TI · Interiors View project →
BEHIND · +12 DAYS Finish Aug 18~Aug 30 EST
Watching Smartsheet daily snapshots · last snapshot 6 hours ago
How far behind
Original finish
Aug 18 reported
Now tracking
~Aug 30 EST
Slipped
+12 days
Trend
↑ still slipping
⛓ Cause · Sprinkler heads on backorder open email
▲ Flagged critical · likely drives the finish (not yet computed)
What this is holding up
Holding up framing in all 4 zones · Zone C worst
Blocks 11 tasks across 2 trades, all the way to the Level 3 turnover. The two on the critical path:
Framing inspection
was Aug 20 · ⏳ waiting
Drywall
was Aug 24 · ⏳ waiting
+9 more downstream · paint, fixtures, finishes
What's been done so far
You emailed Ray Colson asking for a ship date · 3 days ago
No reply yet
Pat Nguyen (PM) acknowledged the delay · Tuesday
Jig started watching PO 4471 for a ship date · 4 days ago

What you can do

Pick a move · nothing happens until you do
JIG SUGGESTS Call Ray Colson to chase the ship date
Your email 3 days ago hasn't landed a reply. A call is the fastest way to the one date that unblocks this — heads on PO 4471, Western Fire Supply.
Other moves
📣
Loop in Pat Nguyen (PM)
He asked about this thread 12 days ago
Forward →
😴
Snooze until the heads ship
Comes back when PO 4471 updates
Set →
Full impact
Full impact · what we can see today

Until MEP closes, Level 3 can't move

Each cell is the observed status per zone. The wall of waiting on the right is everything downstream of the rough-in. No projected dates, just where each zone stands now.
{{ c.label }}
{{ c.note }}
{{ r.label }}
{{ lg.glyph }}{{ lg.label }}
Grayed cells are tasks we have no live status for yet. We show what's observed and mark the rest, rather than guess a downstream date. The committed Level 3 turnover is the only fixed date behind all of this.
{{ toast }}
Messages
{{ activeThread.name }}
{{ activeThread.role }}
{{ mm.text }}
{{ issue.projectShort }} {{ issue.navPosition }}
{{ issue.typeLabel }} ·
{{ issue.popTitle }} live
{{ l.sys }}
{{ l.label }}
{{ l.ago }}
Open in Procore →
View full project →

{{ issue.title }}

{{ issue.project }}
{{ issue.summary }}
{{ issue.statusLine }}
{{ issue.confidenceLine }}
Who has it
{{ c.mark }} {{ c.name }} {{ c.role }}
{{ issue.watching }}
What this is holding up
Why this surfaced·{{ issue.segWhy }}
{{ issue.segSentence }} {{ issue.segProjection }}
Finish drift{{ issue.drift.fromText }}{{ issue.drift.toText }} {{ issue.drift.badge }}
{{ issue.drift.caption }} · ≈ Smartsheet snapshots
{{ r.name }}
{{ r.glyph }} {{ r.barText }}
{{ issue.segHorizon.hidden }}
{{ issue.segHorizon.milestone }} {{ issue.segHorizon.proj }}
{{ issue.invVendor }} · {{ issue.invNo }}
{{ issue.invPeriod }}
Pay App #4 · shown below
{{ l.label }} {{ l.val }}
Net due this period {{ issue.invDue }}
Jig checked
{{ c.text }}
Activity · the whole story
{{ e.ago }}
{{ e.subject }} {{ e.label }} · {{ e.meta }} · to {{ e.to }} · {{ e.flag }}
Email excerpt
{{ e.quote }}
Confirm this read?
Jig hasn’t booked anything. Confirm to start tracking it as an exposure, or dismiss it — nothing enters Jig until you do.

What you can do

Pick a move · nothing happens until you do
{{ issue.applied }}
In progress — nothing is marked done until the source system confirms.
JIG SUGGESTS {{ issue.suggested.title }}
{{ issue.suggested.why }}
Draft · ready to send
{{ issue.suggested.draft }}
Other moves
{{ o.icon }}
{{ o.title }}
{{ o.sub }}
{{ o.verb }}