Back to Top

PROJECTS

Sonatype BOM Doctor: Diagnosing risky dependencies faster

Workflow

Workshop Facilitation

User research synthesis

Wireframes & low-fidelity flows

Tree graph design exploration

Prototypes & dev handoff

Team

Product Designer (x1)

Tech Lead (x1)

Sales Engineers (x2)

DevRel (x2)

Time

2022

Product

Sonatype BOM Doctor

Metrics

3 month

time to MVP

80%

usability feedback

6x

design iterations

Diagnosing the Real Problem

During user interviews and sessions with internal DevRel and Sales Engineering teams, we uncovered a key insight: developers aren’t always security-focused, but they are solution-focused. They want actionable feedback without needing to consult others or dig through documentation.

“I just want to know what to fix—and not break my app in the process.”
— Internal developer, user interview session

Choosing the Right Dependency View

We tested three ways to represent dependencies and evaluated each for clarity, hierarchy, and performance.

List View

Pros

Easy to scan component names

Easy to scan component names

Easy to scan component names

Cons

No hierarchy

Can't view dependencies

Can't view dependencies

Can't view dependencies

Tree List

Pros

Shows linear dependencies

Shows linear dependencies

Shows linear dependencies

Cons

Nodes repetition in circular path

Nodes repetition in circular path

Nodes repetition in circular path

Hard to spot duplicates

Hard to spot duplicates

Hard to spot duplicates

Tree Graph

Pros

Circular dependencies visible

Circular dependencies visible

Circular dependencies visible

Gets cluttered

Gets cluttered

Gets cluttered

Cons

Connections may be hard to trace

Connections may be hard to trace

Connections may be hard to trace

“We selected the Tree Graph for its ability to show one instance per component and highlight circular dependencies without repetition.”

Exploring Early Ideas

We moved into wireframing and testing ways to visualize and simplify complex dependency data.

Iteration 01
Iteration 01
Iteration 01

Brainstorming Tree Graph Structures

Mapped early ideas for visualizing dependencies, hierarchy, and circular relationships.

Iteration 01
Iteration 01
Iteration 01

Simplifying the Tree Graph Layout

Refined layout to improve clarity, reduce duplication, and surface risky components.

Component Summary Panel

Explored ways to display detailed information and remediation actions for selected dependencies.

Designing and Delivering the MVP

We tested and refined different graph layouts to help developers spot circular dependencies and reduce confusion

Iteration 01
Iteration 01

Understanding the Problem

- Conducted interviews with developers and internal engineers

- Identified key pain points in viewing and remediating dependencies

- Defined MVP scope based on feasibility and user impact

Iteration 01

Understanding the Problem

- Conducted interviews with developers and internal engineers

- Identified key pain points in viewing and remediating dependencies

- Defined MVP scope based on feasibility and user impact

Iteration 01
Iteration 01

Iterating on Visual Models

- Sketched low-fidelity wireframes of graph layouts

- Aligned on Tree Graph for hierarchy and clarity

- Delivered clickable prototype for engineering handoff

Iteration 01

Iterating on Visual Models

- Sketched low-fidelity wireframes of graph layouts

- Aligned on Tree Graph for hierarchy and clarity

- Delivered clickable prototype for engineering handoff

Launching the MVP version

- Refined UI to highlight circular dependencies clearly

- Validated interaction patterns with internal testers

- Delivered a working MVP within 3 months under tight deadlines

Key Outcomes

From initial concept to functional MVP, here’s what we achieved and why it mattered.

MVP Delivered in 3 Months

Achieved by aligning tightly scoped sprints across design and engineering

Tree Graph Validated

Preferred over list/tree views during internal usability walkthroughs

Developer-Centric UX

Enabled self-service remediation with actionable project health insights

Final Design Snapshots

Polished views of the MVP interface that helped developers prioritize project health.

Iteration 01
Iteration 01
Iteration 01

Tree Graph

Visualizes dependencies and circular relationships

Iteration 01
Iteration 01
Iteration 01

Component Detail

Component-level risk and version suggestions

Iteration 01
Iteration 01
Iteration 01

PDF Report

Exportable report to guide remediation

Reflection & Learnings

What this project taught me about designing for developer-first workflows and cross-functional speed.

Iteration 01
Iteration 01

User-Centered Wins Clarity

Developer-focused design means surfacing just enough insight — not everything. We reduced noise, not just risk

Iteration 01
Iteration 01

Fast Doesn’t Mean Rushed

Starting with research helped us move faster later. We avoided rework by grounding in real user needs.

Designing for Complexity Requires Tradeoffs

Tree Graphs provided visibility, but required careful scoping and visual balance to avoid cognitive overload.

Kiran Jattana

Thanks!

Thanks so much for taking the time to review my portfolio

Kiran Jattana

Thanks!

Thanks so much for taking the time to review my portfolio

Kiran Jattana

Thanks!

Thanks so much for taking the time to review my portfolio