Integrations

This page provides a high-level overview of the external technologies and services integrated into the Zima project.

  • D-ID - Digital Human Platform

    • Integration: Core of the "deepfake" functionality.

    • Usage: We use the Streaming API to generate and stream video of an AI avatar in real-time based on text input. This requires a complex WebRTC handshake and session management, which is handled by our backend and the DidApi service.

  • WebRTC (Web Real-Time Communication)

    • Integration: The protocol used to stream video and audio from D-ID's servers to the Flutter app.

    • Usage: The flutter_webrtc package provides the client-side implementation. The AgentController manages the RTCPeerConnection, ICE candidates, and session descriptions to establish a stable streaming connection.

  • Socket.IO - Real-time Engine

    • Integration: Used for real-time, bidirectional communication between the app and our backend for voice transcription.

    • Usage: The socket_io_client package is used in the TranscriptService. It allows us to stream audio data efficiently to the server without the overhead of repeated HTTP requests.

  • Provider - State Management

    • Integration: A first-party Flutter package for state management.

    • Usage: It is the primary tool for managing both UI and business logic state throughout the application, from tracking onboarding completion to handling the complex state of a live agent chat.

Last updated