Free applications, we built for ourselves and give away

Every tool here started as something our own team needed. We built it, kept it small enough to trust, and released it under a permissive licence rather than keeping it for ourselves. No account, no seat fee, no catch. Run it yourself, read the code, change what you do not like.

Why we give tools away

Free is the licence, not a lower bar

We build these because we need them ourselves, not as a lead-generation funnel. Once a tool is solving a real problem for our own team, holding it back would only be worth the trouble if we depended on the licence fee, and we do not. So it ships under a permissive licence instead, Apache-2.0 on IntelliStream Chat, and it stays that way. A licence like that cannot be quietly narrowed in a later release, which is the opposite of what tends to happen to software that starts out free.

It is the same reasoning behind our own data platform's stance on sovereign infrastructure. Software you depend on should run on hardware you control, under a licence nobody can revoke.

Self-hosted Slack, Mattermost and Microsoft Teams alternative

IntelliStream Chat team chat you actually own

A self-hosted alternative to Slack, Mattermost and Microsoft Teams. Channels, threads, direct messages, full-text search, polls, and one-to-one voice and video calls, on one JVM process, one Postgres database, one systemd unit to restart when you update it. Built on Java 25, Spring Boot 4, PostgreSQL 18, Keycloak and an embedded Apache Lucene index, so there is no message broker, no search cluster and no second service to keep alive.

A look inside

See it before you install it

Eight screens from the running application: channels, threads, search, calls and the admin console, all from the project's own screenshot set.

  • Every room you are in, one list
    Every room you are in, one list The channel you are reading sits next to a Markdown message, a code block and a poll, with the composer waiting below. Favourites pin to the top, so the rooms you actually use do not scroll away.
  • Threads that do not bury the conversation
    Threads that do not bury the conversation A reply opens in a panel beside the channel instead of interrupting it, so the discussion and the thread both stay readable at once. Shown in Midnight, one of twenty built-in themes, five of them dark.
  • Search that reaches further than your own channels
    Search that reaches further than your own channels A results page with counts and paging, not a dropdown that guesses. It searches every channel you are allowed to read, not only the ones you joined, and matches file names as well as message text. from:@bob finds what someone wrote, @bob finds where they were mentioned.
  • Polls built in a dialog or typed as a command
    Polls built in a dialog or typed as a command Ask a question, add options, and post it, or skip the dialog entirely with a slash command if that is faster. Shown in Dusk, another of the built-in themes.
  • Calls that never touch the chat server
    Calls that never touch the chat server Voice and video in any direct message, with the media routed peer to peer through your own TURN relay. The chat server never sees the call, and neither side learns the other's IP address.
  • Channels you can rename, archive or hand off
    Channels you can rename, archive or hand off Rename a channel, edit what it is for, archive it once the project ends, or leave it. Archiving is reversible, so closing out old work does not mean losing it.
  • An admin console with an audit trail
    An admin console with an audit trail Suspend an account and close its live sessions, clear or restore someone's messages, set per-person storage quotas, and read back an append-only log of what an admin did and when.
  • Every timestamp in your own timezone
    Every timestamp in your own timezone Messages show your zone, your clock and your date order, never the server's. The picker searches by city, and Automatic follows the device you are reading on, so it stays right after you travel.

Why free beats a subscription

What a subscription quietly costs you

The monthly invoice is the smallest part of what a subscription costs. Your archive, your retention window and your price per seat are all decisions somebody else gets to revisit. Self-hosting trades a subscription for a small amount of infrastructure you already know how to run.

What a subscription costs you

  • A price per seat that only goes up, and an invoice that grows every time you hire.
  • A retention window and an export policy set by the vendor's pricing tier, not by your compliance needs.
  • An archive that lives on infrastructure you do not control, in a jurisdiction you did not choose.

What self-hosting buys you

  • Apache-2.0, so the terms cannot be narrowed in a later release the way an open-core product's can.
  • One JVM and one Postgres database, small enough to fit on a single inexpensive server for a workspace of a thousand people.
  • The source in front of you. Read it, audit it, change what you do not like, and keep running it regardless of what happens to us.

When Slack, Mattermost or Microsoft Teams is still the better choice

If nobody on your team wants to run a Linux server, if you need enterprise compliance features like eDiscovery and data loss prevention out of the box, or if you are a large enough organisation that a vendor's support contract matters more than owning the infrastructure, a hosted product is the pragmatic choice. IntelliStream Chat is for teams willing to trade that convenience for control over their own data.

Measured, not estimated

Numbers from the project's own published benchmark

Run on a single twelve-core virtual machine with the load generator on the same box, so these are floors, not ceilings. Full method and raw results are published alongside the code.

17,066/s Messages persisted and delivered end to end, 21.6 ms at the median
100,000 Concurrent connections held on 11.2 GiB of memory
490 MB Peak memory serving a workspace inside a 900 MB limit
981 Tests across 101 classes, run against a real Postgres database, never H2
Read the full benchmark

Run it on your own infrastructure

Clone the repository, or try our own instance first and see whether it fits how your team works before you install anything.

More free tools are on the way.