← Back to Blog Origin Story

The Origins of CubeKit: Born from Real-World Cube.dev Experience

CubeKit wasn't built in a vacuum. It's the result of years spent in the trenches, building analytics platforms with Cube.dev, learning what works, what doesn't, and what developers actually need. Here's the story of how real-world experience shaped every component we've created.

CK
CubeKit Team
8 min read

The Journey Begins: Our First Cube.dev Project

Two years ago, we embarked on building a comprehensive analytics platform for enterprise clients. We chose Cube.dev as our semantic layer – and for good reason. The caching, the API design, the way it handles complex data modeling – Cube.dev is genuinely excellent at what it does.

But as we started building the frontend, we quickly realized that while Cube.dev provides incredible backend capabilities, the frontend was entirely up to us. And that's where the real work began.

The Reality Check: Cube.dev gives you amazing APIs and data modeling capabilities, but building user-friendly interfaces that leverage these APIs effectively? That's a whole different challenge.

The First Challenge: Query Building

Our first major hurdle was creating a query builder that business users could actually use. We needed something that would let non-technical users explore data without writing code, but also powerful enough for analysts to create complex queries.

We started simple – dropdowns for measures and dimensions, basic filtering. But as we tested with real users, we discovered the nuances that make or break a query builder:

What we learned about query builders:

  • Context matters: Users need to understand what measures work with which dimensions
  • Visual feedback is crucial: Real-time query preview prevents frustration
  • Drag & drop feels natural: But only when it's implemented thoughtfully
  • Filtering is complex: Users want AND/OR logic, date ranges, and custom operators
  • Performance perception: Loading states and progressive enhancement are essential
  • Mobile matters: Analytics aren't just for desktop anymore

After months of iteration, we had a query builder that users loved. But we realized we'd spent more time on the UI than on our actual business logic. That was our first hint that something was missing in the Cube.dev ecosystem.

The Schema Visualization Revelation

As our data model grew more complex, we faced another challenge: helping users understand what data was available and how it all connected. Cube.dev's schema is powerful, but it's not immediately intuitive to business users.

We built an interactive schema visualizer that showed cubes, their relationships, measures, and dimensions in a way that made sense to humans. The impact was immediate – user adoption increased dramatically when people could actually see and understand the data structure.

User Adoption
+340%
After adding schema visualization
Support Tickets
-60%
"How do I find X data?" questions

The Dashboard Dilemma

Individual queries were great, but users wanted dashboards. They wanted to combine multiple visualizations, create interactive filters that affected multiple charts, and arrange everything in layouts that made sense for their workflows.

Building a dashboard system that works well with Cube.dev's caching and query optimization turned out to be an art form. We learned about query coordination, state management, and layout flexibility through countless iterations.

Version 1: Fixed layouts (users hated it)
Version 2: Complete freedom (too chaotic)
Version 3: Guided flexibility (just right)

The AI Breakthrough

As AI capabilities matured, we saw an opportunity to bridge the gap between natural language and data queries. We built an AI chat interface that could translate questions like "What were our top-selling products last quarter?" into proper Cube queries.

The magic wasn't just in the AI – it was in how we integrated it with Cube.dev's semantic layer. The AI understands our data model, knows about measure definitions and dimension relationships, and can generate queries that actually make sense.

The AI Advantage: By understanding Cube.dev's semantic layer, our AI can generate queries that are not just syntactically correct, but semantically meaningful.

The "Aha!" Moment

The turning point came when we started our second major project. We found ourselves rebuilding many of the same components – query builders, dashboard layouts, schema explorers. But this time, we knew exactly what worked and what didn't.

That's when we realized: every team building with Cube.dev faces these same challenges. Everyone needs query builders, everyone struggles with dashboard layouts, everyone wants to make their schema more accessible to users.

💡 The CubeKit Vision

What if we could package all our hard-won knowledge about building Cube.dev frontends into reusable components? What if other teams could skip the months of iteration we went through and jump straight to building their unique business logic?

Why CubeKit Components Are Different

CubeKit isn't just another UI library. Every component is designed specifically for Cube.dev, with deep understanding of how the APIs work and how users actually interact with analytics data.

QueryBuilder

Born from countless user testing sessions and iterations. Handles the complexity of Cube.dev queries while remaining intuitive for business users.

SchemaVisualizer

Makes complex data models accessible. Users can explore and understand your Cube.dev schema without technical documentation.

DashboardBuilder

Balances flexibility with usability. Learned from building dozens of different dashboard layouts for various use cases.

ConversationBuilder

AI-powered natural language queries that understand your Cube.dev semantic layer. Makes data accessible to everyone.

What's Next

CubeKit is just the beginning. We're continuing to build and learn, and we want to share that journey with the Cube.dev community. Every new project teaches us something new about what developers need and how Cube.dev can be leveraged most effectively.

We're excited to see what you build with CubeKit, and we're even more excited to learn from your experiences. The best components come from real-world usage, and we want CubeKit to evolve based on the needs of the entire Cube.dev community.

Related Posts

Stay Updated

Get the latest CubeKit tutorials, best practices, and product updates delivered to your inbox.

Join Waiting List