NDA Protected

Work completed under a non-disclosure agreement with Procore Technologies. Internal metrics, stakeholder details, and product data have been modified to protect confidentiality. Design decisions, process, and outcomes shown reflect my own contribution.

The Problem

"I have to pull from three places every Monday morning. It takes forever just to get a picture of the week."

Safety Director, usability research

Procore Technologies · Safety Hub

One dashboard that replaced three fragmented tools

Safety directors were spending 2 to 3 hours a week manually pulling data from three separate Procore tools. Safety Hub consolidated Observations, Inspections, and Incidents into a single card-based analytics dashboard.

~40% reduction in tool-switching reported by Directors in beta
app.procore.com/safety-hub
Safety Hub company dashboard
Led design · Contract Sr. PD · Remote Jun 2025 · Ongoing Shipped · Beta Apr 2026

Worked with Procore's design lead, PM, and engineering team across research, definition, and handoff.

Research

8sessions
With Safety Directors and Superintendents
2roles
Partnered with Procore's UX research team
3directions
Evaluated: 2 ruled out by research findings

Sessions were facilitated by Procore's UX research team. My role: observe sessions, participate in synthesis, and translate findings into design direction. The three directions below came directly from that process.

What we heard

Insight 01

"I don't look at what's newest. I look at what's most dangerous."

Safety Director, Session 3

What it revealed

Directors scan for risk clusters, not recency. A week-old observation from a high-risk project outweighs a today-logged item from a low-risk one.

Card hierarchy must surface risk severity first, not date. This ruled out any direction built on chronological sorting.

Insight 02

"I built my own spreadsheet because Procore couldn't give me one view."

Safety Director, Session 1

What it revealed

The Excel workaround was widespread. Directors were already doing the aggregation manually, which meant the dashboard had to fully replace that ritual, not just improve it.

The solution must be a complete replacement for the Monday spreadsheet, not a supplement to existing tools.

Insight 03

"I only care about my projects. Everything else is noise."

Superintendent, Session 6

What it revealed

Superintendents and Directors are looking at the same data through completely different lenses. One view cannot serve both without failing both.

A Company/Project toggle is not a nice-to-have: it is the core architecture decision the product depends on.

What the research ruled out

Direction A Ruled out
Unified chronological feed

Aggregate Observations, Inspections, and Incidents into one scrollable list sorted by most recent activity.

×

Still chronological. Same mental model problem in a single tool instead of three.

Direction B Ruled out
Per-tool summary cards

Show a summary tile for each tool: Observations count, Inspections count, Incidents count, with links to drill down into each.

×

Still siloed. No cross-signal between tools. Directors still have to synthesize manually.

Direction C Chosen
Risk-pattern card hierarchy

Cards organized by urgency and risk pattern, not date. Cross-tool signals surfaced. Company and Project views with the same card system at different scopes.

Matches how directors think. Risk-first, pattern-aware, scope-aware. Confirmed by sessions 1, 3, 5, and 7.

Information Architecture

Before any visual design started, four structural decisions shaped the dashboard. These were not aesthetic choices. They were the calls that made the product work or fail for the people using it.

Not this
Chosen
Not this
Chosen
Company
Project
Not this
Observations
Inspections
Incidents
Chosen
Site 03 · Tower Crane Zone
2 obs
Insp overdue
1 incident
Not this
3 mo ago
2 mo ago
6 wks ago
3 wks ago
Today
Today
Chosen
Last 7 days

Company Dashboard

Six projects, three modules, half a Monday: that was the cost of weekly safety review before this existed. Every card was designed around a specific question the Director asks at the start of the week. The order, the ranking logic, the urgency coding: all of it answers that question before the Director has to look for it.

Safety Hub Company Dashboard
Company / Project
One toggle separates two completely different card hierarchies. Switching view resets every card to that persona's questions, not just the data scope.
Cross-tool summary
The Director's core question is portfolio health, not module performance. Putting all three signals in one row answers it without a single navigation tap.
Urgency-coded list
Inspection reports sorted by date bury what needs action. Severity coding promotes urgency to the top regardless of when the item was logged.
Projects by risk
Directors think in site-level risk, not module categories. Ranking by observation share matches that mental model — the site needing attention surfaces first.
What changed from v1
Early explorations used a module-tab layout: Observations, Inspections, Incidents. It mirrored the existing tool structure and felt familiar. Research confirmed it kept the same fragmented mental model we were solving. The card hierarchy replaced it entirely.
Tradeoff kept
Card order is fixed, not user-configurable. Personalizable ordering adds engineering complexity and creates a blank-slate problem on first load. The order here is research-validated and intentionally opinionated.

Project Dashboard

Marcus checks this before the toolbox talk. He needs to know who hasn't closed their corrective actions, what's on today's inspection schedule, and whether his site is trending safe. The cards here answer superintendent questions, not director ones: accountability by person, not by project. The Activity Feed closed a gap competitive review had flagged: dedicated field safety apps had established the 24h activity log as a standard for shift handoff.

