Khang Hy
All work
Design & system workPropTech · Web + mobile

One construction platform for five roles who each see the project differently.

Clients think in payments, architects in drawings, contractors in schedules and bids. As UX/UI designer on a 7-person team, I designed the flows that let all five work from one structure without feeling stuck in someone else's workflow.

Partial NDA: client and project details are withheld.

Illustration: one shared project record feeding five role views
Role
UX/UI designer
Team
7-person project team
Timeline
13 months
Platform
Web + mobile
Status
Launched
Switch role to see what each one works on
  • ClientThinks in contracts and payments. Their dashboard leads with progress and milestones.
  • ArchitectThinks in drawings and versions. Their view is built around managing drawings and revisions.
  • EngineerFocuses on technical specs and compliance.
  • ContractorThinks in tasks, people and materials. Their view handles bids and the work on site.
  • AgentManages relationships and approvals between the other roles.
Approach

The spec wasn't the problem. The gaps in it were.

I worked from wireframes and specs handed to me. They were inconsistent and had holes: missing states, undefined edge cases, flows that broke when a second role touched them.

  • 01QA the incoming specTraced each wireframe against the written spec and flagged where they contradicted each other or stopped short.
  • 02Rebuild the flows properlyDesigned the complete journey per role, including the empty, error and permission-denied states nobody had specced.
  • 03Cover the edge casesWhere roles meet: updates mid-task, screens before data exists, approvals that stall.
  • 04Hand off directly to devsNo PM in between across web and mobile, so questions got answered the same day.
Project record · webClientArchitectEngineerContractorAgentResidential block · Phase 2Client view · progress and paymentsFoundationStructureMEPFinishingHandoverMilestone 3 paymentAwaiting approvalWaiting on Agent · 2 daysDrawingsA-201 · Floor planRev C · updated by Engineer · 2h agoNewS-110 · StructureRev B · approvedM-305 · MEP layoutRev A · in reviewNext milestoneFinishingStarts after MEP sign-offSame recordContractor · mobileToday on siteDRAWING UPDATEDA-201 is now Rev CCheck the new planbefore you continue.Pour level 3 slabDone · 08:40Conduit, block B4 workers · Rev CMaterial checkCement · 60 bagsOpen drawing
Illustration · no client data
Edge cases nobody specced

What happens when two roles collide?

Three of the situations I designed for.

  • 01A drawing updates mid-taskWhat does a contractor see when an engineer updates a drawing they are already working from?
  • 02No milestone yetWhat does a client see before any milestone exists? An empty state, designed on purpose.
  • 03An approval stallsWho gets blocked when an approval stalls, and what does each of them see?
Key decisions

What kept five roles on one system.

Role-based dashboards
01 / 03

Contextual dashboards

Each role saw information that wasn't theirs.

What I'd do differently

Validate with people on site, and measure the change.

The team was my only feedback loop. It caught plenty of logic gaps, but edge cases were checked against what the team believed users did, not what they actually did. Next time I'd test with on-site users and measure clearly what changed before and after launch.

Lessons
  • Different views, same projectThe hard part was agreeing what is shared and what stays role-specific.
  • Five roles, five mental modelsEach role needed its own entry point into the same data.
Many roles, one product?

Find the gaps before your users do.

For platforms where several roles share the same data and every missing state becomes a support ticket.

Similar work: UX audit, quoted after a short call

More work

All work
Start a conversation

Several user roles and a spec full of holes? Let’s map it out.