← Back to blog
Tanguy 6 min read 1 view

Why We Built SQLAgent

The best databases of 2026 have the worst tooling. We built SQLAgent because someone had to.

TL;DR

The gap MySQL has Sequel Pro, TablePlus, DataGrip. PostgreSQL is catching up. SQLite and Cloudflare D1? Almost nothing.
SQLAgent A native macOS client for D1, SQLite, MySQL, and PostgreSQL. 50MB, instant launch, built-in AI Agent.
Why macOS only 100% focus on one OS = native performance, macOS integrations, Apple-quality UX. No Electron compromises.

MySQL Had It Good. Too Good.

If you work with MySQL, you're spoiled. TablePlus, Sequel Pro, DataGrip, MySQL Workbench, DBeaver — decades of polished desktop clients. You click a table, you see your data. You run a query, you get a sortable grid. You edit a cell, it updates. Simple.

But here’s the thing: MySQL usage has been declining for years. The industry is moving toward PostgreSQL for web applications and SQLite for everything else. The databases getting more popular are the ones with the worst tooling.

20 Years of PHP/MySQL — And Then the Stack Changed

I’m Tanguy (pronounced tahn-GEE — it’s French). I spent twenty years in the PHP/MySQL stack. And for all that time, one tool was king: Adminer. A single PHP file, drop it on your server, open it in a browser — instant database client. No installation, no dependencies, no configuration. It was brilliant. For the PHP world, nothing came close.

But Adminer started to slow down. Development got quiet. PHP compatibility issues appeared — new PHP versions broke things, and fixes took months. Forks like AdminerEvo emerged to patch the gaps, but activity there was sporadic too. The project that had been the backbone of MySQL management for a generation was fading.

And then my own stack changed. New projects weren’t PHP anymore. They were SvelteKit, Node.js, Vite — sometimes with a Python backend. There was no Apache, no PHP runtime, no reason to spin up a PHP server just to browse a database. Adminer’s core dependency — PHP itself — was no longer part of my workflow.

i

This is the shift many developers are going through right now. You don’t need a PHP-dependent database tool when your stack is JavaScript/TypeScript end to end. You need a client that stands on its own — no server, no runtime, no dependencies.

So I needed a new database client. One that didn’t depend on PHP. One that worked with SQLite, PostgreSQL, and this new thing called Cloudflare D1. That search — and the frustration of finding nothing good — is what led to SQLAgent.

PostgreSQL Is Catching Up — Slowly

PostgreSQL is now the most popular database among developers. And the client ecosystem is growing: TablePlus added PostgreSQL support, pgAdmin exists (if you can tolerate it), and DataGrip handles it well. But most PostgreSQL GUI tools are either cross-platform JVM apps that feel sluggish, or Electron wrappers that eat 500MB of RAM.

If you need help choosing between PostgreSQL and SQLite, we wrote a detailed comparison with benchmarks.

SQLite Has Almost Nothing

SQLite is the most deployed database in the world — and it has almost no good desktop clients. Here’s what exists:

  • DB Browser for SQLite — open-source, functional, but dated UI and no macOS-native feel
  • TablePlus — supports SQLite, but it’s a general-purpose tool that doesn’t prioritize it
  • SQLiteStudio — open-source, cross-platform, feels like a 2010 desktop app
  • DataGrip — works, but costs $229/year and is a JVM app
  • Adminer — web-based, and intentionally refuses to open SQLite files for security reasons

That’s it. The most deployed database engine on the planet, and your best desktop option is an open-source project that hasn’t been redesigned since the Obama administration.

!

SQLite is powerful enough for most web applications. It handles blogs, e-commerce, SaaS dashboards, and APIs without breaking a sweat. The problem was never the database — it was the tooling.

Then Came D1 — With Nothing at All

Cloudflare D1 is SQLite distributed globally on Cloudflare’s edge network. It’s a genuinely new kind of database — serverless, globally replicated, with a generous free tier. And when it launched, the only way to interact with it was:

wrangler d1 execute my-database --command "SELECT * FROM users LIMIT 10"

That’s it. A command-line tool. In 2026. For a database that’s supposed to power the next generation of web applications.

