I built an orbital graph as an alternative navigation for my open-source messenger

Most messengers display conversations as a static list. I wanted to try something different.
In ONYX v1.5-beta I added Account Graph — an alternative navigation mode where your chats, groups and categories become nodes in a dynamic orbital system centered around your account.
The idea came from Obsidian’s graph view. I adapted the concept for a messenger context.
Honestly, when I started building it I was pretty sure it would end up useless. Just a visual gimmick. But somewhere during development that changed. When you have a lot of chats across multiple categories, the graph gives you a better spatial sense of where everything is. You navigate by structure rather than scrolling through a flat list.
How it works:
- chats, groups and categories are displayed as connected orbiting nodes
- online users are highlighted via presence glow
- orbit speed is adjustable
- animations can be paused entirely
- graph position persists between sessions
The entire thing is optional and can be disabled at any time.
GitHub: https://github.com/wardcore-dev/onyx/releases/tag/v1.5-beta
Feedback is welcome!

Proof
Lists Claude as contributor
The fact that OP only ever posts or comments about this software bothers me a lot more than them using AI (which is usually a bad sign, but if they know what they are doing, it is possible that they used AI in a sensible way. I have not looked at the code though)
100%. They have no idea how their app works, which is especially disturbing when they are pitching it as secure…
I always love seeing “quirky” innovations
I say quirky as in “there’s already an established way of doing it that everyone is using, but I’m gonna build my own totally different thing”, similar to how Linus created Git because the established way was not good enough for his taste. Who knows, graph-based UIs for chats might be the next big thing !
Sadly, the network effect makes it hard to have people adopt a new messenger (I can’t even get relatives to move to Signal…). I wish Matrix wasn’t such a pain to make clients for. If your graph UI was able to show me all my conversations across all my matrix rooms and bridges, I’d be using it for sure
What’s the difference between “groups” and "channels?
Groups are multi-member chats where everyone can send messages. Channels are one-way — only admins post, members just read.


