Amni-Haven is the native Android client for Haven, a self-hosted chat platform created by ANCSemi (MIT-NC licensed). Connect to any Haven server. Messages route through your chosen server, not ours. Free tier is ad-supported (AdMob); push notifications via FCM. You control the infrastructure.
Socket.IO persistent connection with JWT authentication. Typing indicators, message grouping, instant delivery.
Firebase Cloud Messaging with per-channel deep links. Never miss a message, even when the app is closed.
WebRTC peer-to-peer calls via Stream SDK. Direct connection between devices when possible.
Point at any Haven server URL. Self-signed cert support included. Your server, your data, your rules.
Exponential backoff with 10 retry attempts. Connection error screen with one-tap retry or server switch.
haven:// URI scheme for direct server connections. Share links to auto-connect with optional SSL flag.
| PARAMETER | VALUE |
|---|---|
| Platform | Haven by ANCSemi (MIT-NC) |
| Protocol | Socket.IO 2.1 + REST API |
| Auth | JWT (login/register flows) |
| Push | Firebase Cloud Messaging |
| Voice/Video | WebRTC (Stream SDK 1.3.7) |
| Media | ExoPlayer (Media3 1.5.1) |
| HTTP Client | OkHttp 4.12 |
| Image Loading | Glide 4.16 |
| Min SDK | Android 8.0 (API 26) |
| Target SDK | 36 |
| Architecture | Native Kotlin + ViewBinding |
Enter your Haven server URL. Supports HTTP, HTTPS, and self-signed certificates. Server history with autocomplete.
Login or register via REST API. JWT token stored locally for persistent sessions. No third-party auth required.
Real-time messaging over Socket.IO. Channel sidebar with unread badges. Typing indicators. Message grouping by sender and timestamp.
Tap to start voice or video calls via WebRTC. Foreground service keeps audio alive. Peer-to-peer when network allows.
PHONE VIEWS • SCROLL TO EXPLORE






TABLET • SCROLL TO EXPLORE








Now available on Google Play.
Free • Ad-supported • Connects to any Haven-compatible server
Android 8.0+ (API 26) • Requires Haven server • No root required
Amni-Haven wouldn't be here without the testers who put the early builds through their paces. Every bug report, crash log, and piece of feedback helped shape the app into what it is today. You helped us ship—thank you.
Want to keep testing? We're always working on new Amni-Scient apps and features. Sign up below and we'll reach out when the next beta opens.
Self-hosted messaging means running your own server infrastructure rather than relying on a third-party service. When you use platforms like Discord, Slack, or WhatsApp, your messages pass through (and are stored on) servers controlled by those companies. With a self-hosted approach, you control where data lives, who can access it, and how long it's retained. This is the architecture Haven is built around.
Socket.IO and real-time communication: Haven uses Socket.IO, a library built on top of WebSockets, for real-time bidirectional communication. Unlike traditional HTTP request-response cycles, WebSockets maintain a persistent connection between client and server. This enables instant message delivery without polling. Socket.IO adds automatic reconnection, room-based broadcasting, and fallback to HTTP long-polling when WebSocket connections aren't available—making it resilient across different network conditions.
Push notifications and FCM: Mobile operating systems aggressively manage battery by suspending background apps. Firebase Cloud Messaging (FCM) solves this by maintaining a single persistent connection per device that all apps share. When a Haven server needs to notify an offline user, it sends a lightweight signal through FCM that wakes the app just enough to display a notification—no background service drain required. The actual message content can be fetched on-demand when the user opens the app, keeping sensitive data off Google's infrastructure.
Federation vs. centralization: Haven occupies a middle ground between fully centralized platforms (one company controls everything) and federated protocols like Matrix or XMPP (servers interoperate across domains). Each Haven instance is independent, giving server operators complete sovereignty. This makes it ideal for families, small teams, and communities who want messaging without external dependencies or data harvesting.