Helping developers understand the context of their work.

General Motors — July 2024

MY Role

UX/UI Designer — Interaction Design, Visual Design,

User Flows, Rapid Prototyping

Team

Front-end Developers

Software Engineers

Product Manager

Duration

4 Months, Launched in July 2024

summary

Following ongoing frustrations with scattered, text-heavy API documentation, developers faced challenges in quickly locating relevant code snippets, leading to inefficiencies and errors in their workflows.


I spearheaded the design of the Interactive API Library, introducing a 3D-driven, visual approach to API discovery that streamlined the process. By enabling developers to interact directly with a vehicle model, the new system reduced search time from 8 minutes to 4 minutes while significantly minimizing user errors.

HIGHLIGHTS

A seamless 3D interactive library that allows developers to quickly locate and access API documentation by clicking on specific car parts.

0.1 Interactive API Library walkthrough.

VIDEO LOOP

0.2 Mobile homepage.

IMAGE

0.3 Light and dark mode showcase.

INTERACTIVE

Context

The message was loud and clear.

Improving the API Library page was a highly requested change from external developers using the GM Dev portal – something that should have been addressed long ago.

and many, MANY more…

Amanda

Developer

"I spend too much time scrolling through static documentation trying to find the right API, and its frustrating when I cant locate the specific code snippet I need."

Eva

Developer

"The API library is difficult to use. It makes our workflows inefficient and slows down development."

Mark

Developer

"Spent way too much time trying to figure out which API to use. The documentation is so text-heavy, I often feel lost."

Joshua

Developer

"Navigating through the documentation is frustrating and time-consuming. There has to be a better way to find what we need."

Trey

Developer

"The library is outdated and confusing."

Julia

Developer

"The current API library is just too text-heavy. It takes forever to find the code snippets we need."

Jacob

Developer

"Finding the right API in the documentation feels like searching for a needle in a haystack."

Thomas

Developer

"The visual design of the API library is cluttered and hard to follow."

1.0 Developer portal responses.

IMAGE

The Problem

This wasn’t going to be an easy update.

The challenge was clear, we needed to make the experience faster and more efficient for developers who were losing valuable time navigating through irrelevant or overwhelming content.


The decision was made to overhaul the API Library page— which brought its own unique set of challenges:

Tight timelines, because we needed to streamline the API library quickly to enhance developer workflow.

Overwhelming content. Dense technical documentation made it difficult to quickly find relevant information.

Fragmented information. API details were scattered across multiple pages, leading to inefficient searches.

THE CHALLENGE

Streamline the process of finding and accessing API documentation, replacing a time-consuming search experience with a more intuitive and efficient solution.

Core design principles:

Concise Clarity

Clear, informative, and straight-forward instructions.

Clear Communication

Anticipate and communicate progress and errors.

Product Excellence

Design exceeds expectations.

WEEK 1

Synthesize context

Constraints & considerations

Test, refine, launch

Edge cases, i18n, finishing touches

Rapid ideation & prototyping

Flows, content, wireframe layout and structure

Visual design direction

Component library, product illustrations design execution

WEEK 2

WEEK 3

WEEK 4

WEEK 5

WEEK 6

WEEK 7

WEEK 8

2.0 Project process within timeline.

IMAGE

Updated Flow

The foundation of the solution.

The Project Manager provided me with a list of mandatory requirements for the API Library update, which outlined key information that needed to be included (Figure 3.0). However, these instructions maintained the same fragmented, text-heavy structure, presenting a challenge in creating a more seamless and intuitive experience.

Mary Fields

API Library requirements

To: Steven Walbrick

4/05/24

Details

Hi Steven,


As we move forward with updating the API Library, I wanted to outline the key requirements that need to be included. We need to ensure the new version improves accessibility while maintaining all critical information.


Here’s what we need to include for each car part:


  • Services

  • Data types

  • RPC's

  • Code snippets


All the car parts and the corresponding information for each car part can be found on the current GM Resource Catalog. Let’s set up some time this week to go over initial wireframes and see how we can best incorporate these elements. Let me know what works for you.


Thanks,
Mary Fields

3.0 Email from Project Manager.

IMAGE

Creating order from complexity.

To navigate the overwhelming set of requirements, I began by reviewing the current GM Resource Catalog (Figure 4.0), carefully examining over 200 common car parts.


