Hexis's core philosophy
The origin and philosophy of Hexis as a project.
By Jay
Why make Hexis?
When I started working on this project six months ago, I never thought I would get as far as I have. Part of me figured that there was some engineering or fiscal reason why Discord doesn't just do what Hexis sets out to do. Now I realize that it's possible; it just requires an immense amount of effort and only really makes sense for a small group of people.
This project started when everyone on the internet was looking for an alternative to Discord after they announced age verification for accounts. After watching the Gamers Nexus video on alternatives and trying those and other options, it was clear that there was no true all-in-one commercial platform that was really competing with Discord. There really isn't even anyone attempting to innovate past what they have already done.
Discord gets a lot of things right, especially things that no one gives them credit for. They have a very intuitive UI, and the servers/channels system makes a lot of sense for the vast majority of what a community messaging app would need. This really did revolutionize the ability to easily separate conversations and access for groups of people, and it popularized the drop-in/drop-out voice chat model. The engineering they have done to keep a platform filled with mostly free users at 99.9% uptime is truly incredible. All this, coupled with the fact that servers are infinitely customizable and can fit practically any messaging use case, made a lot of people fall in love with the platform. Myself included. I have used Discord for 10 years now and have seen it become the titan that it is.
Like any power user, though, you do notice all the things wrong with the platform over time. For me, as an esports player, it was latency on voice chat and frame drops in my games. Discord is a platform for gaming, so this seems a little odd, but once you understand that the app is built on Electron (which is just a Chromium browser instance), you understand that they are limited by the technology they chose to use. Memory usage sits at ~1 GB idle and more than 2 GB when streaming or viewing a stream (or both). This, combined with micro-stutters in basically every game when I have hardware acceleration on, is very annoying, considering that I have very good hardware. If you're on low-end hardware, this alone probably kills the experience of streaming to your friends.
Another big issue Discord deals with is allowing minors on the app and, until recently, not restricting their accounts by default or limiting messages from strangers. It is generally my opinion that it's up to parents' discretion to allow their children to use messaging or social media platforms, but there is some level of responsibility on platforms to have clear controls on child accounts and parental oversight. Discord has just not hit the mark on this, prioritizing growth over safety. Hexis is 18+, because I would rather keep kids off the platform entirely than do it badly.
Discord has also reportedly filed for an IPO, and that should signal to you that they are actively looking for ways to make more money off a product where the vast majority of users are free. If you are not paying for the product, you are the product. This, along with the fact that all text messaging on their platform is readable plaintext to them, sitting on their servers exactly as you typed it, where nothing but a privacy policy stops them from data mining or selling it, makes me a little worried.
There are solutions to these problems, though, and they're what I'm trying to build with Hexis.
What motivated Hexis's model and who it's really for
There are many people now making apps that attempt to replicate the Discord experience, especially open-source and self-hostable ones (shoutout to Stoat and Fluxer). Although I think those efforts are super cool, they don't attempt to innovate over Discord, and I think for an app to succeed as a Discord competitor, it has to be a commercial effort and have a central data provider model. As cool as the concept of self-hosting is, very few people will actually end up doing it, for a number of reasons. Being a mini datacenter provider for your friends seems fun until you have a network outage or a disk crash, or don't understand the network security risks. A better model is end-to-end encryption that you can turn on for a server when you create it, and that is always on for direct messages and group chats. Public servers aren't encrypted, just like Discord's, which is what lets them get big and show up in Discover. Encrypted servers and DMs are a different story: I can't read them, even if I wanted to. Privacy features are a nice-to-have for most users; it won't turn off a lot of people if a platform doesn't have them, but it's easier to trust a platform if it does. There can still be a central identity and data provider, but knowing I can't read your encrypted messages makes it an easier sell than self-hosting.
Discord reports over 200 million monthly active users. My ballpark estimate is that 95% of Discord's users are free users who only need basic messaging to keep up with 2–3 friend groups and use voice/video/screen sharing rarely, maybe once a week. Infrastructure for these users is cheap, but you still lose money on them, since they will never pay for a product like Discord. For the remaining 5% of terminally online users like me, the features we truly care about are privacy, latency, performance, and an app that does exactly what you want and never annoys you with ads or marketing, or sells your data.
That's who this project is really for: people who just want to hop on Valorant, lose 0 frames to their voice chat client, have best-in-class audio latency and automation features, and are willing to spend a small amount to get that.
Engineering fundamentals
The core idea for Hexis goes well beyond marketing — it's deeply tied to the engineering I have done for the platform. The entire architecture of the system is designed to be as low-cost as possible. I worked out how to reduce costs and maintain high quality for every feature that I have developed. Clients need to be light? Every client is native to its platform: desktop gets pure Rust, iOS gets Swift and Android gets Kotlin (with Rust FFI bridges to keep core functionality fast). That means no browser engine riding along, which is what was eating my memory and causing stutters with Discord. Voice latency matters? Hexis Clutch channels trade a little audio quality to cut roughly half of the delay the app itself adds, so callouts land about 40 ms sooner. Need to make sure users don't have to pay for ingress/egress fees? Run the whole backend stack on multi-region dedicated servers, connected by a private network backbone, with dedicated network pipes at a fixed cost. GIF API licensing is expensive? Roll my own GIF hosting service. For basically every part of the system, I have attempted to do the hard thing and innovate over existing solutions. All of this has been in an effort to make the user experience as buttery, snappy, low-latency and, most of all, low-cost as possible. The effort shows in keeping the core subscription price as low as possible at launch, targeting $12/year (which works out to $1/month).
I fundamentally believe in bootstrapping as a concept, so all of the funding has come from me. That means there are no investors to answer to and no IPO to chase, so no one is pushing me to add ads, sell data or squeeze more money out of users. The only way Hexis makes money is if people decide it's worth paying for, and the only way it survives at $12/year is if it stays cheap to run. Keeping it cheap is also what lets me offer a free tier without turning free users into the product. A free account costs me very little, and the people paying cover it, not ads and not your data. So it's in my own interest to build a great product at the lowest cost possible, because that's the only thing keeping the lights on. If you are paying for the product, you are the customer.
— Jay