Case Study

FlowOps

Designing an enterprise request management system

End-to-end product design focused on workflows, roles, and decision clarity in enterprise tools.

Role

Product Designer

Timeline

2 weeks

Tools

Figma, Cursor

Deliverable

Hi-Fi Prototype

Request Dashboard
Request Detail View
Agent Triage Queue
Workflow Management

Enterprise Request Management

01

Problem & Context

Internal requests get lost. Approvals stall. Nobody knows who owns what.

The Pain

Requests submitted via email, Slack, and spreadsheets. No single source of truth. Approvals buried in inboxes.

Who Suffers

Employees waiting weeks for equipment. Managers drowning in approval requests. IT teams triaging without context.

Why It's Hard

Multiple roles with conflicting needs. Compliance requirements. SLA contracts with real penalties. Scale across departments.

Design Challenge

How might we design a system where request ownership is always clear, approvals never stall invisibly, and every user sees exactly what they need to do their job, without drowning in stuff they don't?

02

Goals & Success Criteria

Before jumping into screens, I mapped out what success actually looks like (and what I intentionally left out of scope).

Design Goals

Eliminate ambiguity around request ownership and status

Support 4 distinct user roles without duplicating workflows

Make high-volume request triage fast and reliable

Surface SLA deadlines and bottlenecks before they become crises

Deliberately Out of Scope

×

Integrations with external ticketing systems

×

Custom workflow builder for admins

×

Multi-language/internationalization

×

Mobile-native experience (responsive web only)

Why scope matters: By keeping the scope tight, I could really dig into the core problem (request clarity and role-based workflows) instead of building a shallow version of everything.

03

Users & Roles

Enterprise systems fail when they treat all users the same. I designed for four distinct roles with different goals, different constraints, and sometimes conflicting needs.

Requester

Employee

Goal

Get their request resolved quickly with minimal friction

Constraint

Limited visibility into process; doesn't know who to escalate to

Conflict

Wants speed; system needs completeness for triage

Approver

Manager

Goal

Make informed decisions fast; avoid becoming a bottleneck

Constraint

High volume; limited time; needs context at a glance

Conflict

Requesters want quick approval; compliance needs thorough review

Agent

IT/Operations

Goal

Efficiently triage and resolve requests within SLA

Constraint

Handles many requests; needs to prioritize by urgency and SLA

Conflict

SLA pressure vs. thoroughness; internal notes vs. transparency

Admin

Operations Lead

Goal

Configure system to match org needs; ensure compliance

Constraint

Must balance flexibility with simplicity for end users

Conflict

Power-user needs vs. keeping UI simple for others

Affinity Mapping

Synthesizing Research Insights

I mapped user pain points and requirements to identify patterns across four key themes:

Request Clarity: Users need to know exactly where their request stands and who's responsible.

Role Separation: Different users need different views. One size definitely doesn't fit all.

SLA Visibility: Urgency must be visible without requiring manual checks.

Request Clarity

User Behavior

Submits request then constantly asks "any update?" via Slack.

Needs / Goals

Self-service status tracking without bothering anyone.

Pain Point

Status updates buried in email threads, easy to miss.

Opportunity

Real-time status dashboard with clear ownership indicators.

Role Separation

User Behavior

Managers approve via email, losing context and history.

Needs / Goals

Quick decisions with full context, not hunting for details.

Pain Point

Same interface for all roles means irrelevant clutter.

Opportunity

Role-specific dashboards showing only what matters.

SLA Visibility

User Behavior

SLA breaches discovered only when customer complains.

Needs / Goals

Proactive alerts before deadlines become crises.

Pain Point

No visibility into which requests are at risk.

Opportunity

Color-coded SLA badges on every request surface.

User Behavior
Needs / Goals
Pain Point
Opportunity

Key Insight

The research revealed a core tension: requesters want speed, approvers want context, agents want efficiency, and admins want control. A single universal interface would fail all of them. This shaped the decision to build role-specific experiences from the start.

User Flows

Core journeys mapped from research insights

