CH-UI v2: From Side Project to ClickHouse Platform
When I first built CH-UI, it was a React app that let you run SQL queries against ClickHouse. That was it. Today, at v2.0.20 with over 630 stars on GitHub, it’s a full management platform — and it ships as a single binary with zero dependencies.
The Rewrite
The original React-only version hit its ceiling fast. I needed a proper backend for connection management, authentication, and persistent state. Instead of bolting on a Node server, I went with Go for the backend and Svelte 5 for the frontend. The frontend gets embedded into the Go binary at build time. One binary. No Docker required. No Node runtime. Download, run, done.
The backend uses chi v5 for routing and SQLite in WAL mode for local state — connections, saved queries, dashboard configs. It’s fast and it’s simple.
What v2 Actually Does
The scope grew significantly beyond just querying:
SQL Editor — Multi-tab editing with CodeMirror 6, syntax highlighting, streaming results via SSE, query profiling, and EXPLAIN analysis. It’s the core of the tool and it needs to feel instant.
Dashboards — A drag-and-drop dashboard builder with multiple chart types, time range selectors, and auto-refresh. You write the SQL, pick a visualization, arrange the layout. No DSL, no config files.
Brain AI Assistant — Natural language querying that’s actually useful because it has full schema context. Supports OpenAI, Ollama, and any compatible provider. Ask it “show me the top 10 customers by revenue last month” and it writes the SQL against your actual tables.
Data Pipelines — A visual canvas where you connect sources (Webhooks, S3, Kafka, other databases) to ClickHouse destinations. Define transformations, schedule runs, monitor execution. This replaced a lot of custom Python scripts for several users.
dbt-style Models — SQL-based models with dependency visualization. Define your transformations as SQL files, CH-UI resolves the DAG and executes them in order.
Tunnel Support — Secure WebSocket tunneling to remote ClickHouse instances. Run the agent on your server, connect from anywhere. No VPN, no port forwarding.
Single Binary Philosophy
Every feature I add has to work within the single-binary constraint. No external databases, no message queues, no separate services. SQLite handles state. SSE handles streaming. WebSockets handle tunnels. It forces simplicity.
The binary ships for Linux (amd64/arm64) and macOS (Intel and Apple Silicon). There’s also a Docker image for people who prefer containers, but the whole point is that you don’t need one.
What’s Next
CH-UI Pro adds scheduled jobs, governance features, and alerting for teams that need more. The community edition stays fully open-source under Apache 2.0. The goal hasn’t changed: make ClickHouse accessible without sacrificing power.
Check it out at ch-ui.com or grab the latest release on GitHub.