Case Study — Secure Communications Platform
A self-hosted Matrix messaging server, Jitsi video conferencing, and a Flutter mobile app — all running on private Australian VPS infrastructure. No Zoom account, no Slack subscription, no message history sitting in someone else's US data centre.
Overview
Zoom is fine until it is not fine. At some point you wonder where the recordings go, whether the chat logs are retained by Zoom for their own purposes, and whether "HIPAA-compliant" on a US platform means the same thing it would mean on Australian infrastructure. Those questions come up more for health workers, legal services, and community organisations than most vendors admit.
M8Chat is the answer we built for ourselves and for community use. It runs on the Matrix protocol — open, federated, end-to-end encrypted — on our own homeserver infrastructure in Australia. Video conferencing runs on a separate dedicated VPS. The mobile and web app is our own Flutter Matrix client, deployed as a PWA at app.m8chat.au and available as an APK for Android.
The entire stack is open source. If M8Chat shut down tomorrow, every user could take their conversation history and move to any other Matrix server. The data belongs to the users, not the platform.
"Matrix is a genuinely decentralised protocol. Your chat history is not locked to M8Chat the way it is locked to WhatsApp or Slack. That is the design, not a marketing claim."
Infrastructure
Three separate servers. Each one doing one thing. Chat and video on dedicated VPS instances keeps them from competing for resources, and means a Jitsi call dropping does not affect the chat server.
Our Matrix homeserver handles all protocol operations: room management, message storage, federation with the broader Matrix network, and push notifications. Containerised, with a robust database backend. This is the core of the platform.
A full video conferencing stack on a dedicated VPS, with media bridging, conference management, and session recording. Separate from the chat server so a heavy video call does not affect message delivery.
The WordPress landing page and the Flutter PWA run on the Brisbane shared server alongside the rest of the HELP4BIS portfolio. The app connects to the Matrix homeserver via the standard Matrix client API.
A staging and alternate deployment of the Flutter app. Used for testing new builds before they go to the main app subdomain. Also serves as a fallback endpoint during major app updates.
Mobile App
The M8Chat app is our own Flutter Matrix client, built specifically for the platform. We control the full codebase — branding, features, release schedule, and what data the app collects (which is nothing beyond what the Matrix protocol requires).
The app is available three ways: as a Flutter PWA at app.m8chat.au (works in any modern browser, can be added to home screen on Android and iOS), as a direct APK download for Android (sideload, no Google Play required), and via the Google Play store.
Core features: text messaging, file sharing, voice messages, end-to-end encrypted rooms, communities, and one-tap video call launch. Video calls open in our conferencing infrastructure without leaving the app.
PWA at app.m8chat.au, APK sideload, and Google Play. Users can pick the delivery method that suits their situation. Enterprise users who cannot install from the Play Store can use the APK or the browser app.
One tap from a Matrix room starts a video call at conf.m8chat.au. The conference runs on private infrastructure. There is no Zoom account required and no third-party call relay involved.
We own the app code. New features get added when they make sense for our users, not on someone else's roadmap. Security patches are applied quickly because there is no external upstream to wait on.
Why Matrix
Matrix is an open communication protocol, not a product. The spec is publicly documented, multiple open server implementations exist, and any Matrix client can connect to any Matrix server. There is no vendor lock-in at the protocol level.
Federation means M8Chat users can communicate with users on any other Matrix server in the world — matrix.org, any company's self-hosted instance, the Australian government's matrix deployment — without those users needing an M8Chat account. It works the same way email does: you do not need a Gmail account to email someone at Gmail.
End-to-end encryption is available for private rooms and direct messages. Keys are stored on the user's devices. The server operator — including us — cannot read encrypted messages. That is the whole point.
M8Chat users can join rooms on other Matrix servers, communicate with users on matrix.org, and participate in the broader decentralised network. This is not a walled garden.
Private rooms and direct messages support end-to-end encryption using the Olm and Megolm cryptographic protocols. Messages are encrypted on the sender's device and decrypted on the receiver's. The server stores ciphertext, not plaintext.
Running a Matrix homeserver is not trivial. The server is resource-hungry, federation can create unexpected load from large public rooms, and the database grows faster than most people expect because Matrix stores the full event graph of every room. We monitor the server load, prune old data on a schedule, and have had to tune the configuration several times since initial deployment. It is more like running a mail server than running a WordPress site. Anyone considering self-hosted Matrix should factor in that operational overhead, not just the initial setup cost.
Technical Details
Who Is It For
This is not for everyone. Most small businesses do not need to self-host their communications. But for some situations, the data sovereignty argument is real.
GPs, psychologists, allied health workers who communicate patient information via messaging and want that data to stay in Australia on infrastructure they control rather than on US servers under US law.
Firms with client confidentiality obligations who need to demonstrate where communications are stored and under whose jurisdiction. Australian-hosted messaging with documented retention policies.
Councils, volunteer emergency services, community groups who want member communications on infrastructure they control rather than dependent on Facebook Groups or WhatsApp staying free and functional.
Teams who have outgrown free Slack tiers and want a permanent self-hosted alternative. The Slack pricing cliff at the free tier limit makes Matrix a genuinely cost-effective option for five-to-thirty person teams.
Research groups handling sensitive data, pre-publication material, or material subject to research ethics approvals who need documented chain of custody for communications.
M8Chat runs as a community service for individuals and small groups who simply want a free, private, Australian alternative to WhatsApp or Telegram. No surveillance capitalism, no ads, no algorithm deciding what you see.
We can deploy, configure, and maintain a Matrix homeserver for your organisation on Australian infrastructure. The operational complexity is handled by us. You get the sovereignty.