The Cloudflare dashboard has a D1 section, but it’s minimal: a basic query box, a list of tables, raw output. No sortable grid. No inline editing. No schema visualization. No query history. No export. And traditional database clients like TablePlus or DBeaver? They can’t connect to D1 at all — it uses a REST API, not a database protocol. See our detailed comparison.

This was the moment. A breakthrough database with zero visual tooling. Someone had to build the client it deserved.

So We Built SQLAgent — Native macOS, No Compromises

We didn’t build a cross-platform Electron app. We didn’t wrap a web view. We built a native macOS application in pure SwiftUI — and that decision changed everything.

Why macOS only?

Because focusing on one platform means doing it right. No compromises for the lowest common denominator. Here’s what that gives us:

  • 50MB binary, instant launch. No JVM startup, no Electron loading screen. Click the icon, you’re in.
  • Native macOS integrations. Menu bar access, keyboard shortcuts that work like every other Mac app, drag-and-drop, system notifications, Spotlight integration.
  • Apple-quality design. SwiftUI gives us the same look and feel as Xcode, Finder, and every first-party Apple app. It doesn’t feel like a foreign app running on your Mac — it feels like it belongs.
  • Native database protocols. The MySQL and PostgreSQL connectors use macOS’s native networking stack — no ODBC, no JDBC, no external drivers. The result: query execution is as fast as the network allows.
  • Code-signed and notarized. The app includes our Developer ID, verified by Apple. You know exactly who built it, and macOS Gatekeeper confirms it hasn’t been tampered with. That’s a level of trust that web apps and Electron wrappers simply can’t offer.

Read more about why we chose macOS-only.

;)

Not supporting other OSes means 100% focus. Every feature we ship is tested on one platform, optimized for one rendering engine, and designed for one set of UX conventions. The result is an app that feels like it was made for you, not for everyone.

AI at the Core — Not an Afterthought

We’re building SQLAgent in the age of AI. That’s not a buzzword — it’s a design principle. Every database client should have an AI agent in 2026. Here’s what ours does:

  • Text to SQL. Describe what you want in plain English: “Show me all users who signed up this month but never placed an order.” The AI Agent reads your full schema and writes a correct, runnable query. No SQL expertise required.
  • Database optimization. “Suggest indexes for my orders table.” “Why is this query slow?” The AI Agent analyzes your schema and query patterns, then gives actionable recommendations.
  • Insight discovery. “What patterns do you see in my sales data?” The AI surfaces anomalies, trends, and relationships you’d never think to query manually. This is the part that feels like magic — the AI finds things you didn’t know you were looking for.
  • Safe by design. The AI Agent will never run a destructive query without confirmation. It explains what each query does before you execute it. Your data stays in your database — only the schema and your question are sent to the AI provider.

It works with Anthropic, OpenAI, xAI, Ollama (local, free, fully private), and OpenRouter. Bring your own API key. See the AI Agent in action.

Four Engines, One Interface

We didn’t build a D1-only client. We built the client we wished we had for all our databases:

EngineConnectionWhy it’s here
Cloudflare D1REST APIThe reason SQLAgent exists. No other desktop client supports D1.
SQLiteLocal fileSame SQL dialect as D1. Open any .db, .sqlite, or .sqlite3 file.
PostgreSQLNative protocolThe most popular database for web apps. Native macOS networking — no JDBC.
MySQLNative protocolStill powers millions of apps. Native wire protocol implementation in Swift.

Same sidebar. Same query editor. Same data grid. Same AI Agent. Same keyboard shortcuts. Switch between a D1 database and a local PostgreSQL instance in one click.

Try It

SQLAgent is free to download. The free tier includes full D1, MySQL, PostgreSQL, and SQLite support, the SQL editor, table browser, query history, import/export, and basic AI queries.

Pro is a one-time purchase — not a subscription — and unlocks unlimited AI queries, the analytics dashboard, SSL/TLS with client certificates, and SSH tunnels.

Download SQLAgent and connect to your first database in 30 seconds.

No account required to start. Download, open, connect. The app works offline for SQLite and doesn’t phone home. Your data is yours.

Related: Why SQLAgent Is Mac-Only · AI SQL in SQLAgent · SQLAgent vs Cloudflare Dashboard · D1 vs MySQL vs PostgreSQL · SQLite Can Handle Your Website