Safety Hub Project Dashboard — Bayfront Tower
Company / Project
One toggle, shared across both views. Always means scope.
Open items by person
At site level the question isn't what's open: who hasn't closed it. Grouping by assignee with overdue at top turns a list into an accountability tool.
Days since incident
A raw count of days means nothing without a benchmark. Showing delta vs. portfolio average gives it meaning, and makes a safe site proud of that number.
Live activity feed
Shift handoff is a critical gap in safety ops. The Activity Feed replaces the verbal briefing with a timestamped record, reducing reliance on memory and verbal recall.
What changed from v1
Early versions gave the superintendent a filtered version of the company view. Research showed the questions are different enough that a filtered view just adds noise. The project view was rebuilt from scratch around superintendent-specific questions.
Tradeoff kept
The Activity Feed shows all project activity, not just the superintendent's crew. Filtering by crew was considered and scoped out: superintendents need to know about adjacent crew issues that could affect their work, not just their own.

Mobile Design

Mobile entered scope after the desktop dashboards reached handoff. Superintendent feedback made the case: field users check safety status on-site, between conversations, not at a desk. The mobile views were designed in a second sprint. They are not a port of the desktop: every card and navigation pattern was rethought for field context.

Company Dashboard mobile
01 02 03 04

Company Dashboard

Project Dashboard mobile
01 02 03 04

Project Dashboard

01

Scope toggle: primary navigation

No sidebar on mobile: the toggle is the only scope control. Switching view replaces every card with content for that persona.

02

2x2 KPI grid

The desktop KPI row folds to a grid so all four signals stay readable at arm's length without horizontal scroll.

03

Projects ranked by risk share

Same ranking logic as desktop: the site with the highest observation share appears first, not the one filed most recently.

04

"See all" defers depth

Each card shows 3 to 4 critical items. Everything else is one tap away, keeping the most urgent signal visible without scrolling.

01

Context band replaces the sidebar

The orange band anchors project scope persistently: the job the sidebar does on desktop, without consuming horizontal space.

02

Assignee queue: pre-toolbox check

Who hasn't closed their corrective actions, sorted by overdue first. The superintendent sees accountability problems before the crew arrives.

03

Activity feed: shift handoff log

A timestamped 24h log replaces the verbal briefing. The superintendent arrives knowing what happened on the previous shift.

04

Inspection schedule: this week only

Narrowed from the full calendar to this week. Completed items show green, overdue show red. No scanning required.

From desktop to mobile: what changed and why

Desktop sidebar nav

Bottom nav + context band

Sidebar takes too much horizontal space. Bottom nav handles modules; context band handles scope.

Horizontal KPI row

2x2 KPI grid

Four cards side by side at phone width forces tiny numbers or horizontal scroll. Grid keeps all four readable.

Full card rows

3 to 4 items + "See all"

Showing everything on first load creates a wall on mobile. The most urgent item stays visible without scrolling.

Back nav + toggle

Toggle only

Both controlled the same scope switch. Keeping both created redundant affordances. The toggle alone is enough.

Design Decisions

The risk with a two-view dashboard is that both views become reskins of each other: same layout, same hierarchy, different data labels. Four decisions prevented that and made each view genuinely distinct for the persona using it.

01
Organize by job-to-be-done, not by module
Organizing by who is doing the looking means the same data produces completely different card hierarchies per persona.
Not this Tabs by module: Inspections | Observations | Incidents
Chosen Cards by persona: Director questions vs. Super questions
Information hierarchy follows the user's mental model, not the data model
02
Chart type follows data density
30 days of daily data justifies a smooth curve at company scale. Weekly project data is often just 0 or 1, so a curve becomes misleading. Bars are honest.
Not this Bezier area curve on sparse weekly project data
Chosen Grouped bars: honest representation of 0/1 weekly counts
Smooth curves require dense, continuous data to be trustworthy
03
Sidebar as navigation contract
Both views share the same sidebar shell. The Project sidebar adds a back nav and project-specific ops. Company stays sparser: oversight, not operations.
Not this Identical sidebar on both views, scope implied only by content
Chosen Sidebar changes per view: back nav, project-ops items added
Navigation signals scope; scope changes should feel different in the sidebar
04
Scrollbars signal overflow explicitly
A visible scrollbar thumb at rest signals there is more below. Fades suggest the list ended and create false closure.
Not this Fade-off at card bottom: users assume the list ended
Chosen Visible scrollbar thumb at rest: overflow is legible, not hidden
Visible scrollbars on resting state beat fade-offs for communicating overflow

Impact & Outcomes

Procore launched Safety Hub in open beta April 2026, aligned with the two-view framework this design established. The core IA decisions held through production.

3
Safety modules consolidated into one analytics surface
~40%
Reduction in tool-switching reported by Directors in beta
2
Purpose-built dashboards: no cards shared between views

The ~40% figure reflects self-reported estimates from beta director feedback, not a published or internally validated Procore metric.

What worked

  • Grounding every card in a named persona meant every design review pushback had a research-backed answer
  • Separating the two views structurally forced genuine differentiation, not just a data swap
  • Competitive review surfaced the Activity Feed gap early, giving time to design it properly

What I'd do differently

  • Scope mobile for the Project View from day one: superintendents check this on-site, not at a desk
  • Include a usability test round before handoff to validate the two-view toggle with real users
  • Push for a shared corrective actions module earlier: it was the gap both personas flagged but got deprioritized

If you made it this far, thank you for taking the time!
May your risk scores stay low and your dashboards do the heavy lifting.

No agenda needed. I like meeting people, hearing different perspectives, and maybe making a friend or two along the way. :)

Yours truly,