site

#vm-portfolio { all: initial; display: block; } #vm-portfolio *, #vm-portfolio *::before, #vm-portfolio *::after { box-sizing: border-box; margin: 0; padding: 0; } #vm-portfolio { –ink: #0e1117; –ink-soft: #3a3d47; –ink-muted: #6b6f7c; –ink-ghost: #a0a4b0; –paper: #f7f6f2; –paper-warm: #efede6; –paper-card: #ffffff; –accent: #1a3a5c; –accent-light: #2d5f8e; –accent-bright: #e84c1e; –line: #d8d4cc; –serif: ‘DM Serif Display’, Georgia, serif; –sans: ‘DM Sans’, system-ui, sans-serif; font-family: var(–sans); background: var(–paper); color: var(–ink); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; } /* ─── HERO ─── */ #vm-portfolio .hero { padding: 80px 2rem 80px; max-width: 1100px; margin: 0 auto; } #vm-portfolio .hero-eyebrow { font-size: 0.75rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(–accent-bright); margin-bottom: 1.2rem; } #vm-portfolio .hero h1 { font-family: var(–serif); font-size: clamp(2.8rem, 6vw, 5.2rem); line-height: 1.06; color: var(–accent); letter-spacing: -0.02em; max-width: 800px; margin-bottom: 1.8rem; } #vm-portfolio .hero h1 em { font-style: italic; color: var(–accent-bright); } #vm-portfolio .hero-desc { font-size: 1.1rem; color: var(–ink-soft); max-width: 560px; line-height: 1.75; margin-bottom: 2.8rem; } #vm-portfolio .hero-meta { display: flex; gap: 3rem; flex-wrap: wrap; } #vm-portfolio .hero-meta-item label { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(–ink-ghost); margin-bottom: 0.3rem; } #vm-portfolio .hero-meta-item span { font-size: 0.9rem; font-weight: 500; color: var(–ink-soft); } /* ─── CASE INDEX ─── */ #vm-portfolio .case-index { max-width: 1100px; margin: 0 auto; padding: 0 2rem 80px; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5px; background: var(–line); border: 1.5px solid var(–line); } #vm-portfolio .index-card { background: var(–paper-card); padding: 2rem; text-decoration: none; display: block; transition: background 0.2s; } #vm-portfolio .index-card:hover { background: var(–paper-warm); } #vm-portfolio .index-num { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(–accent-bright); margin-bottom: 0.8rem; } #vm-portfolio .index-title { font-family: var(–serif); font-size: 1.35rem; color: var(–accent); line-height: 1.25; margin-bottom: 0.6rem; } #vm-portfolio .index-subtitle { font-size: 0.82rem; color: var(–ink-muted); line-height: 1.5; } /* ─── DIVIDER ─── */ #vm-portfolio .section-divider { max-width: 1100px; margin: 80px auto 0; padding: 0 2rem; border-top: 1.5px solid var(–line); } /* ─── CASE STUDY ─── */ #vm-portfolio .case-study { max-width: 1100px; margin: 0 auto; padding: 80px 2rem; border-bottom: 1.5px solid var(–line); } #vm-portfolio .case-header { display: grid; grid-template-columns: 1fr 340px; gap: 4rem; margin-bottom: 4rem; align-items: start; } @media (max-width: 768px) { #vm-portfolio .case-header { grid-template-columns: 1fr; gap: 2rem; } } #vm-portfolio .case-eyebrow { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(–accent-bright); margin-bottom: 1rem; } #vm-portfolio .case-title { font-family: var(–serif); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; color: var(–accent); letter-spacing: -0.02em; margin-bottom: 1rem; } #vm-portfolio .case-subtitle { font-size: 1rem; color: var(–ink-soft); line-height: 1.7; max-width: 520px; } #vm-portfolio .meta-block { background: var(–paper-warm); border: 1px solid var(–line); padding: 1.8rem; } #vm-portfolio .meta-row { display: grid; grid-template-columns: 90px 1fr; gap: 0.6rem 1rem; padding: 0.7rem 0; border-bottom: 1px solid var(–line); align-items: baseline; } #vm-portfolio .meta-row:last-child { border-bottom: none; padding-bottom: 0; } #vm-portfolio .meta-row:first-child { padding-top: 0; } #vm-portfolio .meta-label { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(–ink-ghost); padding-top: 2px; } #vm-portfolio .meta-value { font-size: 0.85rem; color: var(–ink-soft); line-height: 1.5; } #vm-portfolio .meta-value strong { color: var(–accent); font-weight: 600; } /* ─── CONTENT SECTIONS ─── */ #vm-portfolio .content-body { display: grid; grid-template-columns: 160px 1fr; gap: 0 4rem; margin-bottom: 3.5rem; } @media (max-width: 768px) { #vm-portfolio .content-body { grid-template-columns: 1fr; gap: 0.5rem; } } #vm-portfolio .section-label { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(–ink-ghost); padding-top: 0.25rem; position: sticky; top: 70px; height: fit-content; } #vm-portfolio .section-content h3 { font-family: var(–serif); font-size: 1.25rem; color: var(–accent); margin: 2rem 0 0.7rem; letter-spacing: -0.01em; } #vm-portfolio .section-content h3:first-child { margin-top: 0; } #vm-portfolio .section-content p { font-size: 0.95rem; color: var(–ink-soft); line-height: 1.8; margin-bottom: 1rem; } #vm-portfolio .section-content ul { margin: 0.5rem 0 1rem 0; padding: 0; list-style: none; } #vm-portfolio .section-content ul li { font-size: 0.93rem; color: var(–ink-soft); line-height: 1.7; padding: 0.35rem 0 0.35rem 1.3rem; position: relative; } #vm-portfolio .section-content ul li::before { content: ‘—’; position: absolute; left: 0; color: var(–accent-bright); font-size: 0.8rem; } /* ─── STAT STRIP ─── */ #vm-portfolio .stat-strip { background: var(–accent); padding: 2.5rem; margin: 2.5rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 2rem; } #vm-portfolio .stat-num { font-family: var(–serif); font-size: 2.4rem; color: #ffffff; line-height: 1; margin-bottom: 0.4rem; letter-spacing: -0.02em; } #vm-portfolio .stat-label { font-size: 0.75rem; color: rgba(255,255,255,0.55); line-height: 1.4; font-weight: 400; letter-spacing: 0.02em; } /* ─── PULL QUOTE ─── */ #vm-portfolio .pull-quote { border-left: 3px solid var(–accent-bright); padding: 1.2rem 1.8rem; margin: 2rem 0; background: var(–paper-warm); } #vm-portfolio .pull-quote p { font-family: var(–serif); font-size: 1.1rem; font-style: italic; color: var(–accent); line-height: 1.5; margin: 0; } /* ─── DECISION GRID ─── */ #vm-portfolio .decision-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5px; background: var(–line); border: 1.5px solid var(–line); margin: 1.5rem 0; } #vm-portfolio .decision-card { background: var(–paper-card); padding: 1.5rem; } #vm-portfolio .decision-title { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(–accent); margin-bottom: 0.6rem; } #vm-portfolio .decision-body { font-size: 0.87rem; color: var(–ink-soft); line-height: 1.65; } /* ─── OUTCOME LIST ─── */ #vm-portfolio .outcome-list { display: flex; flex-direction: column; gap: 0.8rem; margin: 1rem 0; } #vm-portfolio .outcome-item { display: flex; align-items: baseline; gap: 1rem; padding: 0.9rem 1.2rem; background: var(–paper-card); border: 1px solid var(–line); border-left: 3px solid var(–accent); } #vm-portfolio .outcome-item .o-num { font-family: var(–serif); font-size: 1.3rem; color: var(–accent); min-width: 3rem; line-height: 1; } #vm-portfolio .outcome-item .o-text { font-size: 0.88rem; color: var(–ink-soft); line-height: 1.5; } /* ─── FOOTER ─── */ #vm-portfolio .vm-footer { max-width: 1100px; margin: 0 auto; padding: 4rem 2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; border-top: 1.5px solid var(–line); } #vm-portfolio .footer-name { font-family: var(–serif); font-size: 1.4rem; color: var(–accent); } #vm-portfolio .footer-links { display: flex; gap: 2rem; flex-wrap: wrap; } #vm-portfolio .footer-links a { font-size: 0.82rem; color: var(–ink-muted); text-decoration: none; font-weight: 500; transition: color 0.2s; } #vm-portfolio .footer-links a:hover { color: var(–accent); } /* ─── ANIMATIONS ─── */ #vm-portfolio .fade-in { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; } #vm-portfolio .fade-in.visible { opacity: 1; transform: none; } #vm-portfolio .stagger > * { opacity: 0; transform: translateY(16px); transition: opacity 0.5s ease, transform 0.5s ease; } #vm-portfolio .stagger.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0s; } #vm-portfolio .stagger.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.08s; } #vm-portfolio .stagger.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.16s; } #vm-portfolio .stagger.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.24s; } /* Progress bar */ #vm-progress { position: fixed; top: 0; left: 0; height: 2px; background: #e84c1e; width: 0%; z-index: 9999; transition: width 0.1s linear; }

