Skip to content
Back to work

Case Study · Enterprise Dashboard

Breaking the 9-widget ceiling on the SmartGxP dashboard

From a dashboard capped at 9 widgets on a single, locked layout to a fluid, expandable, and truly personalized workspace, built with PULSE to scale alongside a growing enterprise platform.

SmartGxP Dashboard cover
00Overview

Project snapshot

SmartGxP is ValGenesis' next-generation digital validation platform for regulated industries, unifying operational workflows, compliance visibility, analytics, and configurable enterprise experiences into a single product. As enterprise customers scaled, the demand for flexible, data-driven experiences grew quickly, and the dashboard redesign became the proving ground for PULSE, ValGenesis' new enterprise design system.

Company
ValGenesis
Platform
SmartGxP
Design System
PULSE
Role
UX Designer
Industry
Life Sciences

My role: I designed the information architecture, interaction design, widget system, personalization workflows, and responsive layout, aligning each with PULSE and working closely with product managers, engineering, and design system contributors.

0
Max widgets in the old dashboard
0
Distinct user personas identified
50-60
Widgets the redesign scales to
0
Configurable dashboards per user
01Context

The dashboard worked. The ceiling didn't.

The existing dashboard was functional. The problem was it couldn't keep pace with a platform that was growing rapidly. Every new module added more pressure on an architecture never designed to expand.

9-widget ceiling

A hard limit of 9 widgets via the template selection screen meant the dashboard couldn't represent the full platform as new modules were added.

No fluid expandability

The layout system wasn't built to grow. Adding a new module meant working within a constrained template, not extending a flexible architecture.

Not responsive

Built for desktop only. Tablets and non-standard resolutions broke the experience, a growing issue as field usage increased.

Single dashboard only

Every user had one dashboard. No way to maintain separate views for daily ops, audit prep, or team reporting, or switch between them.

No widget prioritization

Users couldn't resize or rearrange widgets to reflect what mattered most. Layout order was fixed regardless of individual workflow priorities.

Inconsistent patterns

Legacy components lacked alignment, creating a fragmented visual experience before PULSE arrived as the unified design system.

Not role-aware

Every user saw the same widgets in the same positions. A QA manager and a validation specialist had identical starting points with no differentiation.

Inefficient real estate

Modules occupied fixed space regardless of user access level or how relevant the content was to that person's daily work.

Template screen capped at 9

The template selection screen was the only customization available, and with a ceiling of 9 widgets, it was already unfit for where the platform was heading.

The dashboard worked, but the platform was growing faster than it could. The 9-widget ceiling wasn't a design choice anymore; it was a constraint.

Project framing, SmartGxP Dashboard Revamp brief

How might we evolve the SmartGxP dashboard from a functional but capped experience into a fluid, expandable, and truly personalized workspace: one that scales with the platform, supports 50+ widgets, and gives users the flexibility to prioritize what matters most to their role?

02Discovery

Understanding users before designing for them

Discovery was grounded in stakeholder discussions and structured product analysis. Several recurring themes directly shaped the design direction from the outset.

Key observations

The 9-widget cap was the primary constraint

As new modules were added to SmartGxP, the ceiling made it impossible to give users visibility across the full platform. The architecture needed to be uncapped and fluid.

One dashboard for everyone wasn't enough

A QA manager's audit-prep dashboard looks nothing like a validation specialist's daily ops view. A single shared structure couldn't serve both well.

Layout order didn't reflect priority

Users couldn't resize or reorder widgets to bring what mattered most to the top. True personalization means controlling not just which widgets appear, but how prominently.

Template selection was the only customization

The existing template screen gave a starting point but no ongoing control. Once selected, the layout was effectively locked: no fluid rearrangement, no resizing.

Platform growth made the gap widen over time

Every new module added pressure. Each one wanted dashboard representation but the architecture had no room. The gap between what the platform offered and what the dashboard showed kept growing.

Business goals

  • Support the growing SmartGxP ecosystem within ValGenesis
  • Increase engagement with dashboard widgets
  • Improve discoverability of platform modules
  • Create a scalable foundation for future expansion
  • Standardize experiences using PULSE

