Khang Hy
All work
Design & system workB2B SaaS

An internal tool, redesigned into a SaaS clients can set up themselves.

Every new client used to need a developer editing the database by hand. As the sole designer, I redesigned the configuration system, the admin, the onboarding and the landing page, so basic setup now starts from one spreadsheet upload.

Illustration: a client spreadsheet turning into a ready workspace
Role
Sole designer
Team
2 mobile, 1 backend, 2 QC
Timeline
12 months
Phase
0 → 1, first release
Status
V1.0 launched
Before: dev per client
  1. TriggerNew client signs up
  2. Hand-offDeveloper picks up the ticket
  3. Manual workEdits the database by hand
  4. ResultClient can start, days later
After: self-serve upload
  1. TriggerNew client signs up
  2. Self-serveUploads their Excel file
  3. AutomaticFile maps to data structures
  4. ResultWorkspace ready, no dev needed
The problem

Built for one team. Sold to many.

FeedbackMe started as a tool for one internal environment. When it became a commercial SaaS, every new client's setup landed on the developers. If your product grew the same way, this may sound familiar.

  • 01Onboarding eats developer timeEach new client meant a developer changing data structures by hand, instead of building the product.
  • 02Clients can't shape it to their workflowThere was no configuration UI. Every client-specific need became a support ticket.
  • 03Flexible, but not breakableThe config had to fit very different client structures without breaking the shared infrastructure underneath.
Approach

Logic before screens.

A polished onboarding flow is useless if the configuration underneath is broken. So discovery mapped the data first. The PO and CEO owned the what and why; the team and I owned the how.

  1. 01Logic mappingWent through the legacy tool with the backend dev to decide which fields had to become dynamic, such as regions and locations.
  2. 02Depth calibrationAgreed with the team how far clients can customise: their regions and locations, plus theme, logo and display labels, without breaking the shared system.
  3. 03Feasibility syncReviewed the designs with engineering every Thursday, so every layout matched what the backend could actually do.
Key decisions

What made it self-serve.

FeedbackMe admin
Illustration: Excel-driven onboarding
01 / 04

Excel-driven onboarding

Multi-day manual setup blocked new clients from getting started.

What I'd do differently

Next time, I'd watch a client's first upload before calling it done.

The config logic held up in review with engineering and the PO. On the next 0 → 1, I would add one more check: sit with a client through their first upload, so self-serve is something we have seen, not only reasoned.

Lessons
  • Logic dictates UXThe biggest decisions here were structural, not visual.
  • Autonomy is scalabilityEvery routine setup a client does alone frees dev time for the product.
  • Guardrails make it usableTotal freedom breaks the experience. Limits are what let it scale.
Does your product work but not scale?

Start with an audit, not a rebuild.

For live products that are losing users or eating dev time. I audit the full experience, restructure the UI system and fix the gaps without rebuilding everything from scratch.

Similar work: UX audit, quoted after a short call

More work

All work
Start a conversation

Tell me where your product gets stuck. We'll find the structural fix.