Portfolio · Amazon · Enterprise UX

Designing for systems that cannot fail.

Four case studies from Amazon — each addressing high-stakes, large-scale operational complexity for a global workforce of 1.2 million associates.

RoleSenior UX Designer
CompanyAmazon
Timeline2023 – Present
Scope1.2M+ associates globally
Case Study 01

WAGE — Wage Analytics & Guidance Engine

Transforming Amazon’s compensation decision-making from a 2–3 month manual cycle into a real-time, AI-guided platform serving 1.2M hourly associates.

RoleLead UX Designer, end-to-end
TeamCompensation Programs, Ops LT, Finance, WFS, Engineering
PlatformInternal web app · A-to-Z portal
Impact$80M+ saved Year 1 · Reviews: weeks → minutes
$80M+
Savings in Year 1
1.2M
Associates served
2–3 mo
Review time — before
Minutes
Review time — after

Amazon manages compensation for over 1 million L1–L3 hourly employees. A single $0.50 wage adjustment in the US translates to an $800M annualized investment and Amazon’s base wage investment grew from $0.8B in 2022 to $2.2B in 2024.

Yet the network wage review decision process was broken. Data existed across compensation, staffing, and operations systems but each team used different aggregations, different interpretations, and different tools. Forming a recommendation required weeks of manual data collection, spreadsheet modeling, alignment meetings, and repeat reviews. Ripple effects like wage compression were only discovered after decisions were already made.

