Muyi TaoProduct Design Leader
Portrait of Muyi Tao painted in the style of the Mona Lisa, wearing a flower crown
Muyi TaoPortrait of a Product Design Leader, 2026AI-native design on canvas · San Francisco, California

Staff Product Designer · ServiceNow / Moveworks

I design AI-native products that do the heavy lifting, while people make the judgment call.

How I think about AI-native experiencesIntent-drivenHuman-in-the-loopInvisible when it works

See my work

Selected work

Case studies on AI agents and developer platforms, each focused on the decisions behind the design.

01ServiceNow / Moveworks · 2026

ToolSmith, building plugins in chat

An AI builder for creating plugins through conversation. I designed every run to stay visible and controllable: the plan adapts to feedback, approvals match the level of risk, and a stalled or failed step recovers without losing work.

8
run states, from planning to complete
3
approval points: plan, read, write
04Intuit Financial Services · 2022–2024

API externalization, 0→1

Intuit bet on selling its financial APIs. I led design for the developer platform that made the bet pay off, from discovering the API to go-live.

$25M
in contracts within 18 months
4
major US financial institutions
40→60
go-live NPS
05Intuit · Developer platform · 2021–2024

Developer self-serve with GenAI

Engineers relied on tribal knowledge and had to seek help from others. I made the path self-serve, then used GenAI to guide them from idea to working code.

43%
faster from discovery to deployment

Selected work prior to 2021

0104
Pega 1:1 Operations Manager on a desktop monitor, showing engagement policy test results

Pega 1:1 Operations Manager

Impact

Engagement policy validation that helps non-technical users understand test results more easily.

View case study
Pega Platform Control Panel overview on a desktop monitor

Pega Platform Control Panel

Impact

Helped clients build and deploy a working customer service app in 60 days.

View case study
Pega Cosmos design system site on a tablet

Pega Cosmos Design System & Table

Impact

Helped clients create business applications quickly, with a great user experience.

View case study
WollenDance app screens on two phones

WollenDance Mobile & Web

Impact

An interactive, immersive way for dance enthusiasts to learn whenever and wherever they want.

View case study
← All work
Incident recovery with AI agents · Vision work · Intuit, 2026

AI agents for incident recovery. 35% faster to resolve.

When a P1 hit Intuit's developer platform, it took 79 minutes on average to recover. I showed the problem wasn't missing data, it was people coordinating under pressure, and led the shift to AI agents that page the owner, rank likely causes and recommend fixes. People approve every change.

Explore the coded prototype
My role
Design strategy lead and owner, end to end
Partners
Product, engineering, SRE and research in the Bay Area, Toronto and India
Timeline
Q1–Q2 2026
Status
Recovery and root-cause agents shipped · patent filed
−35%Time to resolution79 → 51 min
−40%Time to business-impact signal28 → 17 min
−28%False investigation paths5.2 → 3.0 per incident
1Interaction patent filedagent-led recovery workflow

Measured on [n] P1/P2 incidents, [period] vs. [baseline]. The FY26 target is a 70% reduction in time to resolution.

01The stakes

When Intuit is down, money stops moving.

104Functions at risk

Across QuickBooks, Payments, Payroll and TurboTax. Downtime here is a financial disruption for customers and small businesses.

79 minAverage time to resolve

Every minute affects people who rely on Intuit to get paid, pay others and file taxes.

40–50%Engineering time lost

Spent on operational overhead instead of building.

02The problem

The data wasn't missing. Help was.

What we were asked forWe need better incident dashboards.
  • Metrics slipping without clear causes
  • Time to resolve stuck above target
  • No real-time view of scope and impact
The real problem

People were forced to coordinate, interpret and decide under extreme pressure.

Unclear impactHard to tell if it matteredFragmented contextScattered across toolsNo durable contextUpdates got lostSlow decisionsValidation delayed action

A responder, in research: "I'm navigating a maze of alerts, dashboards, logs and Slack threads, and none of them connect."

03The insight

Engineers, managers and leaders each needed a different answer.

Recovery didn't fail because people lacked skill. Each role needed a different truth at the same moment, and every tool showed them the same view.

01Engineers

Technical responder

What broke?
Needs
Logs, traces and causal signals
Today
Context scattered across tools, correlated by hand
Optimizes for
Depth
02Coordinators

Incident manager

Who owns what? What's next?
Needs
Clear ownership and real-time status
Today
Manual paging, chasing people on Slack, hunting for status
Optimizes for
Coordination
03Executives

Accountable leader

What's the customer impact?
Needs
Revenue, user impact and ETA
Today
No business-impact signal they could trust
Optimizes for
Impact
04Alignment

I got 35 leaders to agree on one recovery experience.

I led a service-blueprint workshop with 35+ leaders. We mapped where coordination lag cost time and money, and aligned on one recovery framework instead of team-by-team fixes.

Leaders in small groups during the service blueprint workshopThe full workshop room with teams mapping the incident journey
  1. 01Discover12+research sessionsAcross all three roles, plus 10+ parallel products studied.
  2. 02Define35+leaders in one workshopFour journeys mapped into a single service blueprint.
  3. 03Ideate12+stakeholders co-creatingA research readout, then a co-creation workshop.
  4. 04Deliver8+validation sessionsThen a future-vision share-out.
05The blueprint

Recovery breaks at six stages. An agent can take on each one.

Service blueprintPick a stage
Responders todayPain point
01 Detection · TodaySlow mobilizationAlert pages the wrong person; downstream teams are never told.
02 Triage · TodayImpact is invisibleLeaders ask "Is checkout down?" Logs have no impact context.
03 Diagnosis · TodayData-rich, insight-poor15+ tools open, conflicting signals, false leads.
04 Resolution · TodayAnalysis paralysisRollback vs. root-cause debates while the service stays down.
05 Post-incident · TodayRepeat incidentsRoot-cause notes stay siloed, lessons get lost, incidents repeat.
06 Communication · TodayHigh-friction updatesSlack chaos, late joiners interrupt, nobody knows the status.
AI agentWhat it takes on
With an agentOwnershipFinds the impacted services and pages the right teams.
With an agentBusiness impactShows affected workflows, users and revenue at risk.
With an agentHypothesisCorrelates changes, logs and metrics into ranked causes.
With an agentRecoveryRecommends a fix while the investigation continues.
With an agentPreventionSpots patterns and suggests what would prevent a repeat.
With an agentCommunicationKeeps one live summary and pushes role-specific updates.
My call

Six named agents tested as "too many concepts to remember." I folded them into one recovery view: the agents work in the background, and responders see one summary and one recommendation.

06The shift

From tools to agents.

