DEV Community

Cover image for Why I Built Yet Another SQL Client (And Made It Open Source)
Rohith Gilla
Rohith Gilla Subscriber

Posted on

Why I Built Yet Another SQL Client (And Made It Open Source)

There are dozens of SQL clients out there. pgAdmin, DBeaver, DataGrip, TablePlus, Postico, Beekeeper Studio... the list goes on. So why build another one?

Because I was frustrated. And sometimes frustration is the best motivation.

The Problem

Here's my typical workflow as a developer:

  1. Need to check something in the database
  2. Open SQL client
  3. Wait... and wait... (why is it loading plugins?)
  4. Navigate through 47 menu options to find the query window
  5. Write a simple SELECT * FROM users LIMIT 10
  6. Get results buried under toolbars, status bars, and panels I never use

Every. Single. Time.

I didn't need an enterprise-grade database administration tool. I needed something that:

  • Opens fast - Under 2 seconds, not 20
  • Gets out of my way - Query editor front and center
  • Supports multiple databases - I work with PostgreSQL, MySQL, and SQL Server
  • Has keyboard shortcuts - Cmd+Enter to run, Cmd+K to navigate
  • Looks decent - Dark mode that doesn't burn my eyes at 2 AM

The Existing Options

Tool Fast? Simple? Multi-DB? Price
pgAdmin Free
DBeaver Free
DataGrip $229/year
TablePlus $89
Postico $50

The pattern was clear:

  • Free tools = slow and bloated
  • Fast tools = paid (and sometimes still bloated)
  • Simple tools = single database only

I wanted all four: fast, simple, multi-database, and free (for personal use).

Enter data-peek

So I built it. A SQL client with a simple philosophy:

Simple over feature-rich. Keyboard-first. Fast to open and query.

Here's what it looks like:

┌─────────────────────────────────────────────────────────────┐
│ [Connection ▾]                              [Settings] [AI] │
├──────────────┬──────────────────────────────────────────────┤
│              │                                              │
│  Schemas     │   SELECT * FROM users                        │
│  └─ public   │   WHERE created_at > '2024-01-01'            │
│     └─ users │   ORDER BY id DESC                           │
│     └─ posts │   LIMIT 100;                                 │
│     └─ ...   │                                              │
│              │   [Cmd+Enter to execute]                     │
│              ├──────────────────────────────────────────────│
│              │   id │ name  │ email          │ created_at   │
│              │   ───┼───────┼────────────────┼────────────  │
│              │   42 │ Alice │ alice@test.com │ 2024-03-15   │
│              │   41 │ Bob   │ bob@test.com   │ 2024-03-14   │
│              │                                              │
└──────────────┴──────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

That's it. Schema browser on the left, query editor on top, results on bottom.

Core Features

What's In

  • Multi-tab query editor with Monaco (VS Code's editor engine)
  • PostgreSQL, MySQL, SQL Server support
  • Schema explorer with tables, views, columns, and stored procedures
  • Query history with execution time and row counts
  • Saved queries for frequently used SQL
  • Data export to CSV and JSON
  • Inline editing - Edit rows directly in the results table
  • ERD visualization - See your table relationships
  • AI assistant - Natural language to SQL (bring your own API key)
  • Dark mode - Because of course

What's Out (Intentionally)

  • Database administration tools
  • User management UI
  • Backup/restore wizards
  • 47 toolbar buttons
  • Plugin systems
  • Startup splash screens
  • Feature bloat

Why Open Source?

I could have kept this private or made it fully paid. But here's my thinking:

1. I Use Open Source Every Day

My entire career is built on open source. PostgreSQL, React, TypeScript, Node.js, Linux... I've benefited enormously from others' contributions. This is my way of giving back.

2. Trust Through Transparency

A database client has access to your credentials and data. Would you trust a closed-source app from a solo developer? I wouldn't. With open source, you can:

  • Audit the code
  • See exactly how credentials are stored
  • Verify no telemetry or data collection
  • Build from source if you're paranoid (respect)

3. Community Makes It Better

I've already received pull requests that fixed bugs I didn't know existed and added features I hadn't thought of. The community sees edge cases I never would.

4. Sustainable Business Model

data-peek is free for personal use. Commercial use requires a license. This lets:

  • Individual developers use it for free forever
  • Companies that get value from it contribute financially
  • Me to keep maintaining and improving it

It's the same model as many successful open source projects.

The Tech Stack (Preview)

I'll do a deep dive in the next post, but here's the overview:

  • Electron - Cross-platform desktop (macOS, Windows, Linux)
  • React 19 - UI with modern hooks and concurrent features
  • TypeScript - Strict mode, because runtime errors are my nemesis
  • Zustand - State management that doesn't make me cry
  • Monaco - The editor that powers VS Code
  • Tailwind CSS 4 - Styling without the CSS file chaos

What's Next?

This is the first post in a series where I'll share:

  1. The tech stack decisions and why I made them
  2. The database adapter pattern for multi-DB support
  3. Adding AI without vendor lock-in
  4. Building the ERD visualizer with collision detection
  5. Parsing SQL across dialects (harder than you'd think)

Try It Out

data-peek is available now:

If you try it, I'd love to hear your feedback. Open an issue, start a discussion, or just star the repo if you think it's useful.

And if you're frustrated with your current SQL client too... maybe it's time to peek at something simpler.


Next up: The Tech Stack Behind data-peek: Modern Desktop Development in 2025

Top comments (0)