Skip to content

[Suggestion] Nuxt.js 3 real-time streaming transcription with Nitro WebSocket server (TypeScript) #315

Description

@deepgram-robot

What to build

A Nuxt.js 3 application demonstrating real-time streaming transcription using Deepgram's WebSocket API, with the Nitro server handling secure API key management and WebSocket proxying.

Why this matters

Nuxt.js 3 is the dominant Vue.js meta-framework with a large and growing developer base. Developers building real-time transcription features in Nuxt need a reference implementation that follows Nuxt 3 conventions — Nitro server routes for API key security, composables for reactive transcript state, and proper SSR/CSR handling for WebSocket connections. Vue.js and Angular examples exist, but Nuxt 3's server-first architecture requires different patterns (Nitro WebSocket handlers, useRuntimeConfig, useState composables).

Suggested scope

  • Framework: Nuxt.js 3.x with Nitro server
  • Language: TypeScript
  • Deepgram APIs: Streaming STT (Nova-3 or Flux)
  • Architecture: Nitro server route proxies WebSocket to keep API key server-side; client uses getUserMedia() for microphone capture; Nuxt composable (useTranscription()) wraps reactive transcript state
  • Features: Live transcript display, interim/final result handling, start/stop controls
  • Complexity: Medium — single-page app with server route

Acceptance criteria

  • Runnable with minimal setup (clone, add API key, run)
  • README explains the pattern clearly
  • Uses current SDK version
  • API key never exposed to the browser
  • Uses Nuxt 3 conventions (composables, Nitro server routes, useRuntimeConfig)
  • Works with both npm run dev and production build

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions