AMNI-HAVEN

ANDROID CLIENT FOR HAVEN • BY ANCSEMI

PLAY STORE DOWNLOAD ☕ SUPPORT APP DEVELOPMENT ☕ SUPPORT HAVEN

YOUR MESSAGES. YOUR SERVER.

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.

💬

REAL-TIME CHAT

Socket.IO persistent connection with JWT authentication. Typing indicators, message grouping, instant delivery.

🔔

FCM PUSH

Firebase Cloud Messaging with per-channel deep links. Never miss a message, even when the app is closed.

🎙

VOICE + VIDEO

WebRTC peer-to-peer calls via Stream SDK. Direct connection between devices when possible.

🔏

SELF-HOSTED

Point at any Haven server URL. Self-signed cert support included. Your server, your data, your rules.

🔄

AUTO-RECONNECT

Exponential backoff with 10 retry attempts. Connection error screen with one-tap retry or server switch.

📱

DEEP LINKS

haven:// URI scheme for direct server connections. Share links to auto-connect with optional SSL flag.

SPECIFICATIONS

PARAMETERVALUE
PlatformHaven by ANCSemi (MIT-NC)
ProtocolSocket.IO 2.1 + REST API
AuthJWT (login/register flows)
PushFirebase Cloud Messaging
Voice/VideoWebRTC (Stream SDK 1.3.7)
MediaExoPlayer (Media3 1.5.1)
HTTP ClientOkHttp 4.12
Image LoadingGlide 4.16
Min SDKAndroid 8.0 (API 26)
Target SDK36
ArchitectureNative Kotlin + ViewBinding

HOW IT WORKS

1. CONNECT

Enter your Haven server URL. Supports HTTP, HTTPS, and self-signed certificates. Server history with autocomplete.

2. AUTHENTICATE

Login or register via REST API. JWT token stored locally for persistent sessions. No third-party auth required.

3. CHAT

Real-time messaging over Socket.IO. Channel sidebar with unread badges. Typing indicators. Message grouping by sender and timestamp.

4. CALL

Tap to start voice or video calls via WebRTC. Foreground service keeps audio alive. Peer-to-peer when network allows.

GALLERY

PHONE VIEWS • SCROLL TO EXPLORE

Haven login screen
Haven channels
Haven general chat
Haven messaging
Haven chat view
Haven conversation

TABLET • SCROLL TO EXPLORE

Haven tablet view
Haven tablet channels
Haven tablet chat
Haven tablet messaging
Haven tablet view 2
Haven tablet view 3
Amni-Haven promo
Amni-Haven feature

GET AMNI-HAVEN

Now available on Google Play.

Free • Ad-supported • Connects to any Haven-compatible server

PLAY STORE DOWNLOAD ☕ SUPPORT APP DEVELOPMENT ☕ SUPPORT HAVEN PRIVACY POLICY

Android 8.0+ (API 26) • Requires Haven server • No root required

THANK YOU, BETA TESTERS

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.

Haven is created and maintained by ANCSemiGitHubWebsiteMIT-NC License

SELF-HOSTED MESSAGING EXPLAINED

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.