ChartBrew is an open-source reporting platform designed for teams and businesses that need to visualize data from multiple sources—like MySQL, PostgreSQL, MongoDB, Firebase, and external APIs—into live, interactive dashboards. It solves the problem of fragmented data and clunky manual reporting by unifying data sources into a single interface with real-time updates and AI-powered query assistance. Built with React, Node.js, and Redux, it supports deployment via Docker, DigitalOcean 1-click install, or local development with Node.js v20 and Redis.
ChartBrew’s ecosystem includes a full-stack architecture with a React frontend, Node.js backend, and support for major databases and Redis for caching. It offers both self-hosted and cloud-hosted options, making it suitable for enterprises needing data sovereignty and startups seeking rapid deployment. The platform integrates with Slack for data conversations and supports embedding dashboards via iframe or API for seamless integration into existing applications.
What You Get
- Live Dashboard Builder - Create interactive, real-time dashboards by connecting to MySQL, PostgreSQL, MongoDB, Firebase Firestore, and REST APIs with drag-and-drop chart configuration.
- ChartBrew AI Assistant - AI-powered query suggestions and optimization for SQL and MongoDB queries directly within the dashboard editor to accelerate data analysis.
- Data Conversations in Slack - Ask questions about your data and get visual insights by mentioning the ChartBrew bot in any Slack channel without leaving your workspace.
- Embeddable Dashboards - Seamlessly integrate live, interactive dashboards into your web apps using iframe or API embedding with no complex coding required.
- Client Reporting Templates - Replicate and customize dashboards for multiple clients with templated datasets, enabling scalable, branded reporting for SaaS businesses.
- Scheduled Data Updates - Automate data refreshes from connected sources at configurable intervals to ensure dashboards always display up-to-date information.
- Multi-Tenant Access Control - Securely manage access for teams and clients with role-based permissions and tenant isolation for shared instances.
- Real-Time Data Alerts - Set up custom thresholds and receive notifications when key metrics cross defined limits, enabling proactive decision-making.
Common Use Cases
- Running a SaaS client reporting portal - A SaaS company uses ChartBrew to generate branded, embeddable dashboards for each customer, automatically updating with their usage data from PostgreSQL and APIs.
- Internal KPI tracking for product teams - A product manager connects ChartBrew to Firebase and Mixpanel to build real-time dashboards showing user engagement metrics and shares them with engineering and marketing teams.
- Embedding analytics in a proprietary app - A developer integrates ChartBrew dashboards into their web application via iframe to provide users with in-app data visualization without building a custom analytics module.
- Automating client reports for consulting firms - A consulting firm uses ChartBrew templates to auto-generate monthly performance reports for clients from their MySQL databases and emails them on a schedule.
Under The Hood
Architecture
- Monorepo structure using Lerna to cleanly separate React frontend and Express backend with independent build and dependency management
- Layered server architecture with routes delegating to service layers, though dependency injection is absent and services are instantiated directly
- Client-side uses component-based React with context and hooks for state management, featuring reusable visualization components
- Database and caching layers are externally managed via Docker Compose, with direct environment-configured connections and no ORM
- Configuration is centralized through .env files and pre-build scripts, lacking a runtime configuration service
- Production deployment employs multi-stage Docker builds with health checks and explicit port isolation
Tech Stack
- React frontend powered by Vite, Tailwind CSS, and react-chartjs-2 with data labels for rich visualizations
- Node.js 22 monorepo with Lerna, Express API layer, and Redis for caching
- Dual database support via PostgreSQL and MySQL, both containerized with health checks and environment-driven setup
- Client build process leverages npm with react-router, date-fns, and react-ace for enhanced interactivity
- Production deployment uses Dockerized containers with a custom entrypoint and segregated frontend and API ports
- Infrastructure is defined through Dockerfiles and compose files, enforcing environment isolation and service dependencies
Code Quality
- Comprehensive test suite covering unit, integration, and end-to-end scenarios with Vitest and Supertest
- Robust error handling with structured responses, custom error codes, and thorough validation of security edge cases
- Clear separation of concerns with modular utilities, dedicated test factories, and isolated test environments
- Strong type safety and configuration validation through environment parsing, strict coercion, and schema-aware data models
- Consistent naming and modular file organization aligned with domain boundaries, enhancing maintainability
- Extensive security testing including SSRF mitigation, password hashing verification, and token rotation validation
What Makes It Unique
- Native AI orchestration layer that translates natural language queries into dynamic data visualizations using conversational context
- Variable-binding system within datasets enabling dynamic query parameterization without manual SQL modification
- Granular role-based access control extending to project-specific connections and dataset permissions
- Unified Google Analytics connector with OAuth token management and automatic metadata discovery
- Theme-aware chart rendering engine that adapts tooltips and scales to dark/light mode and semantic palettes
- Intuitive formula engine with real-time syntax guidance and variable substitution for non-technical users to create calculated metrics