“While generally understood by leadership, we still struggled with organizing compensation tenets and mental models. What used to require extensive meetings and manual analysis can now be accomplished in minutes.” — John Tagawa, VP of North America Operations

Who I researched

I ran generative research with four distinct groups: VP-level Operations and PXT leaders who make final compensation decisions; Compensation Program leaders who prepare recommendations; Workforce Staffing analysts who own fill rate and attrition data; and Finance, who validate cost models before approval.

Critical findings

  • The bottleneck was not data availability but synthesis — data existed, but nothing connected it into a single decision-ready view
  • Leaders needed directional confidence, not precision — they wanted AI-guided recommendations they could challenge, not raw data
  • Approval anxiety was high: the fear of making a wrong call at scale was paralyzing; risk signals needed to be surfaced proactively
  • A single off-cycle wage review decision averaged 14 discrete handoffs across teams between data collection and approval and takes about 3 weeks to complete.

Three jobs-to-be-done

Following a design workshop with key stakeholders, I structured the entire design around three core tenets: Data Visibility (a unified real-time data view), Assisted Decision (AI-assisted scenario modeling), and Frictionless Approval (streamlined approvals). Each phase of the roadmap maps to one of these.

Unified data dashboard

The foundation was a consolidated interface surfacing base wages, shift differentials, premiums, incentives, KPIs, and market benchmarks together, integrated with the Labor Supply Model for real-time site-level data.

  • Node-level and site-level views with clear drill-down paths, eliminating cross-dashboard context switching
  • Fill rate, attrition, and tenure surfaced directly alongside compensation data
  • RED/YELLOW/GREEN health indicators with user-configurable thresholds