User goals

  • Quickly access important tasks and modules
  • Personalize the dashboard based on workflow needs
  • Reduce navigation effort and repetitive clicks
  • Get better visibility into priorities and status

User personas

Four distinct user types with entirely different daily needs, the finding that drove full personalization.

QA Manager

Compliance oversight, validation, audit readiness

Goals

  • Monitor pending validations
  • Review compliance metrics
  • Ensure audit readiness

Pain points

  • Critical actions buried in noise
  • Repeated module-hopping
  • No central team status view

Dashboard priorities

CAPA trackerOverdue itemsKPIs

Validation Specialist

Workflow execution, documentation, daily tasks

Goals

  • Access assigned work quickly
  • Track deadlines
  • Minimize repetitive navigation

Pain points

  • Dashboard felt disconnected from daily work
  • Template showed irrelevant information
  • Too many clicks to reach modules

Dashboard priorities

My tasksActivity feedCalendar

Compliance Auditor

Records, validation status, process compliance

Goals

  • Quickly assess compliance health
  • Review audit trails
  • Identify pending risks

Pain points

  • Fragmented information architecture
  • Inconsistent reporting visibility
  • Difficult-to-scan data structures

Dashboard priorities

Compliance summariesActivity logs

Department Head

High-level visibility, KPIs, operational trends

Goals

  • Monitor team performance
  • Identify delays and risks
  • Track KPIs and trends

Pain points

  • Too much operational detail
  • Hard to scan for insights quickly
  • Weak visual prioritization

Dashboard priorities

KPI cardsTrend chartsHeatmaps

Key insight

The existing dashboard worked, but it couldn't scale. The 9-widget ceiling, single layout, and lack of rearrangement meant users were operating within a system that couldn't reflect their actual priorities, and would only fall further behind as SmartGxP grew.

User journey map

How users move through SmartGxP, and how the PULSE dashboard addresses friction at each stage.

Stage 01

Login & Entry

Quickly understand priorities · Access dashboard after login

Pain point

Template showed irrelevant widgets

PULSE opportunity

Personalized dashboards surface relevant KPIs

Stage 02

Task Discovery

Identify pending work · Scan for tasks, approvals, alerts

Pain point

Information scattered across modules

PULSE opportunity

Centralized task widgets improve discoverability

Stage 03

Navigation

Access required modules quickly · Move between workflows and modules

Pain point

Multiple clicks and repetitive navigation

PULSE opportunity

Quick-access widgets reduce friction

Stage 04

Monitoring

Track compliance and health · Review charts, KPIs, reports

Pain point

Weak visual hierarchy, hard to scan

PULSE opportunity

Modular widgets with improved readability

Stage 05

Customization

Configure workspace by role · Add, remove, and rearrange widgets

Pain point

Template only: max 9 widgets, locked after setup

PULSE opportunity

Editable dashboards: rearrange and resize freely

Stage 06

Collaboration

Coordinate with teams · Review approvals and workflow updates

Pain point

Limited contextual visibility into team activity

PULSE opportunity

Unified dashboards improve operational awareness

Stage 07

Cross-Device

Access across screen sizes · Use platform on desktop and tablet

Pain point

Dashboard responsiveness was inconsistent

PULSE opportunity

Responsive PULSE grid improves usability

Stage 08

Ongoing Use

Build efficient repeat workflows · Use dashboard daily for operations

Pain point

Dashboard could not scale with more modules

PULSE opportunity

Modular layouts support long-term scalability

03Framework

Six principles behind every decision

Aligned on before moving to wireframes, the decision-making framework used throughout the entire project.

P01

Modular by default

Every section behaves independently and scales without redesigning the entire dashboard. Widgets are the atomic unit.

P02

Personalized experience

True personalization means rearranging and resizing, not just choosing which widgets appear. Priority is the differentiator.

P03

Safe to customize

Users only rearrange when they trust they can't break anything. Edit mode is explicit, destructive actions confirm first, and unsaved work is never lost silently.

P04

Action-oriented

The dashboard helps users act faster, not just consume information. Every widget earns its place through utility.

P05

Scalable architecture

Built for modules that don't yet exist. New modules add a widget; they don't require a redesign. Target: 50-60 widgets.

P06

Consistent through PULSE

