I wanted a cleaner way to manage multiple Signal Desktop profiles on the same machine, so I built a small desktop manager for it.
The project is called **Signal Desktop Manager**.
https://github.com/cmnascimentor/signal-desktop-manager
It does not modify Signal, bypass anything, automate messages, or interact with the Signal protocol. It simply launches Signal Desktop with separate `--user-data-dir` profile directories, so each profile has its own local data, keys, settings, and linked-device state.
Main features:
- Create and manage multiple isolated Signal Desktop profiles
- Launch, stop, restart, and monitor each instance
- Track running status and PID
- Bulk launch/stop selected profiles
- Resource warnings before launching many instances
- Configurable stagger delay between launches
- Light/dark dashboard UI
- Local-only config storage
- Cross-platform target: Linux, Windows, and macOS
The goal is not to encourage abuse or mass automation. I mainly wanted a safer, cleaner UI around something people can already do manually from the command line.
The app supports up to 50 configured profiles, but realistically running that many Signal Desktop instances at once would be very heavy because Signal Desktop is Electron-based. The higher limit is mostly there so the manager does not become the limiting factor.
I would appreciate feedback on:
Whether the profile isolation approach looks correct
Any platform-specific issues I should watch for
Better UX ideas for managing multiple desktop profiles
Whether there are security/privacy concerns I should document more clearly
This is an early project, so code review and suggestions are very welcome.