badger-gui: A Cli Gui I Built for My Own Workflow
I’ve been using BadgerDB in several projects over the years. Its embedded design, performance characteristics, and seamless integration with Go make it a strong choice for service-level storage and state management.
But there was one recurring friction point. Inspecting the data.
Whenever I needed to quickly check what a key actually contained, explore a prefix, validate a JSON payload, or investigate something in production, I found myself writing small Go scripts:
- Open DB
- Start transaction
- Iterate keys
- Print values
- Close
Doing this once is fine. Doing it repeatedly becomes unnecessary overhead. At some point I realized this wasn’t a database problem — it was a tooling gap. That’s how badger-gui started.
Why I Built It
I didn’t want a heavy web dashboard. I didn’t want to introduce another service layer. I didn’t want abstraction over abstraction.
I wanted something:
- Lightweight
- Terminal-first
- Embedded
- Safe
- Fast
Something that speaks directly to Badger and stays out of the way. So I built it for myself. Over time, it became part of my daily workflow.
What is badger-gui?
badger-gui is a lightweight CLI GUI for inspecting and managing BadgerDB databases directly from the terminal.
It is:
- Written in Go
- Fully embedded (no external services required)
- Cross-platform (Linux, macOS, Windows)
- Designed for large keyspaces
It respects Badger’s transaction model and works directly with its iterator mechanisms.
What It Enables
With badger-gui, you can:
- Browse keys with instant filtering
- View values in
text,json,hex, andbase64formats - Edit values inline and save safely
- Delete keys by pattern
- Analyze key counts by prefix
Most importantly, it removes the need to constantly write temporary debugging scripts. It reduces friction. And in engineering, reducing friction compounds over time.
Why Open Source?
I built this tool for my own needs. But if you use Badger, there’s a high chance you’ve faced the same problem. Instead of keeping it internal, I decided to share it with the community. Small tools often have outsized impact — especially when they remove daily developer friction. BadgerDB is a powerful embedded engine. badger-gui is simply a practical terminal panel for it.
You can access the project here:
👉 https://github.com/savasayik/badger-gui
If you use Badger, give it a try. Feedback and contributions are welcome.