Every component uses PULSE. The dashboard is the flagship PULSE implementation inside SmartGxP.

04System Thinking

Restructuring the information space

The dashboard was reorganized into clearly defined zones, each with a distinct purpose, replacing a single undifferentiated layout with a coherent, navigable structure.

SmartGxP Dashboard: IA map · 7 layers · 35+ nodes

Global Navigation

Entry points shared across the whole platform, always in view.

Module nav, Notifications, User profile, Dashboard switcher

Dashboard Controls

Per-dashboard actions for configuring and managing the current view.

Date filters, Edit dashboard, Widget management, Duplicate / delete, Set as primary

KPI & Summary Zone

At-a-glance health metrics surfaced above the fold.

Compliance, Validation status, Inventory, Completion KPIs

Widget Grid: Visualizations

Charting widgets for trends and comparative data.

Bar charts, Pie / donut, Line charts, Radar / heatmap

Widget Grid: Operational

Task-facing widgets for day-to-day operational work.

Task list, Calendar, Activity feed, Alerts

Task Management Layer

The connective layer between dashboard visibility and real work items.

Assigned tasks, Upcoming tasks, Overdue items, Approvals, Workflow

Dashboard Personalization Layer

The layer that makes everything above it configurable per user.

Add, Remove, Rearrange, Resize, Save, Up to 5 dashboards

Module widgets at launch

Adhoc ReportsTask ListContentCalendarInventoryExecutionAssessmentProject+ future modules (target: 50-60)
05Approach

From blank canvas to system

The design moved through three phases: breaking the widget ceiling with a fluid architecture, building the personalization model, and enabling full dashboard creation flows, each building on the last.

The dashboard became the first major PULSE implementation, proving the system in production while helping define it. Several components (widget API, drag-handle patterns, activity feed) were first built here, then back-ported into PULSE itself.

What PULSE contributed

12-col fluid gridWidget component APIColor tokensTypography scaleDrag-and-drop patternsResponsive breakpointsMotion principlesData viz kitIcon library

Design Decision: Dashboard Limit

Users can create a maximum of 5 dashboards

In the PULSE version, each user can maintain up to 5 dashboards. This is a deliberate upper limit, not a technical one. Unlimited dashboards creates its own management problem: stale layouts, lost context, an unwieldy switcher. Five covers the realistic range of role contexts while keeping the experience governable.

Old dashboard

1

Single dashboard, template-based, max 9 widgets

PULSE dashboard

Up to 5

Per-user dashboards, fully configurable layouts

Responsive grid behavior

Responsiveness was a baseline constraint from day one. On tablet and mobile, available space limits widgets to one per row; stacking side-by-side is not viable at those widths.

Desktop

Editable

1280px+

Multi-column · fully editable

Tablet

View only

768-1024px

1 widget/row · view only

Mobile

View only

≤767px

1 widget/row · view only

Design Decision: Responsive Personalization

Personalization is disabled on tablet and mobile

Dashboard editing is a desktop-only feature. On tablet and mobile, the dashboard is read-only. Two reasons drove this: the drag-and-drop and resize interaction model doesn't translate well to touch at small widths, and with only one widget per row there is no multi-column layout to personalize. The customization has no meaningful visual output for the user on those breakpoints.

Scalability Requirement

Designed for 50-60 widgets in the future

The SmartGxP platform is expected to grow to 50-60 distinct widgets as new modules are added. The searchable widget library was designed to remain usable whether the library contains 10 widgets or 60. A new module adding a widget should require zero redesign.

0
Module widgets at launch
50-60
Projected future widgets
0
Redesigns needed to add new widgets

New dashboard creation flow

Creating a dashboard is a guided single-panel flow. Users never leave the main canvas; a right-side drawer handles all configuration while the grid preview updates live.

1

Empty canvas

Dashed grid cells signal available space. "New Dashboard" opens the right panel.

2

Name & set primary

User enters a name and toggles "Set as Primary", pre-filled "My Dashboard" by default.

3

Select widgets

Searchable widget list with filter icon. Each row has a drag handle and an info icon.

4

Drag to position

Widgets dragged onto grid. A "widgets will shift down" tooltip confirms collision-aware placement.

5