Requester: Submit & Track

LoginMy RequestsNew RequestFill FormSubmitTrack Status

Approver: Review & Decide

Pending QueueView DetailsReview Context
ApproveRejectNeed Info

Agent: Triage & Resolve

Triage QueuePriority SortClaim RequestWork on ItAdd NotesResolve

Admin: Configure System

Admin PanelRequest TypesSLA PoliciesWorkflowsSave & Deploy
Entry Point
Action
Config
Success

Low Fidelity Designs

Early Explorations

I started with rough sketches to explore layouts for the key screens: request dashboard, detail view, triage queue, and approval workflow. These wireframes helped establish information hierarchy before committing to visual design.

DashboardDetail ViewTriage QueueCRITICALHIGHMEDIUMApprovalApproveRejectNew Request FormRequest TypeTitleDescriptionAdmin Config+ AddSLA Dashboard85%On Track12%At Risk3%Breached

These rough sketches helped establish the core layout patterns: sidebar navigation, data tables for list views, modal dialogs for actions, and prominent SLA indicators. Quick iterations let me test information hierarchy before investing in visual polish.

04

Information Architecture

The core design challenge was figuring out how to organize complex data hierarchies so each user sees exactly what they need. Nothing more, nothing less.

Role-Adaptive Navigation

Requester

My Requests → New Request → Drafts

Approver

Pending Approvals → Team Requests → SLA Dashboard

Agent

Triage Queue → My Assignments → All Requests

Admin

Configuration → SLA Policies → User Management → Audit Log

Request Detail Hierarchy

L1

Identity & Status

Ticket ID, title, current state, SLA indicator

L2

Context & Actions

Available transitions, primary CTA based on role

L3

Details & History

Form data, timeline, comments, internal notes

L4

Metadata & Audit

Timestamps, actors, field-level change history

Design Decision: Instead of one massive interface showing everything, I designed contextual views that surface relevant info based on what the user is actually trying to do. This reduces cognitive load while still giving access to full details when needed.

05

Key Workflows

I mapped four critical end-to-end flows to understand where users struggle and where the system needs to provide clarity.

Flow 1

Create → Approve → Resolve (Happy Path)

Requester submitsManager reviewsManager approvesAgent picks upAgent resolvesRequester closes

Design focus: Clear status indicators at each stage so requester always knows where their request stands.

Flow 2

Agent Triage & Assignment

Queue shows prioritized listSLA badges highlight urgencyAgent claims requestInternal notes for context

Design focus: Triage scoring surfaces highest-priority items automatically; bulk actions for efficiency.

Flow 3

"Needs Info" Loop

Approver needs clarificationStatus → Needs InfoRequester notifiedRequester respondsBack to review

Design focus: Prevent requests from stalling invisibly; clear prompts for what info is needed.

Flow 4

SLA At-Risk Escalation

SLA: On TrackWarning: At RiskBadge turns redManager sees escalation

Design focus: Visual escalation before breach; dashboard surfaces at-risk items without manual checks.

06

Interaction & UX Decisions

Every UI choice had a reason behind it. Here's how I thought through the major interaction decisions, focusing on decision clarity over pixel perfection.

Decision

Tables over cards

Why

Agents process 50+ requests a day. Tables let them sort, filter, and bulk-select, which is critical for high-volume triage. Cards look prettier but hide data density. For productivity, tables win every time.

Decision

SLA badges on every surface

Why

SLA breaches cost money. Users shouldn't have to click into a request to know it's urgent. Green/amber/red badges on lists, details, and dashboards make urgency impossible to miss.

Decision

Modals for actions, not pages

Why

Approvers review requests one after another. Navigating to a new page breaks their flow. Modals keep the request visible while they make their call: approve, reject, or ask for more info.

Decision

Required rejection reasons

Why

A flat "Rejected" with no explanation frustrates requesters and leads to repeat submissions. Making reasons mandatory adds friction for approvers, but that's intentional. It encourages them to actually think before hitting reject.

Decision

Role-specific navigation

Why

