Cross-Platform Mobile (Matrix Protocol)

Astra Chat

Astra Chat is a secure, real-time messaging and conferencing platform built entirely on the Matrix protocol. It leverages the Matrix-Rust-SDK via UniFFI to provide high-performance encryption and decentralized communication without relying on traditional native modules or Firebase. The application supports full end-to-end encryption (E2EE), VoIP, and cross-platform synchronization.

Timeline: 2024 - Present
Role: Lead React Native Developer

Project Links

My Role & Responsibilities

Role

Lead React Native Developer

Key Responsibilities

  • Leading the React Native implementation to unify existing iOS clients into a cross-platform solution
  • Implementing Matrix-based authentication flows including SSO, reCAPTCHA, and onboarding
  • Developing core messaging features like threads, reactions, and media sharing via Matrix APIs
  • Building secure VoIP and video conferencing systems using Jitsi and LiveKit SFU
  • Managing complex E2EE modules including device verification and cross-signing
  • Handling encrypted push notifications through Matrix pushers without external push SDKs

Technical Details

Technology Stack

frontend
  • React Native
  • TypeScript
  • Zustand
  • WebRTC
  • Google ReCaptcha
backend
  • Matrix Protocol
  • Matrix-Rust-SDK
database
  • SQLite
devops
  • Matrix Pushers
  • Rust UniFFi Pipeline
tools
  • Matrix JavaScript SDK
  • React Native Matrix SDK
  • LiveKit SFU
  • Element Call
  • Jitsi SDK

Architecture

Decentralized architecture using Matrix-Rust-SDK for encryption and state, interfaced with React Native via UniFFI

APIs & Integrations

Matrix Client APIMatrix Media APIJitsi Meet APIElement CallLiveKit SFUJitsiMatrix Widget System

Screenshots & Media

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

End-to-end encrypted decentralized chat interface with real-time message synchronization

Challenges & Solutions

Challenge:

Maintaining high performance and encryption standards without using standard native push or Firebase dependencies

Solution:

Utilized Matrix-Rust-SDK and custom Matrix pushers to handle encrypted payloads directly through the protocol

Achievements & Impact

Firebase-Free Implementation

Successfully built a full-scale real-time app with push notifications and authentication without any Firebase dependencies

Lessons Learned

  • Deep understanding of decentralized protocols and E2EE security standards
  • Managing cross-language state between Rust and JavaScript

Explore more projects?

Go To Projects