Preview & submit

Widget preview card appears before confirming. Cancel / submit footer completes the flow.

“New Dashboard” panel anatomy

Dashboard Name field

Required input, pre-filled "My Dashboard"

"Set as Primary" toggle

On by default for the first dashboard a user creates

"Select Widgets" section

Search bar and filter icon immediately below the header

Widget rows: drag handle + info

Drag handle on the left, info icon on the right of each row

Widget preview card

Appears once a widget is selected, confirming the choice before submit

Cancel / Submit footer

Sticky at the bottom of the panel at all times

Widget management UX decisions

Progressive disclosure

Advanced actions like edit, duplicate, and delete are hidden under contextual menus, reducing clutter during normal use.

Side panel editing

Dashboard configuration in a right-side drawer maintains context while the grid updates live beneath it.

Search-first widget library

Essential as the library scales to 50-60 widgets. Browsing a flat list without search at that volume would be unusable.

Empty state handling

Placeholder grid cells help users understand available space, especially important on first use before any widgets are added.

Explicit edit mode

A deliberate mode for customization rather than always-on drag-and-drop. Prevents accidental rearrangement during regular workflow.

Confirmation patterns

Critical actions like delete use confirmation modals with contextual warnings to prevent irreversible accidental changes.

06Edge Cases

The hard problems beneath the surface

A configurable enterprise dashboard introduced significant interaction and system edge cases, each requiring deliberate design decisions, not just engineering fixes.

Problem

During drag-and-drop, widgets could overlap existing ones or disrupt the grid, creating broken layouts and inaccessible content.

Solution

  • Grid-based placement with automatic collision detection
  • Snap-to-grid with reserved layout spacing
  • "Widgets will shift down" tooltip communicates push behavior live during drag
  • Blocked invalid drop zones with visual indicators

Outcome

Users could confidently rearrange without breaking dashboard structure.

07AI in the Process

Using AI to handle complexity at scale

As the dashboard became highly modular and customizable, interaction complexity grew significantly. AI-assisted workflows accelerated exploration and edge-case validation before development.

Prototyping

Figma Make

Used to rapidly experiment with interactive concepts, dashboard structures, and widget behavior in motion, far beyond what static wireframes could communicate.

UX Logic

Claude

Used to explore logic flows, edge-case scenarios, interaction patterns, and scalable dashboard behavior, particularly around permission-based rendering and state management.

Ideation

ChatGPT

Used to brainstorm UX flows, identify usability gaps, simulate user scenarios, and accelerate product thinking around personalization and system scalability.

Rapid prototyping

Prototypes generated much faster, letting the team visualize complex interactions earlier and align stakeholders before development began.

Edge case discovery

Faster identification of widget overlap, broken layouts, inaccessible widgets post permission change, and unexpected empty states.

Design-to-dev clarity

Reduced ambiguity before implementation, especially how widgets behave when resized, rearranged, or dynamically loaded across breakpoints.

Key reflection

Rather than replacing the UX process, AI acted as an accelerator for experimentation and systems thinking, allowing the team to explore interactions that static deliverables couldn't adequately communicate to engineering.

08Comparison

The transformation at a glance

DimensionLegacy dashboardPULSE dashboard
Layout modelTemplate-based: layout locked after setup, no rearrangingFluid PULSE grid: drag to rearrange, resize by priority, snap-to-grid
PersonalizationTemplate screen gave a starting point; no rearrange or resize afterTrue personalization: resize and reorder to reflect what matters most
Dashboard countSingle dashboard: no creation, switching, or role-based separationUp to 5 named dashboards per user: daily ops, audit prep, team KPIs etc.
Widget capHard ceiling of 9 widgets via template screenNo cap; widget library built to scale to 50-60 modules
Module coverageFixed widgets for legacy modules onlyAdhoc Reports, Task List, Content, Calendar, Inventory, Execution, Assessment, Project + extensible API
ResponsivenessDesktop only: breaks on tablet and mobileFluid grid; 1 widget/row on tablet and mobile; edit mode desktop-only by design
Role awarenessNo concept of user role or permissionPermission-gated widgets, role-based default suggestions
ScalabilityNew modules require full dashboard work to addWidget API built for 50-60 widgets; new modules add a tile, not a redesign
Error handlingPage-level failures for any widget errorIsolated widget failures, skeleton states, retry options
Design systemLegacy ad hoc components, visually inconsistent100% PULSE, zero legacy exceptions
09Evaluation

