Some background
Back in 2010 I wrote about a project I'd already called "very outdated" — a little web-based SQL runner I built in 2005 because I was tired of juggling database clients for every engine my company touched. I said then: "there is no more development."
That was true for sixteen more years.
The old JWebDBAdmin never actually died, though. It kept quietly running in production the entire time. I still used it weekly. I just stopped touching the code — except for the occasional patch nobody wrote a blog post about, like swapping the login screen from a plain username/password form to Google sign-in, back when that became the sane thing to do instead of storing another password nobody would rotate.
This year I finally reinvented it. Not a patch this time — a full rewrite, from a blank editor, but built on top of two decades of "I should really fix that" notes I never had time to act on in 2005. Everything got a second chance to be done right.
Why bother, 21 years later?
Honestly — because I could finally build the version I wanted in 2005 but didn't have time for. And because AI coding assistants make "let me just rewrite this properly" a weekend project instead of a quarter.
I also gave myself one hard rule this time: zero dependencies. No Maven, no Spring, no npm, no CSS framework, no JS library. Just plain Java servlets and plain HTML/CSS/JS. Partly discipline, partly spite toward every project I've inherited that needed forty transitive dependencies to render a table.
What's actually new
- SQL autocomplete that knows your schema. Not just keywords — it knows your tables, your columns, and resolves aliases. Type a. after ... FROM agents a and it lists agents' columns. Type Sele and hit tab, it hands you SELECT * FROM [table] WHERE with your cursor already in the right slot.
- Edit results in place. Double-click a cell in a single-table SELECT with a primary key, change the value, hit Enter. No separate "edit mode."
- Favorites your non-technical coworkers can actually use. Save a query with {{param}} placeholders and they render as input boxes. Nobody has to know what a WHERE clause is.
- An AI assistant that's actually useful, not a gimmick. Point it at any OpenAI-compatible endpoint — including a local Ollama, so your schema and data never leave your network. It knows your table structure, your indexes, your current query. Ask it a question in plain English and read-only queries just run; anything that changes data comes back as a suggestion you review and send to the editor yourself. It never executes a write on its own. And when a query fails, it looks at the error and offers a fix without you having to ask.
- A destructive-query guard that's actually enforced server-side — DELETE/DROP/TRUNCATE are off by default, and turning them on is a config change, not a UI toggle someone can click by accident.
- Login through Google, no passwords at all. Nothing to store, nothing to leak, nothing for someone to reuse from another breach. You're pre-registered by email and that's the whole account system.
- Dark mode that follows your OS, because I got tired of every "dark theme" secretly being navy blue.
- Still a one-file drop-in deploy. Same database schema as always — your existing users, favorites, and history just work. If you're one of the three people who used the original: nothing to migrate.
Try it
Source, MIT licensed: github.com/peprasetya/jWebDBAdmin
First release, tagged and ready to drop into Tomcat: v20260720 release
The original 2005 project stays up on SourceForge as an archive — this is where it actually lives now.
If you've got a Tomcat instance lying around and five spare minutes, it's a two-file deploy: drop in the WAR, drop in a properties file. Would genuinely like to know if it's useful to anyone besides me — that's most of the point of putting it on GitHub this time instead of leaving it running quietly for another 21 years.