After analyzing the catalog, I determined that grouping similar parts together would be the most effective approach for improving organization and usability moving forward.

3.1 Screenshot of GM Resource Catalog.

IMAGE

Pinpointing the issues.

Going through the list of car parts and starting to organize them into groups helped uncover critical usability issues. These challenges primarily stemmed from navigation difficulties and a lack of clear guidance.

Car parts, like doors, appeared multiple times on a vehicle, but their services were only listed once.

The mirrors fit multiple categories, like "interior" and "exterior," creating listing confusion.

A few car parts didn’t fit neatly into any category with other parts (EV Propulsion Sound).

Car parts such as 'Lights' were listed broadly without distinguishing between front and rear.

Implementing immediate solutions.

After several meetings with the team to discuss the issues, I was able to categorize the over 200 car parts into a more streamlined structure. By grouping them under six clear categories, the navigation became simpler and more intuitive for developers to find what they needed (Figure 4.1).

Access

Body

Back Glass

Door

Services

Data Types

Remote Procedure Calls

Code Snippet

Storage Compartment

Window

Cabin Climate

Horn

Lighting Exterior

Lighting Interior

Seating

Braking

Chassis

Suspension

Chassis

High Voltage Battery

Energy

Charging

Charging Station

Power Management

Exterior

Vehicle

Geofencing

Session

Trailering Profile

Trailering

Profile

Camera

Sensors

EV Propulsion Sound

Sound

3.2 Categories prototype.

IMAGE

Layout Patterns

Initial layout design — balancing detail with focus

The first iteration (Figure 4.0) focused on providing simple drop-down menus to help developers narrow down their results. The goal was to enhance the feeling of progression by guiding them through a structured filtering process.


However, internal feedback quickly revealed that the layout was too rigid and time-consuming, making it difficult for developers to find what they were looking for efficiently. In response, a second iteration (Figure 4.1) was developed, where vehicle components were organized into expandable categories, allowing for more flexibility and easier access to detailed API information.


While this version offered more freedom, it still required too many clicks and didn’t provide an immediate visual connection between components and their corresponding APIs. Developers expressed the need for a faster, more intuitive way to find what they needed.


So, onto the third iteration...

4.0 Filter-driven approach.

IMAGE

4.1 Category-driven approach.

IMAGE

The third iteration.

My third design version introduced an interactive 3D car model as the focal point. Developers could click on different vehicle parts to instantly access relevant API details, reducing search time and minimizing errors. This approach made API discovery more intuitive and efficient.


The developers and team loved the idea!

4.2 Interactive-driven approach.

IMAGE

The 3D Car Model — Enhancing interaction flow

A permanent car part side menu was added, allowing developers to easily switch between it and the 3D car model.


A “drag to rotate” label and interior/exterior toggle were added to guide navigation and highlight interactivity.

Permanent car part menu

  • Always visible for quick access

  • Provides alternative navigation to the 3D car model

  • Ensures developers can choose their preferred method of interaction

  • Clear instruction on 3D model interactivity

  • Encourages users to explore the car model from all angles

  • Simplifies navigation between vehicle views

  • Ensures smooth transition between components

Drag to rotate label

Interior/Exterior button

4.3 Interactive API Library logic.

IMAGE

Interactions

Refining navigation — balancing structure and discoverability.

Navigating vehicle components to access APIs was initially confusing. My first approach focused on efficiency by categorizing car parts into structured groups for the side menu.


Though this seemed intuitive in theory, it was too simplified, requiring developers to already know which category a car part belonged to, making discovery harder.


I pivoted to a subcategory list approach, where car parts were organized within subcategories under their main groups. (Figure 5.0)

5.0 Subcategory list.

IMAGE

Enhancing discoverability in the 3D model.

I opted for dots over every clickable car part to make the experience feel more guided and intuitive, rather than forcing developers to click around the 3D car model blindly in search of interactive components. (Figure 5.1).

5.1 Clickable car parts with dots.

IMAGE

Visual Design

Breaking the mold while staying aligned.

While General Motors had an established design system, they wanted the developer portal—especially the 3D Interactive API Library—to stand out from their other sites.


Instead, custom components were designed on a per-need basis, and tailored to the needs of developers.


This allowed me to experiment with modern UI elements, like glassmorphism for a sleek, futuristic aesthetic, while still maintaining usability and brand coherence.

6.0 Modified button component.

IMAGE

