Case Study · Dremio · 2023–2024

Autonomous Reflections

Making performance tuning invisible by automatically optimizing queries.

I designed a system that automatically improves query performance by analyzing how users query their data. The goal was simple: users should get faster queries without manually configuring reflections.

My Role Sole designer on a 6-month 0→1 initiative. Defined the automation model, drove alignment between PM and platform engineering on trust and transparency tradeoffs, and established design patterns for system-driven features across the product.
Team 1 PM, Query Execution Team
Duration 6 months
Scope Strategy, Research, Design

The Result

Real Performance Gains in Production

This system is now running in production and delivering measurable value.

Time Recovered

Each project saves about 4 hours of query runtime every week by automatically accelerating common queries.

Seamless Adoption

Existing users moved from manual reflection setup to automation without changing their workflow.

Operational Efficiency

Teams no longer need to monitor slow queries or tune reflections manually. The system handles optimization in the background.

Autonomous Reflections dashboard

The rest of this case study is password protected

Enter the password to read the full process.

Incorrect password. Try again.

The Friction

Breaking the Expertise Bottleneck

Reflections can greatly improve query performance, but configuring them is difficult.
Users need to decide:

  • which datasets to optimize
  • which fields to include
  • how reflections should evolve over time

Most users do not have the expertise to make these decisions. Many teams rely on experts to configure reflections, while others avoid using them.

Reflections MVs Indexes
Stores precomputed data for fast read access ✓ ✓ ✓
Stored as attribute of existing objects (Tables/Views) ✓ ✗ ✓
Transparently used in queries without modification ✓ ✗ ✗
Simplify query plans and reduce planning time ✓ ✓ ✗

The Real Challenge

The Trust Gap

Users are often hesitant to let an automated system modify their data infrastructure.

Because reflections directly affect query execution, teams want to understand what changes are happening and why before allowing the system to operate automatically.

Without addressing this trust gap, full automation would be difficult to adopt.

How might we improve query performance without asking users to configure reflections at all?

Early exploration of improved UI — abandoned

*Some explorations of prettier UI. Abandoned, of course.

The Strategy

From Manual Configuration to Autonomous Optimization

Behavior-Driven Optimization

The system analyzes query history to understand how users access their data.

By detecting frequently queried entities and fields, it can determine where reflections will have the biggest impact.

This allows the platform to continuously optimize itself based on real usage patterns.

Behavior-driven optimization diagram

A Path to Automation

To make automation easier to adopt, I designed two modes.

Recommendation Mode

The system suggests reflections based on query history. Users can review and apply them with one click.

Autonomous Mode

Once users trust the system, they can enable full automation. Reflections are then created and maintained automatically.

Recommendation mode showing expected impact

Show recommendations with the expected impact of each reflection to encourage users to enable them.

Showing the Impact

Automation only works if users can see what it is doing.

I designed dashboards that show which reflections were created and how query performance improved over time. This helps users understand the value and build trust in the system.

Impact dashboard

The Impact

Designing for Automation

Nearly 70% of cloud customers wanted to adopt the feature right after announcement. We turned a task that took experts weeks into something that runs in the background. Teams without dedicated performance engineers now get query acceleration on par with companies that invest heavily in manual tuning.

What I Took Away

The biggest challenge was not the technology. It was helping users trust automation.

By creating a clear path from recommendations to full automation, we turned reflections from a complex expert feature into a system that optimizes itself.

What's Next

We're making refreshes more efficient and reducing resource costs for large-scale deployments. The team is also expanding support for additional file formats beyond Iceberg and JSON.

Next Project

Cloud Onboarding Redesign