District AI for Android
The native District AI app for Android. Calls and transcripts, the shared inbox, contacts, multi-party rooms, push notifications and the workspace settings, in Kotlin and Jetpack Compose.
+1 202 555 0147
02:14
A native Android client
Calls go through Android itself
It is a self-managed softphone that places and answers calls through Android's Telecom framework, beside the transcripts, the shared inbox and multi-party rooms.
Held to the service's own answers
Its types are decoded against responses recorded from the District AI service, with a strict decoder that rejects unknown fields. A rename on the server fails the tests here instead of shipping silently.
No release credentials in the repository
Releases are built, signed and sent to Google Play by the repository's own GitHub Actions workflow, which borrows the signing key, the store credential and the crash-reporting token for one run. None of them is stored in the repository or on GitHub.
- Licence
- Apache-2.0
- Built with
- Kotlin, Jetpack Compose
- Store
- Google Play
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 icon are trademarks, so a build you distribute uses its own name, icon and application identifier.
A build from this repository reports no crashes: every crash-reporting default is empty, so reporting stays off unless the settings are supplied at build time.
What is not
The District AI service the app talks to. Everything the app shows comes from that service, and signing in 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.
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