Evaluating the redesign honestly

Strengths

  • Modular widget architecture scales with the product
  • True personalization: resize and reorder by priority
  • Scalable foundation ready for 50-60 future modules
  • Strong alignment with PULSE design system
  • Better information hierarchy and discoverability

Weaknesses

  • Increased complexity in dashboard management UX
  • Advanced customization requires some user onboarding
  • Higher engineering effort for full configurability
  • Large enterprise data density still challenging
  • Widget overload possible without governance guardrails

Opportunities

  • Future AI-driven personalization and widget recommendations
  • Role-based dashboard templates and team sharing
  • Advanced analytics and reporting widgets
  • Cross-platform responsive experiences
  • Reusable framework across ValGenesis products

Threats

  • Over-customization may create inconsistent experiences
  • Rapid product expansion could increase complexity
  • Legacy modules may not align fully with new architecture
  • User resistance to changes in established workflow habits
  • Enterprise performance concerns with dynamic widgets
10Results

What the redesign changed

The redesign evolved the SmartGxP dashboard from a functional but constrained experience into a fluid, expandable workspace. Breaking the 9-widget ceiling was the foundation; multiple dashboards, role-based defaults, and true layout personalization were the layers built on top.

Ceiling broken

From a hard cap of 9 widgets to an unlimited, scalable widget architecture built for 50-60 modules and beyond.

True personalization

Users can now resize and reorder widgets to reflect their actual priorities, not just choose which ones appear.

Multiple dashboards

Up to 5 named dashboards per user: separate views for daily ops, audit prep, team reporting, and more.

Platform scalability

New SmartGxP modules can be added to the dashboard with zero redesign, just a new widget in the library.

Responsive experience

Fluid grid across all breakpoints. 1 widget per row on tablet and mobile with read-only mode by design.

PULSE flagship

100% PULSE components throughout. The dashboard became the first and flagship implementation of the design system.

11Retrospective

What this project reinforced

Building a configurable enterprise dashboard reinforced how much of the work was about constraints, priority, and designing for a scale the platform hadn't reached yet.

The constraint was the ceiling, not the concept.

The old dashboard worked. The 9-widget cap and single locked layout were the real blockers, and removing that ceiling is what unlocked everything else.

Personalization is about priority, not presence.

Choosing which widgets appear is a starting point. Resizing and reordering them is what actually reflects how someone works.

Multiple dashboards solve the role problem cleanly.

Five named dashboards let a QA manager keep audit prep separate from daily ops, instead of forcing one screen to serve every context.

Responsiveness meant knowing what to leave out.

With one widget per row on tablet and mobile there is no layout left to personalize, so disabling edit mode there was the right call rather than a compromise.

Scalability has to be built in, not bolted on.

The widget API and fluid grid were designed for 50-60 widgets from day one, so a new module adds a tile instead of triggering a redesign.

Design systems amplify scalability.

PULSE turned a one-off redesign into a foundation every later screen builds on without drift.

AI accelerated the right things.

It shortened the gap between "what happens when X" and a concrete interaction, especially for edge cases static screens couldn't communicate to engineering.

Explicit edit mode builds trust.

A deliberate customization mode let users rearrange their layout without fear of breaking it during regular work.

The SmartGxP Dashboard Revamp wasn't about fixing something broken. It was about breaking a ceiling: moving from a functional but constrained experience to one fluid enough to grow with the platform, flexible enough to reflect individual priorities, and scalable enough to still make sense at 50+ widgets.

  • Product Design
  • Interaction Design
  • Design Systems
  • Enterprise UX
  • Accessibility
  • Information Architecture
  • Design Tokens
  • Motion Design
  • Prototyping
  • Wireframing
  • Microinteractions
  • UX Research
  • Usability Testing
  • Workshop Facilitation
  • Mentoring
  • AI Prototyping
  • Figma
  • Framer
  • Jira
  • Notion
  • Adobe Suite
  • Claude
  • ChatGPT