GlobalCanadaEuropeAsia-Pacific
Sign in

We publish what we build, and send the fixes back.

District AI runs on open-source software, and nine 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 two tools, bridgewatch and District Scheduler. The District AI service itself is not.

Projects

Nine projects, each in its own repository under Apache-2.0: the five District AI apps, the two cores they share and two 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.

Licence
Apache-2.0
Built with
Go, SvelteKit (PostgreSQL or SQLite)

More about District Scheduler

District Scheduler on GitHub

What is open source, and what is not

What is open source

All nine 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.

Tell us what you would connect them to

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.

Open-source software District AI runs on
SoftwareWhat it does hereLicence
LiveKitMedia server, SIP bridge and the agents framework the voice attendant is built on, on our own nodes in every regionApache-2.0
PostgreSQL 17Every workspace's database, one instance per regionPostgreSQL Licence
k3sThe Kubernetes distribution each of the four origins runs on, as a single nodeApache-2.0
CaddyTLS termination and routing in front of each originApache-2.0
Next.js and ReactThis website, the customer portal and the dashboardMIT
PrismaThe database layer under the portal and dashboardApache-2.0
Tailwind CSSThe dashboard's stylingMIT
Grafana AlloyShips metrics, logs and cluster events from all four clusters to our monitoringApache-2.0
Silero VADDecides when a caller has started and stopped speakingMIT
CalnodeThe scheduling engine District Scheduler is forked fromApache-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 nine are the repositories we build from, and all nine 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 nine repositories, on GitHub.

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 nine projects when GitHub's private reporting cannot be used.

Resources

Each repository's contributing guide, security policy and changelog, on the branch we ship from.

Distronode on GitHub, where all nine repositories live, and on GitLab: