What if enterprise-grade analytics could run entirely in your browser, with zero infrastructure, sub-second performance, and AI assistance built-in? What if your laptop could become a fully autonomous data center, processing multi-gigabyte datasets without ever touching a server? What if your most sensitive data never had to leave your personal storage device? Recent advances in single-node computing, browser capabilities, and local AI deployment have made these scenarios increasingly practical. SQLRooms is our contribution to this emerging trend—a framework designed specifically for building ‘single-node’ analytics applications that leverage these new capabilities.
Three months ago, Foursquare introduced Kepler.gl 3.1 to bring enterprise-grade geospatial analytics directly into the browser by embedding DuckDB as the analytics engine and pairing it with an LLM assistant. At the time, our intent was purely to improve the capabilities of Kepler.gl for geospatial analytics. However, as we started introducing the latest version of Kepler.gl into our product lines, we discovered something profound: Most existing frameworks for building BI and data applications still assume a traditional hub-and-spoke model—where the heavy computational lifting happens in centralized data warehouses, and front-end applications serve primarily as visualization layers. While this architecture has served the industry well, recent breakthroughs in single-node computing are fundamentally challenging this assumption. Three technological breakthroughs are driving this transformation:
- In-Process OLAP Engines Have Reached Production Grade: DuckDB has definitively proven that serious analytics don’t require distributed warehouses. With sub-second query performance on multi-gigabyte datasets and the recent introduction of DuckLake, which seamlessly integrates data lake querying into single-node analytics, the performance gap between edge and warehouse-based analytics is rapidly closing. DuckLake’s ability to efficiently query extensive object storage and cloud datasets without centralized infrastructure represents a paradigm shift toward truly distributed analytics.
- Browsers Have Become Fully Capable Computing Platforms: The convergence of Progressive Web Apps (PWA), WebAssembly (WASM) and Origin Private File System API (OPFS) have fundamentally transformed what’s possible in browser-based applications. PWAs now deliver desktop-like experiences with offline capabilities and seamless installation, while OPFS enables true local data persistence, allowing applications to store and access large datasets with native file system performance. Most critically, the WASM evolution, exemplified by DuckDB WASM, brings near-native computational performance to browsers.
- Local AI Has Become Practical and Powerful: Modern frameworks like Ollama now deliver production-ready AI capabilities that run directly on consumer hardware, eliminating the need for expensive cloud AI services while ensuring complete data privacy. Ollama now supports a growing library of open source models including cutting-edge options like DeepSeek-R1, Llama 3.2, Phi-3, and Gemma 3, with optimizations that significantly improve performance on consumer hardware. Crucially, Ollama works effectively even on CPU-only configurations, making sophisticated AI accessible to developers regardless of their hardware constraints.
These convergent trends led us to a critical question: What would data applications look like if we designed them with a single-node architecture from the ground up? The answer suggests compelling potential advantages worth exploring. Single-node applications could eliminate cloud infrastructure costs while delivering sub-second performance on multi-gigabyte datasets, maintain functionality with minimal internet connectivity, and offer enhanced data privacy since information might never leave the user’s device. They could also scale more naturally as each user brings their own compute resources, potentially removing the bottleneck of centralized server capacity. This approach has the potential to transform laptops and browsers from simple client interfaces into autonomous data processing environments.
Today, we’re excited to introduce SQLRooms, a modular, React-based open-source framework for building single-node data applications that run entirely in your browser or on your laptop, without requiring any backend infrastructure.
Introducing SQLRooms: The Application Framework For Single-Node Apps
SQLRooms isn’t just another DuckDB-based app—it is a complete application framework that treats single-node computation as a first-class architectural choice, not a compromise. By bundling a SQL query engine (DuckDB), data visualization tools, state management, UI components, and an AI assistant into one cohesive toolkit, SQLRooms enables developers to build production-grade analytics applications that can be run completely on a single-node.
SQLRooms notably addresses two critical gaps in the current analytics ecosystem: First, while the DuckDB ecosystem has produced excellent turnkey applications—from the official DuckDB UI to RillData’s metrics dashboards, there are no widely adopted frameworks that let developers assemble their own DuckDB-powered interfaces. SQLRooms provides those missing building blocks. Second, popular BI platforms like Metabase and notebook tools like Hex execute queries on a server and usually target cloud data warehouses. SQLRooms runs both the OLAP engine (DuckDB) and, if desired, connects to a local LLM directly on the user’s laptop or browser, so it works offline and keeps data on-device.
Architecture: The Five Pillars of SQLRooms
SQLRooms transforms any single-node, whether a browser, laptop, or standalone device, into a complete analytics platform through five foundational pillars that work together to create Rooms, self-contained workspaces where users can explore datasets, run queries, and visualize results:
- RoomShell: The UI Container
The RoomShell is a React component that renders the complete Room user interface with built-in store context provider, error boundaries, notifications, and seamless component integration. This foundation layer provides the stable environment where all other components operate, handling the essential infrastructure so developers can focus on building analytics experiences rather than managing UI plumbing between various components. The RoomShell connects the UI elements to a RoomStore, which facilitates the overall state management for the application. - RoomStore: Modular State Management
The RoomStore is a Zustand-based state management system that organizes application state into focused “slices” dedicated to specific functionalities. It maintains clean separation between persistable configurations (what you want to save and share) and runtime state (what’s happening right now), while TypeScript and Zod schemas ensure type safety throughout your analytics workflow. Developers can easily extend the store with custom slices or integrate external services. - Built-in DuckDB Instance: Local-First Compute Engine
Each Room is connected to a DuckDB instance, native on device or WASM in a browser. The SQLRooms DuckDB wrapper sits on top of the bare DuckDB engine and smooths out all the operational details. It automatically recognizes data file formats (CSV, Parquet, JSON, Arrow), infers schemas, and registers tables for immediate querying. Background workers handle lengthy analyses to keep the interface responsive, while live schema caching ensures UI components can instantly display table and column metadata. All query results come back as typed result sets, and connection lifecycle is managed automatically. In essence, you can load a multi-megabyte parquet file, run complex aggregations, and visualize results within minutes, all with a few lines of code.
A visual describing how a simple data app on the right hand side, is built through components of SQLRooms. - AI-Powered Analytics Assistant: Conversational Data Exploration
The SQLRooms AI system provides an intelligent conversational interface for data analysis, allowing users to ask natural language questions about their data and receive comprehensive insights powered by AI. The system automatically translates user questions into optimized DuckDB SQL queries, executes them safely without modifying data, and presents results through natural language explanations, summary statistics, and interactive visualizations using VegaLite charts. Users can maintain multiple analysis sessions with different AI models, with each session preserving a complete history of questions, queries, and results that stream in real-time as the AI processes them. The platform combines the accessibility of conversational AI with the power of SQL analytics, featuring robust error handling, extensible tooling for custom analysis and visualization capabilities, and a sophisticated state management system that ensures users can explore their data through intuitive dialogue while maintaining the precision and flexibility of database queries. - Reusable Component Library: A Complete Toolkit
SQLRooms provides a comprehensive ecosystem of React components built on shadcn/ui and Tailwind CSS, featuring modern UI primitives with full accessibility and theming support. These foundational components seamlessly integrate with powerful database interaction tools including Monaco-powered SQL editors, intelligent schema visualizations, and high-performance virtualized data tables. The library extends with advanced visualization capabilities through Recharts, Vega, and Cosmos graphs with cross-filtering, and cloud-native file management tools including drag-and-drop interfaces and S3 browsers. Throughout the ecosystem, thoughtful UX design includes toast notifications, progress indicators, contextual overlays, and utility hooks for common patterns, all unified by the React Mosaic-powered Layout Manager that enables dynamic multi-panel dashboards, creating a cohesive platform where data professionals can explore, analyze, visualize, and collaborate on complex datasets within a single, elegantly designed interface.
Together, these five pillars enable developers to compose existing components into custom workflows or extend the platform with entirely new ones. These data apps can immediately be deployed to a browser or your laptop with no additional backend infrastructure.
Applications: SQLRooms In Practice
SQLRooms comes with ready-to-use examples that demonstrate how it enables different kinds of data analysis workflows. The sql-query-editor creates a complete SQL development workspace where users can drag and drop files and work with multiple editor tabs. The visualization capabilities take center stage in the mosaic example with complex interactive charts and the cosmos example which maps graph network relationships. The deckgl-discuss combines geographic mapping with team collaboration features for location-based analysis. And finally, the ai–assistant example showcases intelligent data assistance by integrating multiple AI providers to automatically analyze patterns, generate insights, and help users write better queries. Together, these examples illustrate SQLRooms’ range—from specialized data exploration tools to AI-powered collaborative platforms with advanced mapping and visualization capabilities.
The Future: Single-Node Data Applications
SQLRooms represents a new paradigm in analytics application development—one that embraces the performance and flexibility of single-node computing. As single-node computing becomes more powerful and data privacy concerns grow, we anticipate an entire ecosystem of such applications will emerge to meet organizations’ demands for both performance and autonomy. SQLRooms provides the foundational toolkit to build this future. Whether you’re building privacy-first analytics where sensitive data never leaves the user’s device, creating AI-powered geospatial analysis tools that work seamlessly offline, or developing applications that leverage local AI models for real-time data insights, the framework provides the foundational components to explore these possibilities with minimal infrastructure constraints. We’re excited to see what the community builds.
Get started by exploring the SQLRooms homepage and the Github repository
____
Contributors:
Ilya Boyandin (Foursquare) is the architect of SQLRooms and an active contributor to various open-source projects such as Kepler.gl, Deck.gl, and FlowMap.gl.