Enterprise Product Design · Healthcare SaaS · Design Systems & Cross-Functional Ownership
How I owned the end-to-end design of a role-based enterprise dashboard — from on-site research through a scalable Figma design system to developer handoff — translating a deeply technical, fragmented operation into something a tired night-shift technician could trust in seconds, while cutting maintenance response time by 65%.
Measured outcomes — 90 days post-launch
Overview
Pantai Hospitals is one of Malaysia's largest private hospital groups, operating 5 major facilities with hundreds of facility management staff across housekeeping, maintenance, and operations teams. When I joined this engagement, the entire operations layer ran on paper work orders, radio calls, and disconnected spreadsheets — and the cost was measurable.
I was brought in as Lead Product Designer to take ownership of the design process end-to-end: design a role-based enterprise dashboard from the ground up, build the design system underneath it, and work closely with the 3-person engineering team to ship it inside real technical constraints — HVAC integrations, hospital network security, and legacy data sources none of us could redesign away.
The hardest part wasn't visual design. It was understanding genuinely complex operational and technical systems well enough to make them feel simple to someone with thirty seconds and no patience for a learning curve.
"In healthcare operations, a 46-minute delay in room turnover isn't just an efficiency problem — it directly affects patient care. The design had to earn trust from day one and be learnable in a single shift."
The problem
Before any design work began, I spent two weeks embedded alongside operations teams across two hospital sites. The problems were compounding across every layer of the operation.
Research & discovery
With six months to deliver a production platform, I front-loaded research heavily. The complexity meant assumptions made early would compound into expensive mistakes later.
Each participant walked me through their last full shift — every tool used, every friction point, every workaround normalised. Consistent failure patterns emerged within the first week across 8 shift patterns.
Shadowing supervisors, technicians, and facility managers through live shifts exposed improvised workarounds staff had built into daily routines that no one had documented.
Mapped response time patterns, bottleneck locations, and failure clusters — converting anecdotal frustrations into quantified problems that became the dashboard's KPIs.
Facilitated a prioritisation session to sequence which KPIs needed to surface at launch versus phase two — preventing scope overload.
Covered HVAC integration, safety data compliance, real-time notification architecture, and mobile-first requirements — before any wireframes began.
Early ideation — mapping which KPIs needed top-level visibility before a single pixel was designed in Figma. These sketches came directly out of the technical discovery session with engineering.
Early low-fidelity wireframes — tested with real hospital staff before any visual design work began, so structural problems surfaced while they were still cheap to fix.
8 wireframe screens — tested with real hospital staff across 3 rounds before any high-fidelity design began. Each screen maps directly to a role-specific workflow identified in research.
A single dashboard serving all three user types would have failed each of them. Every role needed fundamentally different information density and primary actions.
89% of operational tasks happened away from a desk. For technicians and supervisors, mobile was the entire experience.
The design needed to make handoff communication structural and documented — not dependent on memory or verbal briefings.
The UI had to feel immediately intuitive — learnable in a single shift — or adoption would fail regardless of technical capability.
User profiles
Design decisions
The guiding principle across all decisions: reduce cognitive load in a high-stakes environment. Healthcare workers can't afford to interpret an interface — the right action has to be obvious.
The temptation in enterprise design is to build one configurable system that serves everyone. The research made clear this would fail. I designed three distinct views — each optimised for its user's tasks and decision context — sharing a single Figma component library with consistent tokens and patterns.
Facility Manager view — built from the shared component library: KPI tiles, status pills, and chart components reused across all three role-based dashboards.
Final hi-fidelity screens applying the Pantai UEMS brand system — each screen directly evolved from its wireframe counterpart, validated across three usability testing rounds before engineering handoff.
Each surface showed only what the user needed to act right now. Critical issues were elevated with a red-priority system — visually impossible to miss and semantically impossible to confuse with routine tasks. This was the most-cited improvement in post-launch feedback.
Jobs appeared as a prioritised list with urgency indicators, one-tap acknowledgement, and inline documentation. Tap targets were set to 48px minimum. This single change drove the 65% reduction in response time.
Mobile job flow wireframe — refined across three rounds of usability testing before development began.
Outgoing supervisors formally logged outstanding tasks before signing off. The incoming supervisor received a structured written summary with one-tap acknowledgement — a timestamped audit record replacing the verbal briefing.
I mapped exactly which data points each compliance report required, then designed the platform to capture those points passively — a byproduct of normal use, not a separate logging task.
Design system & cross-functional process
Shipping three role-based views without a shared system would have meant three sets of inconsistent patterns and a maintenance burden for engineering. So before high-fidelity design began, I built a token-based Figma design system that every view — and every future feature — would be built from.
Colour tokens (including dedicated priority/urgency states), a 4px spacing scale, type styles, and 30+ reusable components — KPI tiles, status pills, chart containers, mobile nav patterns — documented in a single Figma library so design changes propagated everywhere at once instead of being patched screen by screen.
Early concept testing caught the one-dashboard failure before any high-fidelity work started. A mid-fidelity prototype round validated the priority system and mobile job flow. A pre-launch round with the production build caught smaller friction points — tap target sizing, label clarity — before go-live.
Specs, redlines, and accessibility annotations (contrast ratios, tap target sizes, screen-reader labels) were maintained directly in Figma. A shared technical-constraints document — covering HVAC integration limits, hospital network security, and offline behaviour — was updated jointly with engineering throughout the build, not handed over once at the end.
Post-launch metrics were checked against the original research baselines, not vanity numbers invented after the fact. The retrospective fed two prioritised iterations directly into the phase-two roadmap.
What failed — and what we changed
My initial proposal was a single platform with role-based toggles. The first usability test with 6 real hospital staff broke the assumption completely — none of the three roles shared a workflow or decision context. I redesigned into three purpose-built views with a shared component library.
The original alert system relied on external push services. Technical discovery confirmed hospital Wi-Fi across 3 of the 5 sites blocked external push for security compliance. We pivoted to a polling-based in-app system with a sub-60-second refresh cycle. The 65% response time reduction held regardless.
The original brief included GPS-based auto-routing. After scoping the backend requirements — continuous polling, skill taxonomy, battery drain — we agreed it was 6–8 weeks that would delay launch. We removed it and shipped a supervised manual dispatch flow instead.
Results & impact
Final shipped dashboard — every component traced back to the design system's shared token library.
Tools used
Key takeaways
The 80+ hours on-site produced the most valuable inputs — particularly around shift handoff failures no one would describe as problems in an interview.
Three purpose-built views only stayed maintainable because they were built from one token-based component library — role-specificity beat universal flexibility without multiplying engineering effort.
Designing for low mental effort wasn't a UX preference — it was a clinical requirement. Ambiguity in a high-pressure environment creates errors.
The 92% compliance rate came from making compliance the easiest path, not from training harder.
Six months of operational data meant every priority was backed by a number and every post-launch metric had a clear baseline.
The push notification failure would have been a launch blocker at handoff. Discovery before wireframes made it solvable instead.
Reflection
Pantai Hospitals is the project I point to when asked what it takes to own a design process end-to-end on a deeply technical, high-stakes system. It wasn't about making things look clean — it was about understanding HVAC integration limits, safety-compliance requirements, and three conflicting workflows well enough to redesign how the operation actually worked, then build a design system robust enough to scale across all of it.
The most valuable skill I exercised wasn't visual craft — it was translating real operational and technical complexity into something a tired night-shift technician could trust in seconds. Taking something genuinely complex underneath and making the surface simple is the part of product design I find most interesting, regardless of the domain it shows up in next.
I also learned what cross-functional design ownership looks like in practice: weekly syncs with engineering to understand what was technically feasible, usability testing structured enough to kill my own first idea when the data said so, and a component library disciplined enough that three very different interfaces still felt like one product.