Lightless hero image
Lightless
Private secure voice messenger for small groups.
Overview
Lightless is a self-hosted, privacy-first voice calling platform designed for small groups. Users are created exclusively by an admin - there is no public sign-up. Contacts are added through time-limited pairing codes that expire after a time or single use, so no usernames are ever shared. Voice calls are peer-to-peer via WebRTC (DTLS-SRTP encrypted media), coordinated by a custom Ktor signaling server over authenticated WebSockets. When a user's app is fully closed, Firebase Cloud Messaging wakes the device and presents a full-screen incoming call notification. Call history, missed call tracking, and mute/speaker controls are all included.
Technology stack
Kotlin Multiplatform
Compose Multiplatform
Material3
WebRTC
Firebase Cloud Messaging
Ktor Client
Multiplatform Settings
Koin
Clean Architecture + MVI
Ktor
PostgreSQL
Exposed ORM
Firebase SDK
JWT + BCrypt
WebSocket
Key features
  • Admin-only user creation — no public registration endpoint
  • Pairing code system — contacts added via ephemeral codes, no username exposure
  • Peer-to-peer voice calls via WebRTC with DTLS-SRTP media encryption
  • Push notifications for incoming calls when app is closed (FCM full-screen intent)
  • Call history with incoming, outgoing, and missed call tracking
  • JWT authentication with access and refresh token flow
Gallery
More projects