SDK Manager
Sole DesignerB2B No-Code Platform

SDK Manager

Redesigning how brand SDKs get branded and built, in a no-code desktop web app.

SDK Manager overview: every SDK group with its published and draft counts
The SDK Manager overview
Role
UX Designer. Joined February 2025, sole designer since April 2025
Timeline
Phase 1 shipped July 2025. Phase 2 in progress
Team
1 BA · 3 backend · 4 frontend · 2 QA · 1 DevOps
Platform
Desktop web app, no-code builder
Context

SDK Manager is a no-code platform a global pet-care company uses to build branded SDKs for its brands. An SDK here is the set of screens behind a tool like a pet health scan, typically 23 to 28 screens. The scan and check tools in my Pet Health Scan Suite case study are built here.

Who uses it. The company's brand and technology teams, who create, brand and publish SDKs for each of their brands.

The problem. Before the platform, every SDK was designed and built by hand. It took 2–3 weeks each time, and only 7–8 were ever shipped.

Where I came in. Another designer set the direction and designed the early flows, then handed the product over to me two months after I joined. Since April 2025 I've been the only designer, working with a BA and the engineering team through the Phase 1 launch and into Phase 2.

At a glance
4 → 2
steps to choose a brand. The BA's missed-screen reports stopped after it shipped.
1 edit
to change a header across a whole SDK, instead of one on each of 18–24 screens.
3–4 days
to build an SDK on the platform, down from 2–3 weeks, with 44+ SDKs published since July 2025.
The first two are the results of my changes. The last is the platform as a whole, not just my work.
What I did
  • Redesigned how branding is assigned to an SDK: 4 steps down to 2, with missed screens flagged before publish. Explored 5 versions.
  • Proposed static components: recurring components built once instead of on every screen that uses them. Rejected at first, approved after QA hit the same problem.
How an SDK gets built
Create SDK→Create version→Build screens→Assign branding→Publish
Step 4 is part one below. Step 3 is part two.
01

What I worked from

There was no direct user research on this project.

  • Journey maps. Created before I joined, covering scenarios like building a new SDK and editing an existing one.
  • BA reports. From the teams using the platform, including screens being missed during branding.
  • QA feedback. From testers building SDKs end to end.
A journey map from before I joined
A journey map from before I joined
02 · Assigning branding to an SDK version

What I inherited

Every SDK version gets one brand, which sets its images, colours, and fonts. In the flow I inherited, this took two screens.

Choosing the brand. Each brand card had a toggle, and the copy said to "individually enable brands," which suggested several could be on at once.

Toggle→Hidden menu→Apply→Save

Assigning images. Every screen that needed a brand image sat on one long page, each with its own upload box.

The BA reported that users were missing screens. I traced it to page length: on one long scrolling page, some upload boxes were easy to scroll past, and the gap only showed up later as an error.

SDK-01 · Inherited flow video
The flow I inherited: four steps, one of them hidden
02 · Assigning branding

What I changed

01Choosing a brand takes two steps
Select a card, then click Next. The copy now says to choose only one brand. The checkbox sits outside the card, so long brand names aren't cut off. Only published brands appear, and filters by brand and country keep the list manageable.
02One section at a time
Screens are grouped into their workflows under a dropdown. Sections are in bold, and screens are indented under them so the two are easy to tell apart.
03Missed screens are visible
Grouping removes the long scroll, but it can also hide screens that aren't open, which is the same risk I was trying to remove. So screens with an image get a check mark, and publishing with a screen missing shows a warning and a red error mark on the dropdown.
04Selecting images instead of drag and drop
A single click now applies an image, instead of dragging it into the upload box every time.
05Apply to all
One image can be applied to every screen at once.
SDK-02 · Final branding video
Assigning branding: final design
03

What I tried and dropped

Five versions in total. Four didn't make it, and each one taught me something about what the final design had to do.

Workflow tabs, one screen at a time

Almost approved. The screens were split into workflow tabs with one preview at a time, so there was no way to see which were done or flag the missing ones.

Dropped: screens split into workflow tabs, previewed one at a time

Upload first

Put the upload box above the brand images. Dropped because uploading new images is the less common task.

Dropped: upload first

A Select / Upload radio toggle

Kept the panel short, but only one option was visible at a time, so someone who needed to upload could miss the toggle. The final design shows both.

Dropped: a Select / Upload toggle

A Screens / Preview split

Mirrored the builder's Sections / Preview pattern, so it would have felt familiar. But the Screens view brought back the long scroll, and switching views added clicks.

Dropped: a Screens / Preview split
4 → 2

steps to choose a brand

Shipped after the Phase 1 release. Image assignment went from one long page to a section-by-section flow where missed screens are flagged before publishing.

04 · Static components

Build once, use on every screen

A handful of components appear on nearly every screen: brand header, tool header, feedback forms, result components. The builder had no way to reuse a component, so users rebuilt each of these on every screen that needed it, 18 to 24 of an SDK's 23 to 28 screens. It was slow, and every rebuild was a chance for one screen to drift from the rest.

01Build once
A Static Components tab sits in the Create SDK Version page, next to the Sections tab. Users build recurring components once, with the same drag-and-drop builder.
02Place anywhere
In the Sections tab, they're dropped onto screens as placeholders labelled "Static," so it's clear the content lives elsewhere.
03Edit once
Editing a static component updates it on every screen that uses it.
04No per-screen override
No SDK needed a screen with a different header, so I didn't add one.
SDK-14 · Static components video
Static Components
04 · Static components

It took two pitches to get them built

Static components were my idea, and they didn't get built the first time I proposed them.

First pitch
During QA
Second pitch
Turned down. For the frontend team it was a sizeable feature, and the benefit wasn't obvious yet.
Same problem, seen first-hand. Testers building full SDKs had to rebuild the same headers on every screen.
Approved. The repetition was now something the team had felt, not just something I'd described.

Result: one edit instead of one per screen

Shipped after the Phase 1 release. Each SDK now has 3 to 5 static components, each built once instead of on 18 to 24 screens. Changing a header is now one edit instead of one per screen.

What I'd change

Measure my own changes from the start. The build-time numbers at the top are for the platform as a whole. For my two changes, I have no tracked time data: the BA's reports told us missed screens stopped, but I can't say how much time the redesign or static components saved. Next time I'd agree one or two metrics with the BA before release.

Other parts of the platform I designed

Template creation (including import from JSON), the catalogs, configurations and validation across flows, and configuration history with restore.

Catalogs
Catalogs
Configurations
Configurations
Restoring a deleted SDK
Restoring a deleted SDK
Template catalog
Template catalog