← Prospect Intelligence Platform
Live

Voice-driven workspace navigation

Speak a request such as “show my calendar next month” and the workspace responds through the same permission-checked command path used for typed requests. One mic press starts continuous listening, natural pauses separate utterances, and the right Calendar, Tasks, Email, or Spreadsheets view appears without creating a second control system for voice.

Speak naturally, keep the interface deterministic

The browser captures speech as a real-time audio stream. A worker detects natural pauses against the room's changing noise floor, transcribes each utterance, and returns text over the same session. From there, voice and keyboard input converge: the existing resolver validates the request, applies access rules, and selects a known workspace view.

“Show my calendar next month” one mic press starts a continuous session Browser microphone → real-time audio worker: 900 ms of relative silence closes each utterance Reliable transcript delivery several utterances can share the same session Existing command resolver validates intent, dates, access, and the fixed view catalogue Calendar · Tasks · Email · Spreadsheets the route stays in the AI workspace while its view changes keep listening

Why this interaction is useful

Less interface hunting

A person can ask for a destination and time range directly instead of finding a module, opening filters, and reconstructing the same request through several controls.

Hands-free when it matters

Voice keeps the workspace useful while reviewing notes, moving between meetings, or handling another task that makes a keyboard inconvenient.

Accessible without a weaker boundary

Voice changes how a command arrives, not what it is allowed to do. Authentication, organisation scope, validation, and the fixed view catalogue still apply.

Continuous listening

A single session can carry several requests, so there is no stop-and-restart ritual between each sentence.

Adaptive speech detection

The worker learns the ambient noise floor and detects relative silence instead of assuming every room and microphone has the same volume.

One interaction model

Typed and spoken requests share one submission path, one permission model, and one set of tested workspace renderers.

The stack behind one spoken command

Media transport, transcription, authorization, intent handling, and rendering are deliberately separate. Each layer has a narrow responsibility and the application backend remains the authority for access and UI capabilities.

React 19 + TypeScript browser WebRTC microphone, reducer, fixed view renderers Laravel 12 authorization API short-lived, organisation-scoped, mic-only grant PostgreSQL encrypted secrets Managed WebRTC media cloud ephemeral room, audio transport, reliable data Nginx webhook verified room start Node.js voice worker 48 kHz mono PCM16 · adaptive silence · WAV encoding Hosted speech recognition audio in, transcript out Existing resolver + fixed view registry Calendar · Tasks · Email · Spreadsheets

Browser and UI

React 19, TypeScript, TanStack Query, WebRTC microphone capture, and the existing reducer-driven workspace renderers.

Authorization API

Laravel 12 authenticates the user, checks the feature flag and rate limit, scopes the room to the organisation, and issues a short-lived microphone publishing grant.

Real-time media

A managed WebRTC media cloud provides the ephemeral room, low-latency audio transport, and reliable transcript data between browser and worker.

Audio worker

A Node.js worker receives mono PCM16 frames, measures ambient noise, closes utterances after 900 ms of relative silence, and encodes WAV audio.

Speech and intent

Hosted speech recognition produces text. Natural requests can use the centrally routed language service, while exact commands stay deterministic.

Runtime and data

Nginx verifies room-start webhooks, Docker Compose runs the services, and PostgreSQL stores each organisation's encrypted media credentials.

Privacy and failure boundaries

Diagnostic events describe the session lifecycle without recording content. Room names, tokens, credentials, raw audio, transcript text, parsed commands, and raw provider responses stay out of logs. Short-lived grants limit what the browser can publish, while the backend rechecks every request before a workspace view is selected.

Continuous listening Adaptive silence Short-lived grants Reliable transcripts Permission-checked views Content-free diagnostics