Self-Service Analytics Platform

Built an internal analytics tool that reduced data team requests by 60%

Impact

60%

Request reduction

200+

Weekly active users

50+

Custom dashboards

<2s avg

Query time

Role

Product Manager

Timeline

4 months (Q3-Q4 2024)

Team

3 engineers, 1 designer, 1 data analyst

Context & Problem

Our data team was drowning in ad-hoc requests. Every product manager, marketer, and executive needed custom reports, but the queue was 3-4 weeks long. This bottleneck was slowing down decision-making across the company.

The existing solution—giving everyone direct database access—had failed spectacularly. Non-technical stakeholders couldn’t write SQL. Those who could wrote inefficient queries that brought down production databases twice. The data team spent more time firefighting than building.

My Approach

I saw an opportunity to build an internal tool that would democratize data access while maintaining guardrails. This was a 0-to-1 product where the users were my colleagues—high stakes for getting it right.

Discovery:

Key insights:

Solution Design

Rather than build a generic query builder, I designed around the 5 common question types:

  1. Metric Explorer: Track any metric over time
  2. Funnel Builder: Visualize conversion funnels with customizable steps
  3. Cohort Analyzer: Compare user groups by signup date, plan, etc.
  4. Feature Adoption: See who’s using which features
  5. Dashboard Composer: Combine multiple views into sharable dashboards

Technical architecture decisions:

Worked with the engineering lead to balance flexibility vs. performance:

Controversial decision: I said no to custom SQL.

The data team initially pushed back hard—they wanted a “power user” mode with raw SQL access. I held firm because:

Outcome & Metrics

Adoption:

Efficiency:

Business impact:

What I Learned

Saying no was the right call: The custom SQL request came up 3 more times in the first 2 months. Each time, we found that the real need could be met by extending one of the 5 patterns. If I’d built it on day 1, we’d have performance problems and no one would use the curated views.

Internal products need just as much UX care: Early versions had data-heavy interfaces that intimidated non-technical users. After we added progressive disclosure and better defaults, adoption doubled.

Start with constraints: Rather than trying to give everyone everything, constraining the tool to specific use cases made it more useful. “Do everything” often means “do nothing well.”