2 Architecture
Lethe edited this page 2026-02-28 16:22:55 -08:00

microclimate consists of four components:

  1. LiveKit, either self or cloud-hosted
  2. An AT Protocol OAuth2 provider (PDS)
  3. A server, written in Rust
  4. A desktop client, written in Rust and TypeScript via Tauri

The first two components are not developed by us, so they will not be detailed here.

Server

Responsibilities

  • Handling request authorization and user permissions
  • Managing LiveKit rooms
  • Generating temporary LiveKit credentials
  • Persisting channel structure and chat messages

Stack

  • Rust
  • tokio
  • Tonic and gRPC
  • SQLite and SQLx
  • livekit_api crate

Desktop Client

Responsibilities

  • Handling user login
  • Displaying server state
  • Sending/receiving audio data to/from LiveKit connections
  • Managing user audio settings (volume, suppression)

Stack

  • Tauri
  • React/react-router
    • shadcn/ui
    • swr
  • Rust
    • cpal/rubato
    • livekit
    • wasapi-rs?
    • silero-vad?
    • video-capture?