← All projects

application · development

Culver

SMS, MMS and Matrix in one messenger, with a receiver that survives the window closing.

No public release observedSource declaration: 0.1.0License: AGPL-3.0-or-later

Introduction reviewed 2026-10-15 · Information collected 2026-10-15

Culver brings phone messages and Matrix rooms into a shared inbox while retaining the transport behind each conversation. Its Rust services own the message and contact stores. The Qt/QML window presents them without depending on a GNOME or KDE contact service.

Receipt has to outlive the window

A resident receiver holds modem subscriptions, protocol clients, persistence and notifications. Opening the interface attaches a view to that service; closing the interface should leave receipt alive. Reconnection replays stored state rather than treating the window as the keeper of message history.

SMS uses ModemManager. MMS needs a separately installed and configured transport. Matrix sync, encryption and account lifecycle have their own paths and acceptance. A combined interface does not make those transports interchangeable.

Keep the person's unfinished words

The music-sharing handoff takes a selected link or attachment into an existing conversation draft. It appends rather than replacing, and it does not send. That small boundary is part of the product: accepting another application's content should leave the person in control of the message.

Contacts and calling

Culver keeps its own contact store with import and export. Native calling remains development work; installed system calling fallbacks retain their role until that replacement earns its acceptance.

What remains open

  • Fresh incoming SMS, MMS and Matrix paths require transport-specific device checks.
  • Locked Matrix sync and Personal-key policy remain unfinished; ordinary unlocked background sync is a separate path.
  • Native calling, recents and voicemail are not a completed replacement for the existing system fallback.
Documentation and evidence record

Source CI observed for this documentation revision: success. Application builds and device acceptance are separate evidence.

Documentation owner: Fimeg/culver
Repository revision: 5672e00ac04da8c3b0a8b667bb0d8f849e3798ce
Document: public-docs/culver.md
Document SHA-256: dd8770031a88de79ddc29f3aa102bec62b15e61cd8f5ed6f05e35a9ca3b698ca

  • Receiver and application lifecycle: crates/app/
  • Transport implementations: crates/