Recovery broke down at human coordination under pressure, so we pivoted the whole approach, not just the dashboard.

Old approach

Reactive
  1. You search for data
  2. You analyze it
  3. You act

New approach

Proactive
  1. Agents surface what matters
  2. The system suggests a fix
  3. You approve
The agentic recovery workflow

Instead of a passive dashboard, an active system that takes part in the incident.

Where the agent stops and a person decides

Agents act on their own
  • Paging the owner
  • Ranking likely causes
  • Drafting status updates
People approve
  • Any production change
  • Declaring the incident resolved
  • Customer messages

A wrong page costs minutes. A wrong rollback can cause a second incident.

07Design evolution

Four prototype rounds took AI from bolted on to built in.

Round 1 · Prototype V2 · Information architecture

AI felt bolted on.

Research said help showed up too late and asking agents felt manual. I made the experience AI-first: shared context, then AI-guided recovery, then manual investigation only when needed.

Round 2 · Prototype V4 · Layout

Key facts sat below the fold.

Responders scrolled past the context they needed. I moved to a left-to-right scan: status, impact, context, then actions, the order people read urgency.

Round 3 · Prototype V8 · Personalization

One view couldn't serve three roles.

Three columns: incident details everyone shares, insights for your role (charts for engineers, status for managers), and a live stream of updates and agent reasoning.

Round 4 · Prototype V11 · Interaction

Deep dives meant switching tools.

A collapsible timeline keeps focus, and conversational deep dives happen in context, so insight lives where the work happens.

08Results

On average, incidents now end 28 minutes sooner.

Measured on [n] P1/P2 incidents, [period] vs. [baseline].

  1. Shipped
    • Recovery agent
    • Root-cause agent
    • Incident overview with AI summary
  2. Prototyped
    • Role-adaptive workspace
    • Conversational deep dives
    • Slack and mobile flows
  3. Next
    • 70% faster resolution by FY26
    • Double the scope of automated fixes
    • Half as many manual interventions
09What I learned

Build AI into the workflow, and keep people in control.

01

Design AI-native systems, not AI add-ons.

Round 1 failed because the agents sat on top of the old workflow.

02

Personalize by role and moment.

Three people, one incident, three different questions.

03

Keep people in control.

Agents earn autonomy one decision at a time, starting with recommendations.

Next case study
DevPortal search with GenAI
← All work
DevPortal search with GenAI · Intuit, 2025

GenAI search for developers. 20% → 80% first-page success.

Search was the most-used feature on Intuit's developer portal, and it kept missing. I had an LLM read 200,000 real queries: developers search by intent, but the portal was built by type. I rebuilt search around intent, and first-page success went from 20% to 80%.

Search 3.0 shipped 2025
My role
Lead product designer
Team
PM, UX research, tech lead, content design
Timeline
2024–2025 · shipped 2025
Evidence
~200k unique queries from ~6,000 developers
80%First-page search successup from 20%
45%Filter useup from 10%
−60%Zero-result searchesafter launch
6kMonthly search usersup from 3k
01The stakes

Search was the most-used feature, and it kept failing developers.

10.5kMonthly users
90kQueries a month
#1Most-used feature

Search had become work, not a shortcut.

High engagement didn't mean high efficiency. Search returned results, not confidence, so engineers looped: guess a keyword, scan, open, back out, try again.

  1. 01Searchguess a term
  2. 02Scana long, mixed list
  3. 03Opencheck by hand
  4. 04Backnot the one
  5. 05Rephrasetry a variation
  6. 06Repeatuntil it works
02Two redesigns, two misses

Two redesigns shipped. Neither fixed search.

Search 1.0High abandonment. Many queries ended without a single click.
Search 2.0Filters added, but only ~10% of searchers used them. People paged through results instead.

Were we about to fail a third time?

03My call

I stopped redesigning and had an LLM read 200,000 real queries.

A third redesign would have been another guess, so I went back to the evidence. Usage data showed the symptom. Interviews, benchmarks and past research showed the cause.

Monthly searches and searches with a click, thousands
MonthSearchesWith a click
Jul 2023226.9K52.3K
Aug 2023274.7K63.7K
Sep 2023244.4K60.3K
Oct 2023274.5K66.8K
Nov 2023228.6K56.4K
Dec 2023209.1K52.8K
Jan 2024300.0K69.6K
Feb 2024323.6K74.7K
Mar 2024347.6K79.0K
Apr 2024353.9K79.0K
May 2024387.8K87.7K
Searches grew 1.7× in eleven months, but the share that led to a click stayed near 23%. I used an LLM to categorize every query from ~6,000 developers over a year (Jun 2023 – Jun 2024).
What the research found

Four gaps between the query and the answer

Each one became an opportunity in the next section, shown in the same color.

01Problem

Too many results

Search returned a long, mixed list, so people opened link after link to find the right one.

Leads to Precision
02Problem

Wrong words

New hires searched "deployment" and got nothing, because content used internal product names.

Leads to Education
03Problem

Hidden content

Even long-time engineers didn't know what the portal offered.

Leads to Visibility
04Problem

Same for everyone

Results ignored your team and projects, so people asked on Slack instead.

Leads to Personalization
04From insights to goals

Four opportunities. We shipped the two quick wins first.

  1. 1
    PrecisionSearch 3.0

    How might we cut the noise and return high-confidence results?

  2. 2
    EducationSearch 3.0

    How might we show developers what the portal offers, in the words they already use?

  3. 3
    VisibilityNext

    How might we turn a hidden destination into a daily habit?

  4. 4
    PersonalizationNext

    How might we make the portal feel built for each developer?

05The insight

Developers search by intent. The portal was built by type.

9 type categories: how the system thinks
  • Assets
  • Projects
  • Documentation
  • CityMap capabilities
  • APIs
  • Widgets
  • Team ownership
  • Performance & incidents
  • Storybooks
14 intent categories: how people search
  • API & integration
  • Cloud management
  • Security
  • Platform
  • Web development
  • Mobile development
  • Service development
  • Testing & QA
  • UI/UX tools
  • Data management
  • AI/ML
  • Observability & analytics
  • Performance & optimization
  • Education & support

From ~200k unique queries by ~6,000 developers, Jun 2023 to Jun 2024, categorized with an LLM.

06The strategy

AI understands the question. Metadata and tabs make the answer clear.

Developers search in their own words, but the portal is organized by type. Instead of forcing one to match the other, I split the work into three layers.

  1. A developer asks
    how do I process payments
  2. GenAI understands the question

    It finds the right APIs and docs, even when no keyword matches.

  3. Metadata shows what each result is

    Is it live, is it up to date, which tech stack it uses.

  4. Tabs sort results by type

    APIs, docs and widgets each get a tab with their own filters.

