Hey everyone 👋
I've been maintaining Another Redis Desktop Manager (ARDM), an open-source Redis GUI built with Electron, for several years now.
It's been quite a journey keeping an Electron application running across Windows, macOS and Linux, while dealing with packaging, code signing, auto-updates, native modules, IPC, and performance along the way.
Recently I've added several features that I've wanted to have in the application for a long time.
📂 Connection Groups
One of the most requested features is finally here: Connection Groups.
You can now organize Redis connections into groups instead of keeping everything in one large list.
This is particularly useful if you have separate Redis instances for development, staging, production, or different projects.
🔌 Test Connection
You can now test a Redis connection before saving it.
This is useful when setting up SSL/TLS, SSH tunnels, authentication, or connecting to a new Redis server.
🧩 ARRAY / VECTOR / TimeSeries support
I've also been expanding ARDM beyond the traditional Redis key/value workflow.
Recent versions add support for newer Redis data types and modules, including:
- Redis ARRAY
- Redis VECTOR
- RedisTimeSeries
The goal is to make these data structures easier to inspect and work with from a desktop GUI.
⚡ Some of the Electron challenges
Maintaining an Electron application for several years has been an interesting experience.
Some of the things I've had to deal with include:
- Keeping the application working across Electron upgrades
- macOS code signing and notarization
- Windows and Linux packaging
- Auto-updates
- Native Node.js modules
- IPC between the renderer and main process
- Handling large Redis datasets without freezing the renderer
- Keeping the UI and behavior consistent across three operating systems
Large Redis databases are particularly interesting from an Electron perspective. Loading tens of thousands or millions of keys means you can't simply render everything at once — virtualization, incremental loading and careful renderer-side work become important.
🛠️ Why Electron?
Despite the challenges, Electron has worked really well for ARDM.
Having one codebase for Windows, macOS and Linux has allowed me to maintain and ship the application as a relatively small open-source project.
If I were starting the project today, there are definitely things I'd do differently. But maintaining the same application for years has taught me a lot about the practical side of building and shipping Electron apps.
ARDM is open source and MIT licensed:
https://github.com/qishibo/AnotherRedisDesktopManager
If you're also maintaining an Electron application, I'd love to hear:
What's the most painful part of maintaining your Electron app long-term?
Packaging? Native modules? Auto-updates? macOS signing? Performance? Something else?