Building Tabularis: A Developer's Database Tool That Doesn't Suck

Published: (February 9, 2026 at 04:56 AM EST)
6 min read
Source: Dev.to

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, WHERE clauses, HAVING filters.
  • Built with ReactFlow for drag‑and‑drop table connections.
  • Generates proper JOIN syntax, 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 TypeExamples
CloudOpenAI, Anthropic, OpenRouter
LocalOllama
OpenAI‑compatible APIsGroq, 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:

ComponentReason
Tauri v2Smaller bundle, better performance, native feel
React 19 + TypeScriptFamiliar, fast development
Tailwind CSS v4Rapid UI iteration without CSS bloat
Rust backend with SQLxType‑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_schema vs. pg_catalog, SQLite’s own system tables).
  • Solution: a trait‑based provider system in Rust. Each database implements a common DatabaseProvider trait that defines operations such as fetch_tables, execute_query, and get_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.exe installer
  • Linux – AppImage
  • macOS.dmg

After installing:

  1. Launch Tabularis.
  2. Connect to your database.
  3. 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
0 views
Back to Blog

Related posts

Read more »