The owning teams agreed on the metadata fields together in card sorting.

07How the UI evolved

I tested three layouts, then bet on showing intent in the UI.

Round 1, lo-fi

Three layouts for filters and results.

Each option traded something away. I tested all three before committing to a direction.

01Option 1Filters got long and overwhelming.
02Option 2Secondary filters were too hidden.
03Option 3Fastest to relevance, but each tab behaved differently.
Round 2, mid-fi, my bet

Intent chips across the top, cards grouped by type.

If people search by intent, the UI should show it. I put intent chips above the results so developers could steer directly.

08Round 3: hi-fi testing

Testing killed my own idea: intent belongs in the engine.

"Why are there two searches on the page?"

That's what developers asked in follow-me-home sessions. They missed the real filters, so I took intent out of the UI and kept it in the engine. The cost: no visible "browse by intent" entry point.

Intent chips sat above the results, so the page read as two searches and people missed the real filters.
09Refinement

One list and stronger filters made refining beat scrolling.

Visual density

From cards to one list.

Cards gave more whitespace, but testing showed a single list made technical metadata much easier to parse, and it matched every other tab.

Breaking scroll fatigue

Primary filters got more weight.

Making the primary filters visually stronger broke the habit of paging through results, and turned passive browsers into active refiners.

Consistency

One filter pattern on every tab.

Different patterns per tab felt disjointed. One pattern everywhere made filtering predictable and cut the cost of switching tabs.

10GenAI answer

GenAI answers only when someone asks a question.

Questions get an answer
Keywords just get results. Answers cost tokens, and keyword searches are usually navigation.
Results stay in view
The answer starts collapsed, cites its sources and asks "Was this helpful?"
11A detail that matters

Each result shows enough to decide without clicking.

Actionability
Lifecycle and trust badges rule out assets that aren't ready.
Scannability
An icon per type, so an API and a doc look different.
Trust
When it was last updated, and a one-line description, up front.
Efficiency
Quick links, for when "I just need the repo."
  • Asset nameASSETIntuit Certified ServiceUpdated 12:43 PM PST

    Payments gateway client for internal web apps.

    Asset typeWeb pluginAsset lifecycleGA
  • Asset nameASSETTemporaryUpdated 12:43 PM PST

    Sandbox build for a short-lived experiment.

    Asset typeWeb appAsset lifecycleBeta
  • Asset nameASSETArchivedUpdated 12:43 PM PST

    Replaced by a newer version. Kept for reference.

    Asset typeServiceAsset lifecycleRetired
  • Asset nameASSETDeletedUpdated 12:43 PM PST

    No longer available. Links point to its successor.

    Asset typeMobile appAsset lifecycleDeprecated
  • Project namePROJECTUpdated 1:32 PM PST

    Team workspace with repos, pipelines and owners.

    CapabilityPaymentsBUPlatform
  • CityMap Capability nameCAPABILITYUpdated 2:46 PM PST

    Business capability and the assets that power it.

    L0 CapabilityMoney movementCapability levelL2
  • API nameAPIUpdated Jan 2, 2025

    REST endpoints with auth, limits and examples.

    API typeRESTAPI endpoints24
  • Widget nameWIDGETUpdated Jan 3, 2025

    Drop-in UI component with configuration options.

    CapabilityIdentityBUConsumer
  • Documentation nameDOCUMENTATIONUpdated Jan 4, 2025

    How-to guide with steps and code samples.

    CapabilityIdentityDoc typeHow-to
One card pattern for every type and status. Hover a principle to see where it lives.
12End to end

From the home page to the right result, in under two minutes.

From the home page to filtered results across every tab. Prototype, 1:43.
13Results

First-page success went from 20% to 80%.

Shipped in 2025. Search MAU doubled, from 3k to 6k.

80%First-page successup from 20%

Most developers find their answer without paging.

−60%Zero-result queriesafter launch

Natural-language queries now land on technical assets.

45%Filter useup from 10%

Developers refine instead of scrolling.

14What I learned

Fix the information architecture before the interface.

01

Information architecture is the invisible UI.

You can't fix search by polishing the interface alone.

02

GenAI for intent, UI for precision.

My own intent chips taught me to keep each where it's strongest.

What's nextVisibility and personalization, starting with "Filter by my projects."

Next case study
Developer self-serve with GenAI
← All work
Intuit Financial Services · 0→1 platform

Taking an API business from zero to $25M

Intuit's financial APIs, like account verification and bank connectivity, only powered its own products. The bet was to sell them to other companies: sell the engine, not just the car. I led design for the developer platform that made that possible.

Intuit Developer API explorer with a request builder and code sample
My role
Design lead, platform. Led a cross-team design group of 4
Alignment
3 orgs (DevX, QuickBooks third-party ecosystem, IDX)
Timeline
Q1 2022 – Q1 2024 · 18 months from 0 to 1
Status
Launched
$25MIn contract value [as of date]
4Major US financial institutions signed
7d → 2hTime to production keys
40 → 60NPS on the go-live flow. Portal overall: NPS 60, SUS 80
Alignment

Three roadmaps, one developer journey

Three orgs each owned a piece of the developer experience, with their own priorities. I ran North Star workshops to agree on one five-phase journey, then built an end-to-end prototype of the ideal state. Leaders bought into it, and it shaped the FY24 roadmap.

[The hardest disagreement, e.g. product-named vs. task-based navigation, and how the tree test settled it]

The work

Five pieces of one platform

Information architecture

Navigation developers can predict

The old portal only fit QuickBooks APIs. I tested three structures with 70 developers in a tree test, then 29 more in usability studies.

Structure testedAccuracyDirectnessAvg. time
By domain (chosen)51%58%4:44
By API product49%41%6:33
Existing internal model27%42%7:11

Domain-based navigation was fastest and most direct, so we went with it. At 51%, half of developers still missed, so I kept iterating on labels. In the final usability round, accuracy reached 86–88%.

Go-live

The problem wasn't the form, it was the door

Getting production keys took five steps by email and PDF, across three siloed teams, with up to a week of silence. I turned that wall of questions into a "gate": five short steps (profile, scopes, compliance, billing, hosting), each with progress and a time estimate, plus autosave and inline edits.

Keys and credentials page: unlock your production credentials, with expandable steps for profile and hosting, scopes, compliance and billing, each about 5 minutes
Compliance broken into short steps, each with progress and a time estimate.
User testing result

The reality check

41%Task completion7 of 12 developers didn't reach production.
4.3/5Satisfaction"Looks great." "Very clean UI."

Developers liked the form. They just never looked for keys there. So I moved the entry point to where they already were.