AI-generated summaries

The most complex design challenge: surfacing dozens of interacting variables as natural language that VP-level operations leaders could act on immediately. I worked with data science to define the output format, tone rules, and edge cases.

  • Spell out timeframes in full — summaries are read by operations VPs, not analysts
  • Lead with the “so what” before the data: connect metrics to operational impact first
  • Shift differential status is a required line in every health summary
  • No weasel words — summaries must be precise and auditable

Scenario modeling

  • Leaders compare multiple scenarios side-by-side with automated impact analysis
  • Annotation layer for async collaboration — replacing email chains and meetings
  • Compression and ripple effects surfaced upfront, not discovered after decisions
  • One-click approval workflow replacing multi-meeting approval cycles
$80M+Saved in Year 1 of the compensation analytics capabilities launch
2→minWage review recommendation cycle reduced from 2–3 months to minutes
43%Projected reduction in shift differential manual analysis hours (700+ hours annually)
80%Adoption target: off-cycle SD requests via WAGE within 12 months of SD feature launch
Case Study 02

VCM — Variable Compensation Management

Replacing a 2009 PeopleSoft legacy system with a purpose-built platform for managing variable compensation across 43 plans in 26 countries — eliminating 1,500 annual defects.

RoleLead UX Designer, end-to-end
TeamACT Engineering, Comp Programs, Sales Ops, Pay Services
Scope26 countries · 4 sales job families · 43 local allowance plans
ImpactPeopleSoft deprecated Q4 2024 · 1,500 defects/yr eliminated
1,500
Annual defects eliminated
26
Countries covered
1.4M
Employees affected by 2023 COE incident
35
Auditors freed from quarterly correction cycles

Amazon’s variable compensation — covering sales incentives and local allowances globally — was managed through PeopleSoft’s Variable Compensation Engine (VCE), built in 2009 and never designed for Amazon’s scale or international expansion.

PeopleSoft could only assign either a sales incentive plan or a local allowance to an employee — but not both. In countries where employees are legally entitled to multiple allowances (Mexico, Argentina, Uruguay), teams manually hardcoded workarounds that required monthly audits to maintain.

In 2023, a single misconfigured rule incorrectly assigned variable compensation plans to 1.4 million employees over two days. Correcting it required legal involvement, corrections to new hire and transfer offer letters, and taking other systems offline.

  • 1,500 defects per year for sales employees receiving local allowances
  • 35 comp consultants auditing 381 instances per quarter to correct errors
  • 350–400 manual corrections annually from lack of job code standardization
  • No built-in safeguards to validate plan assignments before deploying to large populations

Domain immersion

Before designing anything, I needed to understand a deeply technical domain: how variable compensation is structured legally and operationally across 26 countries. I embedded with Compensation Programs and the Sales Governance Working Group for several weeks.

  • Stakeholder interviews across Compensation admins, Sales Operations, Pay Services, and HRBPs — mapping the full current-state workflow
  • Reviewed COE (Correction of Error) reports and SIM tickets to understand the most common failure modes in PeopleSoft
  • Studied local allowance requirements across 26 countries: tenure-based plans (Morocco), profit-sharing laws (Mexico), collective bargaining agreements
  • Traced the full lifecycle of a variable compensation plan from creation through assignment, calculation, and correction

Critical insight

The fundamental problem was not UI polish but data modeling. The system needed to represent multiple variable compensation plans per employee with independent formulas — something PeopleSoft structurally couldn’t do. And comp admins needed confidence before committing changes. The fear of accidentally impacting thousands of employees was paralyzing — safety features were not optional, they were the core UX requirement.