Cards — Functional and transparent.

The card component was highly critical from a content-organization perspective, as the car part side menu was built using it. It was designed to prioritize readability while ensuring responsiveness, flexibility, and support for i18n.


I placed a strong emphasis on documenting design specifications to foster smooth collaboration between design and engineering.


It was also an opportunity to leverage Figma’s new component properties, allowing for faster iterations and seamless adjustments, greatly improving collaboration with the development team.

6.1 Default card component.

IMAGE

Tooltips — effortless identification.

To streamline navigation, tooltips were introduced when developers hovered over the interactive dots on the 3D car model, instantly labeling each car part. These tooltips ensured clarity without disrupting the experience, providing immediate context without requiring unnecessary clicks. Subtle motion design helped draw attention without being intrusive, making the interaction feel intuitive and seamless.

6.2 Tooltip logic.

VIDEO LOOP

Interior Design — Balancing visibility with clarity.

Designing the interior view of the 3D car model came with its own set of challenges—the full-screen layout made it difficult to find the right zoom level that kept all clickable parts visible without overwhelming developers or disrupting context, especially when rotating around the interior (Figure 6.5).


To solve this, I collaborated closely with the software engineers building the 3D model, refining the zoom level to strike a balance between visibility and usability. The goal was to keep key components accessible without cluttering the interface, making interactions more intuitive for developers.


These refinements ensured a seamless navigation experience, maintaining both functionality and visual clarity while aligning with the overall design aesthetic (Figure 6.6).

6.3 Interior of 3D model.

VIDEO LOOP

Responsive Design — balancing usability with touch accessibility.

The design direction for mobile and tablet versions prioritized ease of use and accessibility. To optimize the side navigation for smaller screens, it was replaced with bottom category pills, ensuring that users could easily tap through options without strain (Figure 6.5).


The goal was to keep the experience seamless across devices, so I also optimized the 3D car model to remain interactive while preventing the interface from becoming cluttered. By maintaining clickable functionality, developers could still navigate the model effortlessly without feeling overwhelmed by the layout changes.


This approach aligned with best practices for touch interfaces and ensured a fluid, intuitive user experience across various screen sizes (Figure 6.6).

6.4 Mobile walkthrough.

VIDEO LOOP

Final Design

An effortless experience.

For the most part, the process of finding the right API should take a developer no more than four minutes — five at most (Figure 7.0).

7.0 Full Interactive API Library flow.

VIDEO LOOP

Refining the experience through internal feedback.

There were no major usability issues raised during our internal testing. In fact, over 98% of our internal testers were able to successfully navigate the 3D car model and access the correct APIs without any confusion.


This allowed me to shift my focus toward refining a few edge cases.


Figure 7.1 highlights an issue where, on smaller desktop screens, parts of the 3D car model were being cut off, making some car components difficult to access. To solve this, I implemented a sticky actions container that dynamically adjusted its position when the model reached a target minimum height.

7.1 Different desktop sizes.

IMAGE

Retrospective

A seamless solution.

HUGE SUCCESS

Developers found APIs faster, navigation was smoother, and the 3D car model felt effortless to use—making their workflow more efficient and frustration-free!

Adrian

Developer

"It’s crazy how much time this saves. No more digging through docs—I just click and go."

Alex

Developer

"I love how seamless this feels. No extra clicks, no hunting for information—it just works."

Christopher

Developer

"This is exactly what we needed. Just click a part, grab the API, and get back to coding—no wasted time."

Trent

Developer

"I used to have a separate tab open just to cross-reference everything. Now? One screen, one click, done."

Alyssa

Developer

"It feels so intuitive, like this is how it should have worked from the start."

Hannah

Developer

"It’s not just faster, it’s actually kind of fun to use. Makes my workflow way smoother."

Walt

Developer

"It’s one of those things where after using it, you can’t imagine going back to the old way."

Michelle

Developer

"Amazing work by the GM team <3"

8.0 Developer portal reactions.

IMAGE

Project Takeaways:

Turning challenges into opportunities

Viewing constraints from different perspectives helped brew new approaches to tackle other constraints.

Cross-functional collaboration from day one

Early involvement of developers and the project manager streamlined development, aligning technical feasibility with design intent.

Simplifying without oversimplifying

Providing just enough detail—such as subcategories in the side menu—helped developers find what they needed quickly without overwhelming them.

overflow-x: hidden;