We publish what we build, and send the fixes back.
District AI runs on open-source software, and ten things we built are open source too: the District AI apps for iPhone, iPad, Mac, Android, Windows and Linux, the Swift core the Apple apps share, the Rust core the Windows and Linux apps share, and three tools, worldinmotion, bridgewatch and District Scheduler. The District AI service itself is not.
On this page
Newest project
- each machine
npm install --global worldinmotionInstalls wim. Needs Node.js 22.18 or newer. - laptop
wim init --name laptop --relay wss://worldinmotion.distronode.comMakes this device's keys and a new mesh, and shows a recovery code once. Keep it offline. - laptop
wim invitePrints a single-use invite code and waits. Move it yourself, never through an agent. - build box
wim join <code> --name build-boxShows a comparison code. Type it on the laptop, then say yes when each side asks to trust the other. - laptop
wim send cli@build-box hellowim inbox on the build box shows the message.
Shortened from the README, which also covers the Claude Code plugin and the VS Code extension. Run each step in your own terminal, not through an agent.
worldinmotion
PreviewReal-time messages between AI agent sessions, across machines and across accounts. Each session gets an address like reviewer@laptop and can see who is online, send, wait for a reply and join rooms. We built it for the day two agents work on one problem, one writing code on a laptop and one reviewing it on a build box, and a person ends up copying text between them.
- Licence
- Apache-2.0
- Built with
- TypeScript, on Node.js
More projects
Each in its own repository under Apache-2.0: the five District AI apps, the two cores they share and two more tools. Each has a page here on what it does and why we built it.
Phones and tablets
- District AI for iOS
- The native District AI app for iPhone and iPad, as one universal app, on the App Store.
- District AI for Android
- The native District AI app for Android, on Google Play, calling through Android's own Telecom framework.
Desktop
- District AI for Mac
- The native District AI app for the Mac, in SwiftUI, on the Mac App Store and as a signed download that keeps itself up to date.
- District AI for Windows
- The native District AI app for Windows, in C# and WinUI 3 over the shared Rust core, on the Microsoft Store.
- District AI for Linux
- The native District AI app for the Linux desktop, in GTK 4 and libadwaita, released as a .deb and a Flatpak.
Shared cores
- District Core for Swift
- The Swift package the iPhone, iPad and Mac apps share: their models, sign-in, networking, data and call logic.
- District Core for Rust
- The Rust crates the Linux and Windows apps share: their data types, sign-in, networking, live updates, app state and call engine.
Tools
- bridgewatch
- A tray monitor for GitLab CI and GitHub Actions, for macOS and Linux, that says whether a push actually deployed.
- District Scheduler
- Our fork of Calnode, the scheduling engine behind the booking page every District AI plan includes.
What is open source, and what is not
What is open source
All ten projects, under Apache-2.0: you can read them, build them, change them and send your changes back. The District AI and Distronode names, logos and app icon are trademarks, so an app you build and distribute uses its own name, icon and identifier.
What is not
The District AI service the apps talk to. An app built from the source still needs a District AI account to sign in.
Without an account with us
Today the apps need a District AI account to sign in. We want them to work without an account with us too. We have not worked out what that looks like or whether it can work, and the answer depends on what people would use them with, so we are asking before we build anything.
What District AI runs on
Ten projects that do visible work on every call or every page, each run by us under the licence shown.
| Software | What it does here | Licence |
|---|---|---|
| LiveKit | Media server, SIP bridge and the agents framework the voice attendant is built on, on our own nodes in every region | Apache-2.0 |
| PostgreSQL 17 | Every workspace's database, one instance per region | PostgreSQL Licence |
| k3s | The Kubernetes distribution each of the four origins runs on, as a single node | Apache-2.0 |
| Caddy | TLS termination and routing in front of each origin | Apache-2.0 |
| Next.js and React | This website, the customer portal and the dashboard | MIT |
| Prisma | The database layer under the portal and dashboard | Apache-2.0 |
| Tailwind CSS | The dashboard's styling | MIT |
| Grafana Alloy | Ships metrics, logs and cluster events from all four clusters to our monitoring | Apache-2.0 |
| Silero VAD | Decides when a caller has started and stopped speaking | MIT |
| Calnode | The scheduling engine District Scheduler is forked from | Apache-2.0 |
Licences as each project publishes them. Redis is absent on purpose: we use it, and its current licence is not an open-source licence.
Why we publish
A telecommunications company built on frontier AI asks customers to trust where their calls are handled. That should be easy to check. All ten are the repositories we build from, and all ten keep their issues, changelogs and security policies in the open.
There is a plainer reason too. A fork with private patches has to be maintained by the one company that holds them. Sending a fix back means the next upstream release already has it, for us and for everyone else.
Contributing and security
Issues and pull requests are welcome on all ten repositories, on GitHub.
Distronode on GitHub, where all ten repositories live, and on GitLab:
- Issues and pull requests
- Each repository's contributing guide (CONTRIBUTING.md) says how to build and test it, and what a pull request needs before it is reviewed.
- Security reports
- Report a vulnerability privately, through GitHub's private vulnerability reporting on the repository concerned, as its SECURITY.md describes, and not in a public issue. If you cannot use GitHub, every project also takes reports at the open-source contact below.
- Conduct
- Every repository carries a code of conduct, the Contributor Covenant.
- Open-source contact
- opensource@distronode.comFor conduct reports, and for a security report on any of the ten projects when GitHub's private reporting cannot be used.

