Component Architecture
3. Component Architecture
This section describes the responsibilities of each system component.
3.1 Client Application
The Client Application is responsible for user interaction and local playback.
Primary responsibilities:
- Accepting user text input
- Managing message lifecycle state (queued, sending, playing, completed, cancelled)
- Initiating authenticated requests to the Cloud Service
- Receiving streamed audio responses
- Buffering and playing audio locally
- Persisting device configuration and identity tokens
The Client Application does not enforce account policy or perform cloud-based speech synthesis.
3.2 Web Portal
The Web Portal provides user-facing account and identity management functionality.
Primary responsibilities:
- Serving marketing and informational content
- Providing Client Application download access
- Facilitating user authentication via the External Identity Provider
- Viewing account, subscription, and billing information
- Initiating account, device, and plan management actions
The Web Portal does not perform speech synthesis or process payments directly.
3.3 Cloud Service
The Cloud Service handles authenticated requests and coordinates synthesis jobs.
Primary responsibilities:
- Authenticating web and device-originated requests
- Validating request structure and policy constraints
- Enforcing rate limits and account-level usage controls
- Creating and tracking synthesis jobs
- Coordinating Cloud Execution Workers
- Streaming audio responses to the Client Application
The Cloud Service does not perform speech synthesis directly.
3.4 Cloud Execution Workers
Cloud Execution Workers perform cloud-based speech synthesis.
Primary responsibilities:
- Consuming validated job requests from the Cloud Service
- Invoking External Speech Providers
- Producing audio output for streaming
- Handling job cancellation signals
Cloud Execution Workers do not accept direct public requests.