I've been working with databases for years. PostgreSQL mostly, some MySQL, recently SQLite for smaller projects. And every single time I needed to look at data, I went through the same pain.
pgAdmin looks like it was designed in 2003 and never updated. DBeaver takes 30 seconds to start because it's built on Eclipse. DataGrip is great but costs $229/year and I don't need a full IDE just to check a table. TablePlus is nice but desktop-only, and $89 per device adds up fast.
I just wanted something that opens instantly, looks clean, works in my browser, and doesn't send my data to someone else's server. That's it. That's the whole requirement.
So I built it.
What QueryGlow actually does
It's a web-based database GUI you host yourself. You deploy it with Docker, point it at your databases, and access it from any browser. Phone, laptop, tablet, whatever.
It supports PostgreSQL, MySQL, MariaDB, SQLite, CockroachDB and TimescaleDB. One interface for all of them.
The features that matter to me:
Safe Mode. This was actually the first thing I built. If you've ever accidentally run DELETE FROM users without a WHERE clause at 2am, you know why. Safe Mode blocks destructive operations by default. DROP TABLE, TRUNCATE, DELETE without WHERE, all blocked unless you explicitly turn it off. For production databases this is non-negotiable.
SSH Tunnels built in. No more opening terminal, running ssh -L 5432:localhost:5432 user@server, then connecting pgAdmin to localhost. You paste your SSH key, QueryGlow handles the tunnel. It sounds simple but it saves me 5 minutes every single time I connect to a remote database.
AI SQL Generation. Bring your own API key (OpenAI, Claude, or Gemini). Ask it "show me users who signed up last month grouped by country" and it generates the correct SQL for whatever database you're connected to. It only sees your schema, never your actual data.
EXPLAIN Visualizer. This is the feature I'm most proud of. Run any query and see the execution plan as a visual tree. It highlights sequential scans on large tables, disk sorts, wrong row estimates. I built this because reading raw EXPLAIN output in a terminal is pain. Supports all 6 databases with dialect-specific options.
Monaco Editor. Same editor engine as VS Code. Autocomplete for table names, column names, SQL keywords. Syntax highlighting. It feels like writing code, not fighting a textarea.
CSV Import. Not just "upload and pray". It auto-detects delimiters, lets you map columns, validates everything before committing. Three strategies: INSERT (safe, skip duplicates), UPSERT (update existing), REPLACE (nuke and reload). Shows you exactly what will happen before it happens.
The tech
Next.js, TypeScript, Tailwind. Monaco Editor for the query interface. Node.js pg, mysql2, and better-sqlite3 drivers. All credentials encrypted with AES-256-GCM at rest. Zero telemetry, zero tracking, zero phone-home.
Docker deployment takes about 2 minutes. docker compose up and you're done. There's also a deploy script that handles nginx, SSL, and everything else for you.
Why self-hosted
I work with client databases. Production databases. Databases with real user data in them. There is zero chance I'm routing that through a SaaS provider's servers.
Self-hosted means:
- Your data stays on your infrastructure
- No vendor lock-in
- GDPR compliance without reading 40 pages of DPA
- Works on any VPS (I use Hetzner, works just as well on DigitalOcean or AWS)
The business side (since this is dev.to and people are curious)
I'm a solo developer. Studied aerospace engineering, dropped out, went back, finished it, worked corporate for a bit, hated it, now I build products from a camper van in Europe.
QueryGlow is $79 once. Lifetime access, all updates, unlimited users. No subscription. I chose this model because I personally hate paying monthly for tools I use every day. The tool doesn't get worse over time, so why should you keep paying?
I launched in December 2025. Got 2nd place on Uneed. First sales came in the first week. I've since published 13 blog articles focused on SEO, comparisons, guides, setup tutorials. 10 out of 13 are ranking in Google. The site gets about 12,000 impressions per month now.
The honest truth: distribution is the hard part. Building the product was the easier half. Getting people to find it, that's where I spend most of my time now.
What I learned building this
Safe Mode should be the default everywhere. The number of horror stories about accidental DELETEs and DROPs is insane. Every database tool should block destructive operations by default. It takes one toggle to turn it off when you actually need it.
Nobody needs 200 features in a database GUI. pgAdmin has feature menus nested 5 levels deep. Most people open a database tool to do 4 things: browse data, write a query, export results, check performance. Everything else is noise.
Self-hosted doesn't mean hard to deploy. The stigma that self-hosted = complicated is outdated. If you can run docker compose up, you can deploy QueryGlow. I spent a lot of time making the setup experience smooth because I know the second someone hits a config issue, they bounce.
AI in developer tools works when it's optional. The AI SQL generation in QueryGlow is useful maybe 30% of the time. Complex joins, window functions, that kind of stuff. But it's completely optional. No AI key? Everything else still works. I hate tools that force AI into every interaction.
Try it
There's a live demo on queryglow.com if you want to see it before buying anything.
If you're tired of pgAdmin's UI, DBeaver's startup time, or DataGrip's subscription model, maybe this is what you've been looking for.
I'm Max, you can find me on X/Twitter. Happy to answer questions in the comments.




Top comments (0)