2025

Tool development · Internal software · Web · 20k active users

What if a report storage could turn raw data into strategic insights in several clicks?

What if a report storage could turn raw data into strategic insights in several clicks?

Disclaimer: this is an NDA project, some aspects of the designs and the data visible on the screens was altered.

The platform is an energy reporting tool built for utilities and large industrial clients. Facility managers and operations teams use it to submit and store reports on consumption, emissions, costs, and other metrics specific to each client's needs. Any comparison or analysis meant requesting it from the analytics team, who worked in their own tools entirely outside the platform.

The brief was broad: a platform improvement that would bring analytics into the tool. As the sole designer, I led validation, customer log research, and scoping the open questions that still lacked answers from the client side.

key outcomes overview

Two-layer comparison system: in-report and cross-report, scoped to two distinct user workflows.

Annotation canvas and anomaly detection, turning static charts into an interactive analysis tool.

40+ screens designed; updated components contributed back to the design system.

PROJECT
CHALLENGES

PROJECT
CHALLENGES

Challenge 01

No existing model for comparison

Challenge 02

Workarounds that worked well enough

Challenge 03

Users I couldn't reach

Challenge 04

A design system built for static content

Building a user picture without direct access

Building a user picture without direct access

Stakeholders had no direct access to customers, so I relied on secondary research to scope the problem: post-launch support logs, customer records, and a Day in the Life reconstruction already held enough signal to start without running new primary research.

Read more

From converging signals to a shipped comparison feature.

Validation, stakeholder alignment, and early concepts ran in parallel rather than sequentially. With no direct access to users, I had to build confidence in the direction through converging signals from multiple sources at once.

Customer Logs & PM interviews

Research

& Validation

Customer Logs

& PM interviews

Day in the Life reconstruction

Concept Validation

& Prototyping

Two-layer comparison scoped

Two-layer

comparison scoped

Annotations, anomalies &

reference lines proposed

Annotations, anomalies &

reference lines proposed

40+ screens designed + updated DS

40+ screens designed

+ updated DS

Handoff

Handoff

Research & validation

Customer logs and PM interviews ran alongside the Day in the Life reconstruction, each stream validating the other. The overlap narrowed a broad analytics request to two core capabilities: in-report and cross-report comparison. The DITL reconstruction surfaced new communication gaps.

Customer logs and PM interviews ran alongside the Day in the Life reconstruction, each stream validating the other. The overlap narrowed a broad analytics request to two core capabilities: in-report and cross-report comparison. The DITL reconstruction surfaced new communication gaps.

Feature scoping & design

As communication and the need of using multiple tools became a clear pain point I proposed new additions: annotations for on-canvas communication between team members, anomaly flagging to catch deviations automatically, and admin-set reference lines to separate areas that need attention.

As communication and the need of using multiple tools became a clear pain point I proposed new additions: annotations for on-canvas communication between team members, anomaly flagging to catch deviations automatically, and admin-set reference lines to separate areas that need attention.

Handoff & support

Handoff included an animated Figma prototype and a supporting file covering interaction details, edge cases, and priorities. I stayed involved through development, supporting engineers on interaction specifics as features went live.

Handoff included an animated Figma prototype and a supporting file covering interaction details, edge cases, and priorities. I stayed involved through development, supporting engineers on interaction specifics as features went live.

DESIGN DECISIONS

Comparison without leaving the report

Comparison without leaving the report

Users could already view reports by week, month, or day, but comparing two periods meant exporting each one separately, combining them manually, annotating in a third tool, and forwarding the result. I expanded the existing time controls to support period overlay directly within the report, collapsing that entire workflow into one view.

Read more

Features I proposed beyond the brief

Annotations are pinned directly on data points and populate automatically in the settings column; clicking an entry highlights its position on the chart and vice versa, keeping communication on the canvas rather than in a separate thread.

Anomaly detection works through admin-set reference lines that define what "normal" looks like for a given report, visually flagging data points that deviate beyond a set threshold.

Reports the user creates, owns, and shares on their terms

Reports the user creates, owns, and shares on their terms

In-report comparison handles a quick check within one context. Comparing across reports is a different task entirely: the user creates a new comparison report, combining data from multiple sources to track dependencies over time. These reports are private by default, so the user can experiment, tweak, and iterate without the rest of the team seeing unfinished work.

Read more

Designing for a user base that didn't ask for this

Every decision in this project carried the same constraint: five years of entrenched habits and no guarantee of adoption. I kept comparison inside the existing report view rather than introducing a new section. Cross-report comparison starts private so users can learn without visibility. Annotations and anomaly flags activate independently rather than shipping as a default. Each choice reduced the cost of trying the feature for the first time, because a tool nobody opens solves nothing.

REFLECTION

Cross-department requests for comparison work dropped by more than half within three months of launch.

Cross-department requests for comparison work dropped by more than half within three months of launch.

Cross-department requests for comparison work dropped by more than half within three months of launch.

Comparison was the most requested feature the platform had never addressed. When it shipped, managers adopted it without onboarding or training because the controls built on patterns they already used: the same time selectors, the same report structure, just with a second period layered in. Annotations and anomaly flags followed the same pattern, averaging 4 to 5 per report across active users within the first quarter.


Personal thoughts

Personal thoughts

The brief was written by domain experts who understood the industry down to the unit of measurement. I came in with none of that context and spent the first weeks building knowledge on my own before bringing questions to the team. The research gave me a perspective the team hadn't considered, but it made the early iterations slower than they needed to be. If I were starting this again, I'd front-load structured conversations with the team from the get go.

120+

Reports created and shared across teams in the first quarter.

~60%

Fewer requests routed to the analytics team for comparison work.

MORE SCREENS

Download
Download
Download step 2
Upload
Upload step 2
Review
  • NEXT UP → DESIGN SYSTEM

  • NEXT UP → DESIGN SYSTEM

  • NEXT UP → DESIGN SYSTEM

Full case study

  • NEXT UP → DESIGN SYSTEM

  • NEXT UP → DESIGN SYSTEM

  • NEXT UP → DESIGN SYSTEM

Full case study

GET IN TOUCH.

Always open to new collaborations

or just a chat about design systems.

GET IN TOUCH.

Always open to new collaborations

or just a chat about design systems.

GET IN TOUCH.

Always open to new collaborations

or just a chat about design systems.

GET IN TOUCH.

Always open to new collaborations

or just a chat about design systems.