Work · 02

Genyo

A restyling project for a platform companies use to run their AI agents. The brief asked for a fresher interface. Rebuilding the core flows first showed that the real problem was structural: the product showed a lot of information, but left people to work out what mattered.

Problem
Six equally weighted blocks on the dashboard; anomalies three steps away from their cause
Role
Sole designer: flows, IA, UI, visual system
Scope
Dashboard, document upload, shared components
Outcome
Explicit priorities on the dashboard; upload from 5 to 3 steps
Dashboard, after
Context & problem

I started by rebuilding the main flows, before touching the visual language. What came out wasn't a styling problem.

The dashboard had six blocks with the same visual weight. Processed requests, credit consumption and agent status all looked equally urgent. A failing agent was one grey line in a table, next to five healthy ones. Getting from that anomaly to the agent behind it took three steps.

Dashboard, before

“What needs attention right now?”

The question I organised the dashboard around
Dashboard: action first, context second

Agents with errors or resources running low moved to the top, each with direct access to the problem. Request volumes and trends stayed available, but in the background, with less contrast and no competing alarms.

I didn't remove any information. I separated what needed an action from what served as context.

Dashboard, after

Rejected alternative

The first version had a single health indicator per agent. It was compact, but it hid the reason for the alarm: an execution error and a credit shortfall ended up in the same “Degraded” state, with the same score and the same colour.

I dropped it in favour of distinct signals, each showing its cause and the next action. Two problems that need different people and different fixes shouldn't look the same.

Rejected: one health indicator
Chosen: distinct signals

From signal to agent in one step

Each signal opens the agent detail on the failing run: where it broke, why, and what to do next. The step that would have meant reading through logs is on the page.

Agent detail
Upload: many doors, one room

The same problem showed up in document upload. There were four entry points, and where the file would end up only became clear after the flow had started.

I kept the contextual entry points, because they're useful when you're working inside a workspace, and made them all converge on the same upload component. Each one opens it prefilled with the context it came from. Workspace and destination are visible before confirming, along with which agents will read the files.

The flow went from 5 to 3 steps, cutting a redundant screen and a duplicated confirmation.

Four entry points, one component
Upload with destination
Testing

In a comparative test, the same 8 participants completed an upload task on both versions, alternating the order they saw them in.

  • Unassisted completions: 5 of 8 → 7 of 8
  • Median time: 110s → 65s

It's a signal limited to that task, not proof that the whole product got better.

Visual system

The visual redesign was there to support these decisions, not to lead them: contrast reserved for critical states, consistent hierarchies across screens, and shared components, so a signal, a status badge or a destination path looks and behaves the same wherever it appears.

Genyo AI: a separate concept

I kept the AI assistant as a separate concept. It's worth evaluating only once the information already on screen is understandable on its own. An assistant that explains a confusing dashboard is a patch, not a fix.

Genyo AI concept
Outcome

A dashboard that makes priorities explicit, and an upload that makes the destination clear before sending.

What I'd measure next
Time from signal to resolution

Whether the shorter path from alert to agent actually means problems get fixed faster.

Signals dismissed without action

If people start ignoring signals, the top of the dashboard has become noise again.

Files moved after upload

A direct read on whether the destination was really clear before confirming.

Next projectOrbit →