App overview dashboard with a production status tile, API request count, and quick links
A "Get production key" entry on the app overview, where developers already land. Production keys now take 2 hours instead of 7 days, and go-live NPS rose from 40 to 60.
Widgets

Browse and customize 1,000+ widgets

We started with Storybook, then moved away from it: it couldn't show multi-screen flows or real customization. I designed a framework that could. With 12 fintech developers, we learned they expected to edit inside the widget itself. Renaming "capability" to "transaction" raised the success rate for switching products from 16% to 66%.

Analytics

Real-time API health

Partners debugged with delayed Splunk logs. I designed real-time usage, error, and latency views (P50, P75, P99). Research with 14 developers showed error data was split across tabs and easy to miss, so I added one-click selection for each API and clearer hover details on the charts.

Design system

A visual identity and component library

A new look for Intuit Financial Services, with design tokens and a component library. Every team on the platform adopted it as the standard.

What I learned

Two lessons I still use

Usability isn't discoverabilityA form people like still fails if they can't find it.
New ideas need diplomacyIn a large org, a platform shift can look like rebellion. Shared prototypes made it feel like a plan.
Next case study
Developer self-serve with GenAI
← All work
Developer self-serve with GenAI · Intuit

A GenAI path from idea to code. +43% development velocity.

To find docs, set up assets and get to working code, Intuit engineers relied on tribal knowledge and had to seek help from others. Over two program generations I designed a self-serve path through all of it: first one step at a time, then end to end with a GenAI guide.

Developer platform · Intuit

My role
Senior, then Staff Product Designer
Users
Intuit engineers
Surface
Intuit Development Portal
Timeline
1.0 Nov 2021 – Sep 2024 · 2.0 Sep 2024 on
+43%Development velocity and self-serve maturityacross the program
2Program generations1.0 one step at a time · 2.0 end to end
5Journey stages mappeddiscover to monitor
01The problem

Engineers relied on tribal knowledge and help from others.

Docs looked different for every capability, API quality was hard to judge, and setting up an asset took manual steps, so engineers asked whoever knew. We measured progress on a five-level self-serve maturity scale, from manual processes to a platform that lets developers focus on their own code.

1Initial

Manual work and heavy support for basic tasks.

2Managed

Standard requests, still some manual steps.

3Defined

Automated provisioning; most needs are self-serve.

4Measured

Self-serve is monitored and improved continuously.

5Optimizing

Developers focus on their own code.

02The shift

From asking around to a path anyone can follow.

Ask around

Tribal knowledge
  1. Docs, different for every capability
  2. API quality, hard to judge
  3. Asset setup, manual steps

The self-serve path

Guided
  1. Discover & learn
  2. Set up & configure
  3. Develop & test
  4. Ops & performance
  5. Monitor & optimize
The question changed

From "Who knows how to do this?" to "What do you want to build?"

03The plan

I mapped five stages of a developer's journey, then automated them in two passes.

1.0 made each step predictable on its own. 2.0 connected the steps, with GenAI guiding developers from discovery into development.

Pick a stage to see which tools cover it.

Discover & learn Docs, tutorials and onboarding.

1.0Nov 2021 – Sep 2024Separate tools, one step at a time
Autura documentation: Discover & learn
Doc analyzer & API scorecard: Discover & learn
API Explorer: Discover & learn
Asset creation paved road: Set up & configure
Asset configuration: Set up & configure
2.0Sep 2024 onOne connected path, guided by GenAI
Autura JourneyStart from a goal. Every step shows its status.: Discover & learn to Set up & configure
Solution-based paved pathGenAIDescribe what to build. GenAI plans it and sets up the workspace.: Discover & learn to Develop & test
041.0 · Discover & learn

One doc template and one quality score for every capability.

Autura documentation

Every capability documented the same way.

A landing page and content page template: intro, what's new, demos, getting started and concepts, so developers always know where to look.

Doc analyzer

A score owners can act on.

One documentation quality score built from a checklist, writing quality, working links and customer feedback. Missing required docs are flagged, and scores turn red below 60%, amber below 80%.

API scorecard

Every API's maturity, on its own page.

Each API shows which maturity criteria it meets, from self-serve to reusable across capabilities to ready for external developers, so owners know exactly what to fix next.

052.0 · Autura Journey

Journeys bundle the capabilities a solution needs, with progress you can track.

Discover to set up

"What do you need to work on today?"

Developers start from a journey, like importing tax data from uploaded documents, instead of hunting for each widget and API. Every step shows its status, from not started to done.

062.0 · Solution-based paved path

GenAI turns "what I want to build" into a plan and a workspace.

From discovery into development, in five steps. The prototype at the top of this page plays the whole flow.

  1. Say what you want to build.The assistant starts from intent and shows similar solutions to reuse.
  2. Add context.Attach the PRD, tech doc and Figma file.
  3. Get a plan.It drafts a technical diagram and creates the Jira epic.
  4. See everything you need.Front-end, back-end and data pieces, each with its paved road.
  5. Follow the steps.Workspace, UI components from the Figma file, integrations, then monitoring.
07Impact

Development velocity and self-serve maturity rose 43%.

+43% across the program

Engineers found, set up and shipped more on their own.

A shared quality bar

One doc template and one maturity score gave every team the same target.

From one step to the whole path

The 1.0 building blocks became the steps GenAI could plan with.

08What I learned

Standardize each step before you automate the journey.

GenAI could only plan a path because 1.0 had already made docs, scores and paved roads consistent. An assistant is only as good as the pieces it connects.

Next case study
Incident recovery with AI agents
← All work
Widget explorer & customization · Intuit, FY23

One explorer for 1,000+ widgets. Find, preview, customize.

Intuit had hundreds of reusable web widgets, but using one meant tracking down its author. I designed an explorer to publish, find and customize them, for internal (1P) and external (3P) developers.

Inside the IFS platform · chapter 1 of 6

Users
Intuit web developers (1P) and external web developers (3P)
Surfaces
Internal and external developer portals
Research
12 fintech 3P developers, moderated usability
Vision
FY24 self-service API ecosystem
1,000+Widgets in one explorerFY24 vision
83%Copied a widget's configurationusability testing
4×More found another product16% → 66%, one label change
68SUS scorefive new workflows
01The problem

To use a widget, you first had to find its author.

Hundreds of useful web widgets existed across Intuit: flows like connecting a bank account, often spanning several screens. None of them were explorable, so reuse depended on who you knew.

Intuit web developer (1P)

Builds widgets on AppFabric or uses them in plugins and apps. Wants a self-serve way to publish them.

External web developer (3P)