A universal dashboard sounds flexible but creates confusion. Requesters don't need triage queues; agents don't need draft management. Each role sees only what's relevant to their job.

Error States, Empty States, Confirmations

Empty States

Not just "no data" but includes a clear next action ("Create your first request")

Error States

Specific error messages with recovery paths, not generic "Something went wrong"

Confirmations

Toast notifications for actions; clear feedback without blocking flow

07

Accessibility & Edge Cases

This section doesn't get enough love, but it signals real design maturity. Enterprise software serves diverse users in all kinds of contexts.

Accessibility

Color independence

Status badges use icons + text labels, never color alone

Keyboard navigation

Full keyboard support with visible focus states; ⌘K command palette

Screen reader support

ARIA labels, live regions for status changes

WCAG AA contrast

All text and interactive elements meet contrast requirements

Edge Cases

Permission boundaries

Graceful handling when users attempt actions outside their role

Concurrent edits

Warnings when data has changed since page load

SLA edge cases

Blocked time excluded, business hours respected, timezone handling

Permission-based visibility

Internal notes hidden from requesters; admin tools hidden from agents

08

Validation & Iteration

Design isn't about nailing it on the first try. It's about learning and improving as you go. Here's what I discovered through walkthroughs and iteration.

What I Tested

Walkthrough with product managers

Validated workflow complexity and approval logic made sense to stakeholders

Self-testing role flows

Switched between roles to ensure each experience was coherent end-to-end

What Caused Confusion

!

Initial design had too many status options

Consolidated from 12 states to 8 after feedback that "Pending Review" and "Awaiting Approval" felt redundant

!

SLA badges weren't prominent enough

Increased badge size and added to list views after agents missed at-risk items in initial design

What I Changed

Added bulk actions to agent queue

Originally single-select only; bulk assign/close reduces repetitive clicks

Made rejection reasons mandatory

Was optional; made required after seeing requesters frustrated by unexplained rejections

09

Outcomes & Metrics

Product designers think in outcomes. While this is a concept project, I defined expected success metrics to validate the design direction.

Time to triage

Priority scoring surfaces urgent items instantly

Stalled approvals

"Needs Info" state prevents invisible blocking

SLA visibility

At-risk items surface before breach

Accountability

Every action logged; ownership always clear

Note: These are projected outcomes based on the design's intent. In a production context, I would measure actual time-to-resolution, SLA breach rates, and user satisfaction scores.

10

Reflection & What's Next

Every project teaches something. Here's what I'm taking forward.

What I Learned

  • Designing for competing user needs is harder than designing for one persona
  • "Flexible" often just means "confusing." Constraints can actually improve UX
  • Enterprise users value speed and clarity over visual polish

What I'd Improve

  • User testing with actual IT operations teams
  • Reporting dashboard for SLA trends over time
  • Mobile-responsive agent views for field technicians

How This Changed My Approach

  • I now map user roles and conflicts before any wireframes
  • I design for edge cases early, not as an afterthought
  • I document decisions, not just screens

Key takeaway: Enterprise software succeeds when it handles complexity invisibly. The goal isn't to strip out features. It's to show the right features to the right user at the right time. FlowOps taught me that product design at scale is really about systems, not just screens.

11

Design System

A scalable component library ensuring consistency across all screens and user roles.

Color Palette

Primary

#EF4444

Success

#22C55E

Warning

#F59E0B

Info

#3B82F6

Typography

Heading 1

24px / Bold

Heading 2

18px / Semibold

Body Text

14px / Regular

Caption

12px / Regular

Components

Buttons

Status Badges

ActivePendingUrgent

Input

Placeholder text...

Status Badge System

Request Status

DraftSubmittedPendingTriagedIn ProgressResolvedClosed

SLA Indicators

On TrackAt RiskBreached

12

Final Product

The complete FlowOps design, from dashboard to detail views. This showcases all the role-specific experiences and the full request lifecycle.

Request Dashboard
Request Detail View
Agent Triage Queue
Workflow Management

Request Dashboard