Plan configuration UI

  • Separate plan creation from plan assignment — reducing blast radius by requiring explicit confirmation at each stage
  • One plan : one formula constraint — multiple eligibility groups per plan deferred to P3 to limit audit complexity and error cascades
  • Inline eligibility builder: flexible criteria (location, org, job code, tenure, business entity, regulatory region) — configurable without engineering effort
  • Calculation basis selector with system-level guards preventing recursive calculation errors

Simulation as mandatory gate

The simulation feature was the design centrepiece. Before any plan can be submitted for approval, the admin must view a simulation showing: employee count impacted broken down by manager/location/org, employees whose total compensation falls outside range, and a delta showing who is added or removed. This is a mandatory step — not optional — a deliberate choice to make the weight of large-scale decisions viscerally clear.

Approval & safety system

  • Structured 2-step approval workflow: comp consultant initiates, principal comp consultant approves
  • Approvers must be unique — no self-approval
  • Rollback treated as an edit — same approval workflow, preserving full auditability
  • Plan deactivation shows warning with active employee count before proceeding
  • Error log with human-readable descriptions for every failed assignment — enabling self-service troubleshooting

Migration design

VCM had to migrate existing PeopleSoft plans before deprecating the legacy system. Many existing plans were incorrectly blended — Mexico’s aguinaldo bonus and vacation bonus combined as a single “additional pay” value. I designed the migration flow to disambiguate every blended plan by country, recalculate correct percentages, and reassign 43 discrete plans across 26 countries.

Role-based access
VCM is a high blast-radius tool. Only trained Comp admins have edit access. LCC and HRBPs have read-only. Developers can approve on behalf of users only in emergency Sev2 scenarios.
Duplicate detection
Backend validation prevents creating a plan with identical eligibility rules and payout formula to an existing plan — blocking a common source of conflicting assignments.
Tenure auto-updates
Plans like Morocco’s tenure-graduated allowances (2%→5%→10%) are configured once and apply automatically on effective dates — eliminating manual intervention.
Exclude criteria
Admins can configure exclusion rules (e.g., international assignees should not receive local allowances during assignment) — handling legal edge cases without workarounds.
PeopleSoft VCE deprecated Q4 2024 — primary OP2 GTMC-LT goal met
1,500Annual defects eliminated for sales employees with local allowances
35Compensation consultants freed from quarterly audit cycles of 381 instances
43Local allowance plans across 26 countries migrated and disambiguated from blended workarounds
100%Variable comp calculations now supported for transfers, new hires, and annual review
Case Study 03

ACE Control Center

A single administrative platform replacing PeopleSoft, Excel calculators, and engineering-dependent workflows — enabling non-technical comp admins to manage policy changes globally.

RoleLead UX Designer, end-to-end
TeamACE Team, Comp Programs, Analytics & Science, Engineering
Platformadmin.compensation.amazon.dev · Global scope
ImpactPeopleSoft UI deprecated · Weeks → minutes for policy changes

Every Amazon compensation event — annual review, promotion, transfer — depends on a set of configurable inputs: stock prices, exchange rates, haircut policies, formulas, and eligibility rules. In 2024, none of these inputs had a single administrative home.

  • Stock price and exchange rate updates manually entered into PeopleSoft weekly/monthly
  • Compensation formulas maintained in offline Excel calculators with no version control and no validation
  • Event eligibility managed independently by each ACE product — no cross-product visibility
  • Any input change required coordinated effort from product, engineering, program, and analytics teams — typically weeks to months

The most significant design risk: an inaccurate entry in PeopleSoft would automatically propagate to compensation journey products, potentially affecting millions of employees before anyone noticed — with no simulation capability to preview the impact first.

Four customer groups

  • Compensation Programs team — primary administrative users; own the policy inputs and need to implement changes quickly
  • ACE engineers and product teams — currently field all change requests and question escalations; want to be removed from the critical path
  • Compensation consultants — need to understand existing rules to explain individual outcomes to employees and managers
  • HRx employees — handle compensation administration queries; currently must ask engineering to look at code

