As Lead UX Designer at PipelineDeals, I designed a reporting system for sales managers: three linked visualization modes — a regional map, stacked pipeline bars, and period-over-period comparison — sitting on top of a selectable, comparable deal table. One shell, one mental model, from big picture to individual deal.
PipelineDeals is a CRM built for small and mid-size sales teams. The pipeline data was all there — deals, owners, stages, territories — but reporting surfaced it as flat lists. A sales manager who asked “how is my team actually doing, and why?” had to reconstruct the answer by hand. Working from a sales-manager persona hierarchy, I mapped the gap between what managers needed for quantitative team assessment and what the product gave them.
Managers wanted highly-valued reports with real data visualization — not row-by-row tables — to assess performance at a glance.
There was no way to hold the current quarter against a similar previous timeframe and see what moved, or which direction.
Findings couldn't travel — no clean way to share a report with another PipelineDeals user or export the data to .csv for the rest of the business.
As lead designer I owned the concept end to end: translate the persona's requirements into an interaction model, design the visualizations and the table UI beneath them, and spec the whole thing so engineering could build it on an interactive charting stack (D3 / Angular). Five requirements anchored every screen:
I designed a persistent reporting shell — report picker, timeframe control, view switcher, share and save — so every report feels like the same tool. Inside it, three visualization modes answer the manager's questions at different altitudes. Each one keeps the same three-band anatomy: summary rail, visualization, trend strip, with the comparable deal table anchoring the bottom.
Under every visualization sits the same deal table — the qualitative half of the assessment. I designed it to be compared, not just read: checkbox selection per row, a “Compare selected” action, an inline sparkline of each deal's status trend, and a totals band that live-sums whatever is selected. Nine columns cover deal, owner, revenue, account size, and service tier, so the drill-down from any chart lands somewhere that can carry the full weight of the question. I spec’d the interaction model for D3 / Angular and documented a future track: predictive analysis with Monte Carlo simulation charts, and a report builder that recommends the right visualization for the comparison a user designs.
Every chart interaction — region select, bar segment, slice drag, time scrub — spec’d against the charting stack engineering had committed to.
Selection, live totals, and inline sparklines made the table an analysis surface rather than a data dump — a pattern reusable beyond reporting.
Monte Carlo simulation of pipeline trends, and a system that recommends the right chart for the comparison a user builds.
Designing from a persona's questions rather than the database's schema gave PipelineDeals a reporting language — not just three reports. Any future report type could inherit the shell, the anatomy, and the drill-down contract, and feel instantly familiar to the manager using it.