GlobalCanadaEuropeAsia-Pacific
Sign in

Back to Open Source

District AI for Linux

The native District AI app for the Linux desktop, in Rust with GTK 4 and libadwaita. The call log with each call's summary and transcript, the inbox with a reply written by AI when you ask, contacts and the rest of the workspace; and in a build with calls, as both packages are, a call handed to you rings on the desktop and the dialer places your own. Everything below the window comes from District Core for Rust, which it shares with the Windows app. Releases are on GitHub, as a .deb and a Flatpak.

District AI

Harbour Dental

  • Overview
  • Inbox
  • Calls
  • Contacts

Workspace

  • District HQ
  • Analytics
  • Phone numbers

Calls

Place a call

  • +1 416 555 0142Asked to move a Thursday cleaning to Friday morning. Booked Friday at 9:30 AM.9:41 AM2m 22s
  • +1 202 555 0171Called back to confirm Friday's appointment. Confirmed.9:05 AM1m 5s
  • +1 647 555 0118Hung up before the greeting finished.26 Sep
The app's window: the sidebar and the call log. The data is fictional.

A native Linux desktop client

Sign-in stays in your browser

The app never shows a password field. You sign in in your browser, which hands the result back through a districtai:// link, and your sign-in is kept in the desktop's keyring, or without one only until the app quits.

Held to the service's own answers

Its Rust core decodes every response recorded from the District AI service with unknown fields refused, and the app's own tests answer it with the same recordings, at the version it pins. A field the server renames or adds fails a test rather than the app.

Every package is attested

Each release is a .deb and a Flatpak with a signed attestation of the build, published only after the licensing of the call library's codecs was reviewed.

What is open source, and what is not

What is open source

This app, under Apache-2.0: you can read it, build it and change it. The District AI and Distronode names, logos and app icons are trademarks, so a build you distribute uses its own name, icon and identifier.

The app reports no crashes: no crash-reporting library is among its dependencies, and every log line below warning level is compiled out of the build.

What is not

The District AI service the app talks to. Everything the app shows comes from that service, and using it needs a District AI account.

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

Get involved

Issues and pull requests are welcome on GitHub. Report a vulnerability privately, as the security policy describes, and not in a public issue.

Contributing guide
CONTRIBUTING.md
Security policy
SECURITY.md
Changelog
CHANGELOG.md