Workflow mapping findings

  • Control data required updates to multiple systems simultaneously — every update carried inconsistency risk
  • Formula changes implemented in Excel had no version control, no validation against business rules, no history
  • Eligibility changes required engineering to update backend code — average turnaround was weeks
  • Rule exploration was entirely engineering-dependent: no self-service way to understand why a compensation outcome was calculated the way it was

Multi-tenant architecture

Control Center was designed as a multi-tenant platform — not a monolithic application. This meant VCM, and future GTMC teams, could build their own administrative modules within Control Center independently, without dependencies on the Control Data or Rule Configuration timelines. I designed the tenant integration pattern to ensure consistent visual language, permission models, and navigation across all modules.

Home page: ambient awareness

  • Key data widgets: latest 30-day average stock price, current exchange rates, pending approval tasks
  • Navigational tiles to each module — consistent entry point regardless of sub-product
  • Ivy notification integration for proactive task alerts

Simulation as mandatory gate

No change can be submitted for approval without first reviewing a simulation showing: projected employee-level and aggregate cost impact, effective date of publication, and the approval threshold that will be triggered. The approval requirement is dynamically determined by the simulation outcome — not by a static SOP.

Rule transparency

One of the highest-impact features: translating compensation backend code into human-readable definitions. I designed a rule exploration interface that displays full formula breakdowns in plain language, shows event eligibility criteria in structured readable format, and links directly from A-to-Z and Manager Hub compensation experiences — so any manager can understand why an employee’s compensation was calculated the way it was, without needing engineering support.

Simulation mandatory
No change is submittable without reviewing the simulation. This makes the weight of large-scale changes viscerally clear to administrators — even those who have made hundreds of changes before.
Rollback as first-class
Every published change has a rollback point that can be activated with the same approval workflow — treating rollback as a normal operation, not an emergency procedure.
Tiered permissions
Executive compensation tables have stricter access than standard control data. Permissions are layered based on the blast radius of the data — not binary admin/read-only.
Zero engineering dependency
The entire product is premised on eliminating the engineering path for standard changes. Every interaction was designed so a non-technical Comp Programs member can use it confidently and safely.
PeopleSoft UI deprecated Q4 2024 — primary launch goal met
∞→minPolicy input changes: weeks-to-months → minutes
0Engineering support required for standard control data updates
VCMFirst tenant module shipped at launch — platform extensibility proven immediately
Case Study 04

Shift Differential Analysis

AI-assisted self-service analytics for shift differential compensation decisions — replacing 700+ hours of annual manual analysis across 72 recurring requests.

RoleLead UX Designer — feature within WAGE
TeamCompensation Leaders, Ops LT, Finance, Engineering
ScopeAll US Ops sites · 14 matrix categories · 72 annual reviews
Impact43% reduction in manual analysis time · Self-service for L8+ leaders
700+
Hours of annual manual analysis — before
43%
Projected time reduction
72
Annual SD review requests
14
Shift matrix categories designed for

Amazon’s shift differential (SD) system compensates for shift burden across all US Operations sites using a 14-category matrix based on Time of Shift (ToS) and Day of Week (DoW). Ensuring competitive and compliant SD rates is critical for fill rates and attrition — but the analysis process was entirely manual.

Each of the ~72 annual SD review requests involved 3–5 people and several hours of manual analysis: pulling data from HAC, G&C, and OCEANS, building spreadsheets, identifying priority sites, and preparing recommendations for leadership. There was no standard methodology, no self-service capability, and no way for business leaders to explore site-level SD health without waiting days or weeks for a compensation analyst.

  • Data scattered across 3+ systems with no unified view
  • No standardized methodology — analysis varied analyst to analyst
  • L8+ Operations and PXT leaders had no ability to self-serve site-level insights
  • No visibility into which sites to prioritize without manual intervention

Two primary user groups

Business Leaders (L8+ Operations and PXT): Make investment decisions about shift differentials. Their needs: understand which sites require intervention, see historical context and previous decisions, compare sites quickly, and get fast turnaround for decision-making. Their pain: long wait times for analysis, no independent access to site-level details.