Uses widgets inside their own apps. Wants an easy way to find one and make it match their brand.

What both said

"I want to customize the Add Connection widget, but I can't find or use widgets easily, so I don't feel in control."

02The framework

Storybook couldn't show multi-screen flows, so I designed a framework.

Concept

Browse, set the look once, tune each screen.

A left panel to browse and switch widgets, a toolbar for global settings like language and theme, and a right panel for each screen. The rule: what you see is what you get, with every change previewed live in the widget.

03Design evolution

I cut the ideal explorer down to an MVP we could ship.

Ideal state

Everything, previewed live.

Customize every screen, check it on desktop and mobile, then copy the configuration straight into your code.

MVP

Cut to what we could preview.

Three issues shaped the MVP: preview screens had to be technically feasible, browsing showed too few widgets, and per-screen customization was too hidden.

3P portal

For external developers, it lives in the app.

Outside Intuit, you customize a widget after creating an app, right in the app dashboard. Two widgets were available at launch.

Phase II

One theme, applied to every widget.

Global or per-screen styling with drill-down sections, plus customization of the bank selection screen.

04Testing

Testing showed people expected to edit inside the widget.

Study12 fintech 3P developers30-minute moderated sessions3 daysSUS 68 across 5 new workflows
Customize a widgetThe task that mattered most33%
Copy the configuration83%
Preview on other devices83%
Switch to another product"Capability" label, then "Transaction"66%from 16%
What we sawSuggested direction
01
Sequential screens weren't obvious.

Most read the preview as static, and many never found the bank selection screen.

Show the flow.

A screen stepper on the preview, from Intro and consent to Success, with back and next.

02
It wasn't clear what changed.

The bank list or the screen title? People couldn't tell.

Name controls after what they change.

Header text, body text, primary button, with Global and Per screen kept apart.

03
People wanted to edit in place.

They expected to customize by editing the widget itself.

Make the preview the editor.

Select a part of the widget to edit it, with the panel as a backup.

04
"Capability" meant nothing to developers.

Only 16% found and switched to another product.

Use the product's name.

"Transaction" instead of "Capability". Tested with half the participants: 66%.

05One small fix

One label change took discovery from 16% to 66%.

Old vs. new

From "capability" to "transaction."

Developers expected a clear way to switch products. Naming each product, starting with Transaction, made other products easy to find and switch to.

CapabilityTransaction

Found another product: 16% → 66%

High-fidelity widget explorer: products listed by name with Transaction selected, a live Intro and consent preview, and the customization panel with a teal Publish changes button
06Impact

One explorer now serves internal and external developers.

Bridged 1P and 3P

The same explorer and customization model in both portals.

Built to scale

A framework that works for any capability, not one widget at a time.

Self-serve reuse

Find, preview and configure a widget without contacting its author.

Next in the IFS platform
Keys & credentials
← All work
Keys & credentials · Intuit, FY23

Self-serve production keys. 2 hours, not 7 days.

Before any app went live, Intuit reviewed it against security, privacy and sanctions policies, through PDFs, email threads and about a week of waiting. I redesigned go-live as one self-serve flow inside the developer portal.

Inside the IFS platform · chapter 2 of 6

Users
External (3P) developers taking an app to production
Surface
App dashboard in the 3P developer portal
Research
12 fintech 3P developers, moderated usability
Partners
Legal, compliance, product and engineering
2 hrsTo get production keysdown from 7 days
+20NPS for the go-live flow40 → 60
$25MIn contracts4 US financial institutions
01The deep dive

Launch was where developers dropped off, so that's where I went deepest.

Across the developer journey, the step that stopped people wasn't code. It was getting production keys, because every app first had to pass security, privacy and sanctions checks.

  1. 01DiscoverUnified API catalog
  2. 02Learn & evaluateInteractive docs and auth guides
  3. 03Develop & testSandbox with mock financial data
  4. 04LaunchProduction keys and complianceDrop-off point
  5. 05Monitor & optimizeLogs, latency and error metrics
02The compliance wall

Going live took 5 email steps, 3 review teams and a week of silence.

The developer acted twice. Everything else happened out of sight, and one rejection sent them back to the start.

DEVELOPERWhat they can seeINTUITOut of sightTHE COMPLIANCE WALLRejected? Start over from step 101Emails to startAn intake email02Sends PDFs back4+ PDF forms03Fills in, emails backCompleted forms04Review in silenceSecurity · Privacy · Legal? ? ? no status~1 week05Rejects by emailThe cycle starts again
  1. Developer01Emails to startAn intake email
  2. Intuit support02Sends PDFs back4+ PDF forms
  3. Developer03Fills in and emails backCompleted forms
  4. Security · Privacy · Legal04Review in silenceNo status for about a week
  5. Intuit support05Rejects by emailThe cycle starts again
03The challenge

Developers were anxious that one paperwork mistake could stall their launch.

I am
A fintech developer, under pressure to ship.
I'm trying to
Get my production credentials, so my app can go live.
But
I'm stuck at a compliance wall: offline PDFs, long email threads, and a portal that never shows my status.
Because
The legal review is a black box, disconnected from where I actually work.
Which makes me feel
Anxious that one paperwork mistake will stall my launch indefinitely.
04The approach

How might we turn a legal review into a self-serve, transparent product?

I set three principles for the team, so every decision in the go-live flow could be checked against them.

01

Always show status.

A developer should never have to guess where things stand: progress and a time estimate on every step.

02

Keep every step in the same context.

No offline PDFs or email threads, even for the legal steps. Forms, billing and documents all live in the portal.

03

Ask once.

Company details once, app details per app, so nothing is typed twice.

05Principle 1 · Always show status

A gate you can see through: "Unlock your credentials."

The gate

Short steps, not one wall of questions.

Compliance became a few short task groups: profile and hosting, scopes, compliance and billing, so developers never face one long form.

The gate

Compliance broken into short task groups instead of one wall of questions.

The locked state

Production keys visible from day one, locked, so there's a clear goal to work toward.

The time estimate

Every task shows how long it takes, and each group shows the time left.

06Principle 2 · Same context

Every step in one place, finished in any order.

Any-order flow

Steps on the left, the form on the right.

Insurance questions, like $1M general liability or $5M cyber coverage, often need someone else in the company, so the order can't be forced.

The safety net

Autosave and smart defaults.

Every field saves as you go, and fields are prefilled from sandbox activity, so developers confirm instead of retyping.

07Principle 3 · Ask once

Billing, review and documents in one flow, and a second app reuses it all.

The final gate

Pick a plan without leaving the page.

Pay-as-you-go with a 60-day trial, or a custom plan, as the last step of the same flow.

The receipt

Know exactly what's under review.

After submitting, a read-only summary shows everything that was sent, and when to expect a reply.

The grace period

Paperwork doesn't block launch.

Keys arrive during the trial. Insurance certificates upload into the portal later, with the deadline always on screen.

The returning user

A second app starts half done.

Company details carry over, so developers only add what's new.

08Reality check

Testers liked it, but 7 of 12 still couldn't go live.

4.3/5SatisfactionLooks great. Very clean UI.

What worked

  • A clear progress bar
  • Logical tabs
  • No confusion inside the form
42%Task completionOnly 5 of 12 reached production keys.

What failed

  • Keys & credentials was buried
  • It sat outside the main path
  • Developers read it as settings

The form worked. Nobody could find it.

09The fix

I put "Get production key" where developers already land.

Dashboard tile

The way to production, first thing you see.

The tile sits on the app overview, where developers land every day.

App card shortcut

Go live from the app list.

Developers managing several apps can start without opening each one.

10Impact

Go-live went from 7 days to 2 hours, and NPS rose 20 points.

2 hours to production keys

Down from about a week of reviews, emails and waiting.

+20 NPS for go-live

From 40 to 60, as the legal steps became a product experience.

$25M in contracts

With 4 US financial institutions on the platform.

11What I learned

Usability isn't discoverability. Design the path, not just the destination.

A flawless go-live flow means nothing if no one finds it. The biggest win came from the entrance, not the form. And in infrastructure products, trust signals are the experience: don't hide complexity, explain it.

Next in the IFS platform
API analytics
← All work
API analytics · Intuit, FY23

Live API analytics for partners. Debug in real time.

Developers building on Intuit's financial APIs waited minutes for usage charts and logs, so they couldn't troubleshoot their own integrations. I designed an analytics page that answers three questions at a glance: is it working, what's failing, and is it fast.

Inside the IFS platform · chapter 3 of 6

Users
Third-party developers and product managers
APIs
Account verification and transactions
Research
14 participants, moderated usability
Launch
IDX beta, FY23
01RequestsIs it working?

Successful (2XX) and failed (4XX, 5XX) requests for any window up to a week.

02ErrorsWhat's failing?

Errors broken down by status code and HTTP method, with logs you can filter.

03LatencyIs it fast?

Response time trends at P50, P75 and P99.

01The problem

Usage data arrived minutes late, so partners couldn't debug.

Partners building on the Account Verification and Transactions APIs needed requests, failures and logs while troubleshooting. Charts relied on slow Splunk logs, so they always lagged.

Proposed design

Requests, errors and latency in one page.

Preset windows of 1 hour, 4 hours, 1 day and 1 week, charts that rescale to the range, logs filtered by HTTP method, and a way to send feedback from the page.

02Testing

The data was there, but people couldn't read it.

Study14 participantsFirst impressions of the API chartsFinding webhook analytics
9 of 14Not supported

Couldn't monitor error distribution and latency.

5 of 14Slowed down

Got there, but only after hunting for the right chart.

Five findings, from the research readout

Errors were split across two tabs.To count POST errors, people reached for the error filters on the Requests tab A and overlooked the Error distribution tab B.
The Requests tab, with the request status filters marked A and the Error distribution tab marked B
Per-method data hid behind hover.Nothing hinted that hovering a time shows each method's count, and the totals A had no description, so people misread them.
Error distribution chart before and during hover, with the per-method totals marked A
Filtering meant unchecking rows.To chart one API, people had to uncheck every other row A. There were no filter controls and no tooltips to explain it.
The detail chart and API table, with the row checkboxes marked A
The Latency tab was easy to miss.It sat mid-page A, under the API type tabs B, so it never stood out.
The analytics page, with the Requests, Error distribution and Latency tabs marked A and the API type tabs marked B
The overview hid the detail.The Latency overview A looked complete, so few people scrolled to the Detail chart below the fold.
The Latency tab: the overview chart marked A, and the Detail chart starting below the fold
03Design updates

Quick selection and clear hover states made the data findable.

  1. FindingDesign change
  2. Errors were split across two tabsRequests, errors and latency on one view
  3. Per-method data hid behind hoverA highlighted time with each method's count in place
  4. Filtering meant unchecking rowsQuick selection of the top 3, 5 or 10 APIs
  5. Latency was easy to miss, and the overview hid the detailP50, P75 and P99 latency visible at a glance
MVP

Simpler metrics, better affordance.

Requests and errors on one view, quick time presets, and a highlighted time when you hover for detail.

Ideal state

Pick the APIs that matter, in one click.

Quick selection of the top 5 or top 10 APIs, instead of unchecking rows in a table.

04Chart system

One chart system, so every view reads the same way.

I specced the analytics charts as a small system: color with clear rules, and the same interactions on every chart.

Color

Every hue has one job.

Status Semantic

Teal for success. Red and magenta for errors.

  • 200#00B797
  • 202#00B3C2
  • 4XX#F7576C
  • 5XX#F54BAC
Method Categorical

Each method keeps its hue on every chart.

  • GET#5DABFF
  • POST#00D5B0
  • PUT#A1CC3B
  • PATCH#F88A42
  • DELETE#FF77C7
Latency Sequential

Warmer as responses get slower.

  • P50#7FD000
  • P75#FFDC00
  • P99#FF9331
APIs Extended

Ten distinct hues, so a Top 10 never repeats.

  • API 1#5DABFF
  • API 2#00D0E0
  • API 3#00D5B0
  • API 4#3BD85E
  • API 5#A1CC3B
  • API 6#D99001
  • API 7#F88A42
  • API 8#FF808C
  • API 9#FF77C7
  • API 10#B496FF
Interaction

The same behaviors on every chart.

Method chart with a tooltip at 13:00 listing the count for every method
Method chart with GET highlighted and the other methods faded
Detail chart with Top 3, Top 5 and Top 10 quick selection, Top 5 selected
Detail chart with the top 10 APIs checked and the remaining APIs listed below to choose from
05Impact

Partners can see their API health while they debug.

Near-real-time visibility

Requests, failures and latency for each API, up to a week back.

Errors and latency in one place

No more hunting across tabs to explain a spike.

Built for the IDX beta

Version 1 targeted the FY23 external launch of Intuit's financial APIs.

Next in the IFS platform
The ideal developer journey
← All work
The ideal developer journey · Intuit, FY23

One developer journey, three orgs. It shaped the FY24 roadmap.

Intuit's developer experience mirrored its org chart, so every team built its own piece. I ran workshops across three orgs to map the external developer's journey end to end, then prototyped the ideal state, and that prototype shaped the FY24 roadmap.

Inside the IFS platform · chapter 4 of 6

