Building Tabularis: A Developer's Database Tool That Doesn't Suck
Source: Dev.to
Source: Dev.to
Introduction
I’ve been managing databases for years, and I’m tired of the same two options: heavyweight enterprise tools that feel like flying a 747 to get groceries, or stripped‑down CLI utilities that make even simple tasks a chore. There had to be a middle ground—something fast, clean, and actually enjoyable to use.
So I built Tabularis, starting from a vibe‑coding session with Claude Code, and then it evolved as I really put my mind into it.
The Problem with Existing Tools
Like everyone else, I spent years bouncing between phpMyAdmin, MySQL Workbench, DBeaver, and whatever else was popular that quarter. They all had the same issues:
- Too heavy – Enterprise tools pack in features I’ll never use, eating RAM and taking forever to start.
- Poor UX – Clunky interfaces designed by committee, not for daily use.
- Vendor lock‑in – Optimized for a single database, awkward with others.
- Missing modern features – No AI assistance, no visual query builder, no MCP integration.
The real frustration came when I just wanted to quickly check production data or test a query. It shouldn’t require launching a 500 MB Electron app and waiting 30 seconds for it to connect.
What Tabularis Is
Tabularis is the daily‑use database client I’ve been waiting for.
- Built with Tauri (not Electron) – genuinely lightweight; the whole app is under 20 MB and starts in under a second.
- Native feel – because it is native.
Being lightweight doesn’t mean being limited. Here’s what actually matters:
Core Features
- SSH tunneling with automatic readiness detection – no more “is the tunnel up yet?” guessing games.
- Secure password storage in your system keychain, not a custom encrypted file.
- Clone connection profiles instead of manually recreating them.
UI Improvements
- Full tree view showing tables, views, stored procedures, functions, foreign keys, indexes – no hidden sub‑menus or separate windows.
- Right‑click context actions for common operations. Want to see the row count? One click, not three windows deep.
ER Diagram Generator
- Not a full‑blown diagramming tool – just an interactive schema view.
- Pan, zoom, and select specific tables.
- Great for debugging complex query joins by visually tracing relationships.
Visual Query Builder
- Most visual query builders are toys; they fall apart at the first
JOIN. - Tabularis handles real queries: multiple joins, aggregates,
WHEREclauses,HAVINGfilters. - Built with ReactFlow for drag‑and‑drop table connections.
- Generates proper
JOINsyntax, lets you add filters, aggregates, sorting, and watches the SQL update in real‑time. - Switch to the SQL editor without starting from scratch.
AI Integration
I didn’t want to force cloud AI on anyone—privacy matters—so Tabularis supports multiple AI providers:
| Provider Type | Examples |
|---|---|
| Cloud | OpenAI, Anthropic, OpenRouter |
| Local | Ollama |
| OpenAI‑compatible APIs | Groq, Perplexity, LocalAI, etc. |
AI features (straightforward and optional):
- Text‑to‑SQL generation – type “show me users who signed up last week” and get working SQL.
- Query explanation – paste a complex query and get a plain‑English description of what it does.
MCP Server Support
Tabularis includes a built‑in Model Context Protocol (MCP) server.
tabularis --mcp
- Your saved database connections become available to any MCP‑compatible AI agent (Claude Desktop, Cursor, custom tools).
- AI agents can query your databases directly—no screenshots or copy‑paste, just programmatic access.
Workflow example: I used Claude Desktop to analyze production data, generate reports, and debug queries—all without leaving the chat window. The AI inspected table structures, indexes, and execution patterns via MCP, suggested three optimization strategies, and I cut query time by 60 %. This workflow wasn’t possible with traditional tools.
Technical Stack
I started Tabularis about six months ago, mostly as a weekend project to scratch my own itch. The tech‑stack choices were deliberate:
| Component | Reason |
|---|---|
| Tauri v2 | Smaller bundle, better performance, native feel |
| React 19 + TypeScript | Familiar, fast development |
| Tailwind CSS v4 | Rapid UI iteration without CSS bloat |
| Rust backend with SQLx | Type‑safe queries, excellent performance |
The Rust backend handles all database operations through SQLx, which provides compile‑time verification of SQL queries—no more runtime surprises about typos in column names. SSH tunneling is performed with native Rust libraries rather than shelling out to external processes.
Multi‑Database Support
Supporting MySQL, PostgreSQL, and SQLite with a unified interface was a challenge:
- SQLx offers a database‑agnostic query builder, but each DB has quirks (
information_schemavs.pg_catalog, SQLite’s own system tables). - Solution: a trait‑based provider system in Rust. Each database implements a common
DatabaseProvidertrait that defines operations such asfetch_tables,execute_query, andget_foreign_keys. The frontend simply calls these trait methods, remaining oblivious to the underlying DB type.
Getting Started
Installation is intentionally simple:
# macOS (Homebrew)
brew tap debba/tabularis
brew install --cask tabularis
# Arch Linux (yay)
yay -S tabularis-bin
Or download the appropriate binary from the Releases page:
- Windows –
.exeinstaller - Linux – AppImage
- macOS –
.dmg
After installing:
- Launch Tabularis.
- Connect to your database.
- Start exploring.
The interface is designed to be obvious—if you’ve used any database tool before, you’ll figure it out in 30 seconds.
## Closing Thoughts
Tabularis is the middle ground I’ve been looking for: lightweight yet powerful, modern yet privacy‑respecting, and built for daily use. It brings together fast native performance, a rich UI, AI assistance, and MCP server capabilities—all without the bloat of traditional enterprise tools.
*All c* (the original content was truncated here).
Configuration
The configuration files are stored in ~/.config/tabularis/ (or the OS‑equivalent directory). They consist of plain JSON files, making them easy to back up or edit manually.
Contents
- connections – definitions for database connections
- saved queries – reusable query snippets
- themes – UI color schemes and styling
- settings – global application preferences
All files are plain JSON, so you can safely edit them with any text editor or version‑control system.
Current Status & Future Roadmap
Tabularis is fully functional today, but there’s more to build:
- Better PostgreSQL & SQLite support – MySQL is solid, but Postgres and SQLite need more love.
- Query history – Track and revisit past queries across sessions.
- Performance monitoring – Built‑in query profiling and execution‑plan visualization.
The code is on GitHub (https://github.com/your-repo/tabularis), licensed under Apache 2.0. It’s built by a developer, for developers. No telemetry, no accounts, no subscriptions—just a tool that works.
Try Tabularis
If you’re tired of database tools that feel like they’re fighting you instead of helping you, give Tabularis a try. It’s what I wish I had years ago.
Download: Download Tabularis
Source: GitHub Repository
Run the following command to enable MCP server mode and start connecting your databases to AI agents:
tabularis --mcp