Compensation Leaders: Evaluate SD review requests and prepare recommendations. Their needs: AI-generated insights in under 30 minutes, standardized methodology across reviews, comparison to node standards. Their pain: manual data gathering from multiple systems, spreadsheet-based analysis prone to errors, days or weeks to complete a single analysis.

Domain research

I studied the SD Burden Matrix framework deeply: 14 finite categories, burden hierarchy rules (Deep Night > Night > Swing > Day; Weekend > Weekday), the distinction between Rules (SD matches site matrix standard) and Exceptions (approved deviations), and the site priority classification system (P1 through Standard) driven by fill rate and attrition thresholds.

AI-generated summaries with SD context

I designed the AI summary system to weave shift differential status directly into the compensation health narrative — not as a separate section, but integrated with fill/attrition analysis.

  • Health status line always includes SD status (Below/At/Above Node Standard)
  • Segmentation analysis calls out SD gaps by matrix category
  • Material changes section connects SD status to observed attrition trends
  • No weasel words; one decimal place for percentages; two decimal places for rates

Heat maps and site visualization

  • Site-level heat map: sites colored by SD status relative to node standard (Below/Match/Above)
  • Rate comparison heat map: color intensity based on SD rate by matrix category across adjacent nodes
  • Hover tooltips showing exact rate, category, and % match to node standard
  • Multi-select filters: site type, priority level (P1/P2/P3), matrix category, launch date range

Detailed matrix category drill-down

  • Expand any matrix category to see all cohorts within it
  • Rule (R) / Exception (E) indicator for each cohort — green R for rules, red E for exceptions
  • Exception direction (above/below standard) shown alongside actual SD values for comparison
  • Color-coded risk indicators: Red (fill <90% AND attrition >2%), Yellow (either threshold missed), Green (both met)
Configurable thresholds
Fill rate and attrition thresholds are user-adjustable in the UI, not hardcoded. Different nodes have different operational contexts — the analysis should reflect that.
Preserve session state
Filter selections, threshold values, and view state persist during session navigation. Analysts shouldn’t lose their context when moving between site and node views.
Edge case handling
Sites with no SD data, sites under 12 months old, and sites with incomplete matrix categories each receive explicit, informative states — not silent blanks or generic errors.
SD narrative first
SD context is woven into the health summary rather than siloed in a separate section — because fill and attrition can’t be understood without understanding shift differential simultaneously.
43%Projected reduction in manual SD analysis effort (700+ hours → 400+ hours annually)
80%Adoption target: off-cycle SD requests initiated via WAGE within 12 months of launch
30 minTarget time for Comp Leaders to access AI-generated insights, down from days
Self-svcL8+ Operations and PXT leaders can now explore site-level SD data independently
Reflection

What these projects have in common

Across all four, I was solving the same challenge: how do you make a system that is inherently complex — with dozens of interdependent rules, regulatory requirements, and failure modes — feel simple and safe for the people responsible for it?

The answer was always the same set of principles:

  • Safety first, speed second. Every system here has a massive blast radius. The design always makes the weight of that visible before any action is committed.
  • Translate complexity into decisions. Users don’t need to understand every underlying rule — they need to understand the outcome and act on it with confidence.
  • Design for the edge case. Local allowances in 26 countries, tenure-based graduation rules, regulatory region constraints — designing for complexity is what makes simplicity trustworthy.
  • Systems thinking over screen design. The most important design decisions weren’t about what something looked like — they were about what the system should do, prevent, and how it should fail gracefully.
(function() { var progress = document.getElementById(‘vm-progress’); if (progress) { window.addEventListener(‘scroll’, function() { var scroll = window.scrollY; var height = document.body.scrollHeight – window.innerHeight; progress.style.width = (scroll / height * 100) + ‘%’; }); } var observer = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) entry.target.classList.add(‘visible’); }); }, { threshold: 0.08, rootMargin: ‘0px 0px -40px 0px’ }); document.querySelectorAll(‘#vm-portfolio .fade-in, #vm-portfolio .stagger’).forEach(function(el) { observer.observe(el); }); })();