Orgs
Three, across design, product and architecture
Method
North Star workshops, participatory design
Persona
A 3P developer at a consumer fintech
Output
A five-phase journey and a clickable FY24 vision
3Orgs aligned on one journeydesign, PM and architecture
5Phases, one shared languagediscover to post launch
FY24Roadmap shaped by the prototypestakeholder buy-in
01The problem

The developer experience mirrored our org chart.

Product APIs, service APIs and platform infrastructure each had their own tools, docs and roadmap. Every team asked "What can we build?", and developers got fragmented toolsets and isolated repos.

Before

The feature list

Product APIsOwn toolsOwn docsOwn roadmap
Service APIsOwn toolsOwn docsOwn roadmap
Platform infraOwn toolsOwn docsOwn roadmap
What can we build?Fragmented toolsets and isolated repos.
After

The journey

  1. 01Discover
  2. 02Learn & evaluate
  3. 03Develop & test
  4. 04Launch
  5. 05Post launch
Product APIs + Service APIs + Platform infraShared toolsShared docsOne roadmap
What must the developer experience?One platform mindset.
02Alignment

North Star workshops turned three roadmaps into one direction.

I hosted design workshops with designers, PMs and architects from three orgs. Mapping the journey together showed each team where its work sat in a developer's day, and gave everyone one person to design for.

Persona

Amit, a developer at a consumer fintech.

He wants his web app to let users connect their banks and fetch transactions. We also agreed on shared terms: workspace, 3P app, widget, sandbox, credentials and production.

03The journey

One five-phase journey became the shared language for every team.

Pick a phase to see its prototype.01 / 05
Phase 1 · Discover

Unified API catalog

  • Browse API endpoints
  • See what each capability does
  • Explore integrations
Marketing siteDev portalEmail
04Impact

A clickable vision that won leadership buy-in.

Buy-in across three orgs

The ideal-state prototype gave leaders something concrete to agree on.

Shaped the FY24 roadmap

The vision set the strategic direction for the next year.

A platform mindset

Teams built against one journey, cutting design and communication cost.

05What I learned

Influence starts with a shared map.

Three orgs didn't need another proposal. They needed to see the same developer, moving through the same five phases, before they could agree on what to build.

Next in the IFS platform
A new IA for the 3P developer portal
← All work
A new IA for the 3P developer portal · Intuit, FY23

Task-based navigation for the portal. Discovery 27% → 51%.

The external portal was organized by Intuit's products and teams, and it couldn't fit the new financial services APIs. I led a new information architecture, tree-tested three structures with 70 developers, and shipped navigation organized by what developers want to do.

Inside the IFS platform · chapter 5 of 6

Users
External (3P) developers
Scope
Top nav, mega menu and left nav for API Explorer and docs
Research
Tree test (70), interviews (12), usability (29)
Tools
Optimal Workshop, UserTesting
27% → 51%Discovery success in tree testingtask-based IA vs. CityMap IA
−34%Time to complete a task7:11 → 4:44 per task
70Developers in the tree testplus 12 interviews, 29 usability testers
01The problem

The portal was organized like our org chart, not the developer's goals.

Navigation mirrored our org chart

Developers had to learn Intuit's corporate structure to find an API.

Built for QuickBooks only

The IA couldn't take in the new City Map financial services without breaking.

Every API worked differently

With no shared language, moving between APIs felt like switching operating systems.

02The hypothesis

Developers will find things faster by task than by product.

Product-centric

Organized by brand names

QuickBooks OnlineInvoiceExpenseReport
Intuit Financial ServicesTransactionsAccountPayment

You navigate through product brands.

Task-centric

Organized by user goals

AccountingInvoiceExpenseReport
Financial dataTransactionsAccountPayment

You navigate by what you want to get done.

03Three options

I tested three structures: by task, by product, or APIs inside the docs.

3 versions, tree-tested

, , or

Option 1Winner

Task version

Separate "API Explorer" and "Documentation" top-level nav items, with submenus grouped around task-focused language.

The label tells you what you can do there.

Paths we tested
  1. API ExplorerIntuit Product ExtensionsAccounting APIsInvoice4 levels
  2. DocumentationIntuit Product ExtensionsAccounting featuresOverview4 levels
  3. API ExplorerIntuit Financial ServicesFinancial Data Aggregation APIsTransactions4 levels
  4. DocumentationIntuit Financial ServicesFinancial Data Aggregation featuresOverview4 levels
04Tree testing

Task-based navigation won on accuracy and speed.

70
US developers, custom-recruited
11
Tasks, labels only
3
IA versions
2 wks
Async, Optimal Workshop
3
Measures: accuracy, directness, time
Task 1 of 11

Find overview content for identity features.

  • Home
  • ▾ Documentation
    • Get started with product extensions
    • Accounting features (QuickBooks Online GraphQL)
    • Accounting features (QuickBooks Online REST)
    • Payments features (QuickBooks Payments)
    • Time tracking features (QuickBooks Time)
    • MailChimp features (MailChimp)
    • eCommerce features (MailChimp)
    • Get started with Intuit Financial Services
    • Financial Data Aggregation features
    • Payment service features
    • Identity features
  • ▸ API Explorer
Labels only, no visual design. Rebuilt from the Optimal Workshop task.
VersionAccuracyDirectnessAvg. time per task
Task versionMost accurate and fastest51%58%4:44
Product versionSimilar accuracy, 1–2 min slower49%41%6:33
CityMap versionLowest accuracy, about 2.5 min slower27%42%7:11

Accuracy: found the right place. Directness: got there without backtracking. Bars for time are scaled to 8 minutes.

05Validation

29 developers validated the new navigation at 86–88% accuracy.

12 interviews shaped an MVP on the task IA. Then 4 usability studies compared two left-nav patterns. Both scored well.

Dropdown navAccordion left nav
Task accuracy86%88%
Top nav usability4.75 / 54.4 / 5
Average task time42 s53 s

Bars for time are relative; shorter is faster.

06The design

A mega menu and left nav that work the same for every API product.

API Explorer

A mega menu and left nav that switch products in place.

REST and GraphQL explorers sit side by side, and the left nav keeps the same behavior for every API product.

Documentation

The same structure for the docs.

Each product gets an overview with quick access to its APIs, so docs and reference stay one click apart.

07Impact

In testing, discovery success nearly doubled.

Discovery success

27%51%

+24 pts
Time to task

7:114:44

−34%
Directness

42%58%

+16 pts

Task-based IA vs. the existing structure, tree test with 70 developers. The same task-based model later shaped the internal developer portal IA.

Next in the IFS platform
Brand, visual language & components
← All work
Brand, visual language & components · Intuit, FY23

