Inside Cycode's enterprise security platform, we replaced a third-party analytics tool with a dashboard builder of our own. The goal wasn't feature parity — it was making dashboards something people could actually finish building.
Our product leaned on a third-party analytics tool for dashboards. It worked — but it was someone else's software wearing our logo, and that gap showed everywhere: a different feel from the rest of the product, an onboarding people bounced off, and a roadmap we didn't control.
The brief wasn't "rebuild what the third party does." It was to make dashboards feel native to our product, and make them meaningfully easier to use along the way. Those are two different jobs, and the second one is where the actual work was.
This is the part I'd skipped on earlier projects and regretted. Before touching a screen, the PM and I fixed the numbers that would tell us whether this worked. That single decision is why the results section of this case study has real figures in it.
Before designing anything, I looked at how dashboards were actually used in production — not how we imagined they were used. Two analyses set the direction for the whole project.
Fewer than a third of customers touched dashboards at all. That's not a feature gap — a feature gap looks like people asking for more. This looked like people finding the whole thing too heavy to start. So the goal shifted: not recreate every capability, but make the common path dramatically easier.
I analysed more than 1,200 production widgets across every customer dashboard. The distribution wasn't close:
A handful of visualisation types carried almost everything. Several existed only once or twice in the entire customer base. We were maintaining — and asking users to wade through — a full catalogue to serve a long tail almost nobody used.
Two decisions defined the project — one about scope, one about how much freedom to give the user.
The safe, expected move when replacing a tool is feature parity: match everything, so nobody can say you removed their thing. But parity here meant rebuilding visualisation types that appeared once or twice across the whole customer base, at real engineering cost, for three engineers.
Research pointed at something specific: people weren't stuck because the builder lacked power. They were stuck because it asked for too many decisions, and asked too early — advanced settings surfaced before a user had even made their first chart.
Four principles ran through every screen: progressive disclosure (hide complexity until it's relevant), opinionated defaults (fewer decisions), live feedback (see every change immediately), and consistency (feel like our product, not an embedded app).
A much simpler entry point, with far fewer required decisions before a person gets their first result on screen.
Instead of presenting every visualisation as an equal, the library recommends the widgets people actually use and groups them logically — the usage data, turned into a UI.
The configuration panel was rebuilt around live preview, grouped settings, simplified terminology, progressive disclosure and smart defaults — so the common case takes a few clicks and the advanced case is still reachable.
Existing customers needed confidence that nothing would break. The migration flow let teams review and validate their dashboards before switching permanently — the safety net that made cutting the unused widgets acceptable.
A core goal was to not create another isolated experience. So I built the dashboard builder almost entirely from Cycode's design system — a tokenized library with light and dark themes, fully documented in Storybook — with roughly 85–90% of the interface assembled from existing components and new ones added only where genuinely necessary. Faster to ship, more accessible, visually consistent, and far less to maintain.
With a team this small, every design decision hit delivery directly. So I worked with engineering to prioritise features, cut implementation complexity, drop low-value functionality, reuse existing components, and split the work into incremental releases. That's how the MVP shipped fast without giving up the long-term vision.
Because we set the metrics up front, I can tell you exactly what changed. Tracked in Mixpanel after rollout.
These are real Mixpanel figures against goals we set before starting — that's why I trust them. What I'd still want to see is longer-term adoption: completion and speed went up sharply, but the honest test is whether the 23–28% of organisations using dashboards actually grows over the next few quarters. That's the metric I'd track next.