A design system for two portals. One look, one set of tokens.

Intuit was opening its financial APIs to outside developers, but both developer portals still wore the classic corporate blue. I set the visual direction for the external (3P) and internal (1P) portals: a new primary color, an illustration system, and tokens that let one component library theme both.

Inside the IFS platform · chapter 6 of 6

Create a new app: a teal illustration explains that apps generate development credentials
Choosing an app type: product integration, financial data aggregation or platform integration, each with an icon
Keys and credentials: go-live tasks as cards with progress chips, in Agave teal
Analytics: request and error charts with the new color palette
Widget explorer: capabilities, a live widget preview and a customization panel
My personal workspace: app cards with status labels
My role
Design lead, developer platform
Surfaces
External (3P) and internal (1P) developer portals
Foundation
Intuit Design System (IDS) 2.0
Started
FY23, with the City Map externalization
01EstablishBrand

Agave-80 as the primary color, and the case for it.

02ConstructVisual language

Principles, color roles, illustration and icons.

03BuildComponent library

Tokens and Figma libraries for the 1P and 3P portals.

01The problem

The portal felt legacy, not like modern fintech infrastructure.

Intuit's engineering had moved fast, but its developer look stayed anchored to the classic blue. That gap started to matter in FY23, when we opened internal City Map capabilities to external developers.

The old external developer portal: a blue banner and four plain cards
External (3P) portal, beforeA QuickBooks-blue banner and generic cards.
The old internal developer portal: a blue header, a gray sidebar and anomaly charts
Internal (1P) portal, beforeSame blue, different patterns, no shared system.
02The benchmark

Stripe, Plaid, Shopify and Square each look unmistakably like themselves.

StripePayments
Stripe website home pageWebsiteStripe developer documentationDeveloper docs
PlaidFinancial data
Plaid website home pageWebsitePlaid developer documentationDeveloper docs
ShopifyCommerce
Shopify website home pageWebsiteShopify developer documentationDeveloper docs
SquarePayments
Square website home pageWebsiteSquare developer documentationDeveloper docs

From color, type and interaction patterns to illustration, each has a point of view its developers recognize. To compete, Intuit's developer platform needed one too.

03Visual direction

Approachable but highly functional, expressed in Agave-80, not corporate blue.

1The personality
01Beautiful and simple

Light, uncluttered pages that put key information first.

02Purposeful flexibility

The right tools for the right people at the right time.

03Seamless guidance

Clear, concise steps through complex tasks.

2The color
The Intuit cornerstone brand lockup: TurboTax, Credit Karma, QuickBooks and Mailchimp, each with its own color
Every Intuit brand owns a color.TurboTax, Credit Karma, QuickBooks and Mailchimp each stand apart while staying unmistakably Intuit. The developer platform needed the same.
Standard corporate blueIDS blue#0077C5
Primary colorAgave-80#00828D
01Fresh and modern

Feels digital-native, apart from legacy banking.

02Growth and prosperity

The green hue signals money and financial data.

03Unmistakably Intuit

Drawn straight from IDS 2.0, so it keeps the parent brand's trust.

3Color roles
agave-10Background#E1F9FF
agave-20On click#C2F5FF
agave-80Primary#00828D
agave-90Focus#006771
agave-100Active#005056
gray-100Primary text#393A3D
gray-200Secondary text#6B6C72
04Illustration

Every illustration follows one recipe: scene, character, shape.

SceneBackground environment

Sets the context of the story.

CharacterThe right person

Chosen to match the moment.

ShapeBackground shape

Ties the pieces into one image.

ResultOne illustration

Simple enough for content-heavy pages. Agave on clothing and assets, blue tints for scenes.

Fairskin-100 · 110
#FBE4CA · #F8D4AB
Lightskin-120 · 130
#F9DCB2 · #F5CD91
Tanskin-140 · 150
#E1A373 · #D2854A
Mediumskin-160 · 170
#A15F3C · #7A3F20
Darkskin-180 · 190
#5F3927 · #4A2411
Use of color

Agave on clothing, blue tints for scenes.

Scenes and shapes use soft blue tints, clothing and assets use Agave-60 and Agave-80, and outlines use one neutral gray, so illustrations sit quietly next to the product.

05Components

One token, swapped per theme, styles both portals from one library.

I mapped Intuit Design System tokens to QuickBooks tokens, with Agave as the new primary. Components point to tokens, not hex values, so one library themes both portals.

06Impact

One look across both portals, and one system behind it.

After: the redesigned external developer portal home in Agave teal, with an interactive API code builder and Get started
Before: the old external developer portal home with a QuickBooks-blue banner
BeforeAfter
External (3P) portal home. Drag to compare before and after.
One experience for 1P and 3P

Internal and external developers now see the same visual language.

A dedicated portal design system

Built on IDS, with design tokens that scale to new products and themes.

Shared components, not one-offs

Teams build from the Agave library instead of fragmented, per-page UI.

07What I learned

New ideas look like rebellion in large orgs. Anchor change in shared values.

Agave won because it came from IDS 2.0, not because of taste. The argument was about keeping the parent brand's trust while signaling money and speed.

Next case study
Developer self-serve with GenAI
About

Hi, I'm Muyi.

I turn new technology into design that solves real problems and moves the business.

I'm a product design leader with 9+ years of experience.

NowServiceNow / Moveworks
I own design for the employee AI assistant across Slack, Teams and the web, and for creating AI agents and workflows conversationally. I shape intent-driven flows that carry across surfaces, and the patterns that keep AI output reliable even when it isn't deterministic.
BeforeIntuit
Led the 0→1 launch of Intuit Financial Services, $25M in revenue in 18 months, and a GenAI developer platform that cut discovery-to-deployment time by 43%.
Muyi on a beach in a sun hat and a knit dress, with the ocean behind her Muyi standing inside a room-filling installation of red thread and paper

What I love doing

At work
  1. 01Framing the right problemI question the brief to find the real need before designing.
  2. 02Selling ideas through prototypesHigh-fidelity prototypes make strategy tangible and win buy-in.
  3. 03Making complexity feel simpleI distill complex, cross-team workflows into experiences that feel intuitive.
  4. 04Building with AI-native toolsI prototype in code with AI to validate ideas at production fidelity.
  5. 05Designing AI people trustI design the guardrails and controls that let people rely on AI.
Outside work

A free spirit at heart, I'm endlessly curious and creative. I love to understand how things work, build things and solve problems.

  • Poker
  • Fashion
  • Philosophy
  • Psychology
  • Startups
  • Interior design
  • Museums
  • Tennis
  • Reading
  • Podcasts