Skip to content

deepgram-starters/node-transcription

Node Transcription Starter

Speech-to-text demo using Deepgram's API with Node.js backend and web frontend.

Prerequisites

Note: This project uses strict supply chain security measures. npm and yarn will NOT work - pnpm 10.0.0+ is required. See SECURITY.md for details.

Quick Start

  1. Clone the repository

Clone the repository with submodules (the frontend is a shared submodule):

git clone --recurse-submodules https://github.com/deepgram-starters/node-transcription.git
cd node-transcription
  1. Install dependencies
# Option 1: Use the helper script (recommended)
pnpm run install:all

# Option 2: Manual two-step install
pnpm install
cd frontend && pnpm install && cd ..

Note: Due to security settings (ignore-scripts=true), frontend dependencies must be installed separately. The install:all script handles both steps. See SECURITY.md for details.

  1. Set your API key

Create a .env file:

DEEPGRAM_API_KEY=your_api_key_here
  1. Run the app

Development mode (with hot reload):

pnpm dev

Production mode (build and serve):

pnpm build
pnpm start

Open http://localhost:8080

Features

  • Upload audio files or provide URLs for transcription
  • Multiple model options
  • View transcription history
  • Responsive web interface

How It Works

  • Backend (server.js): Node.js/Express server implementing the /stt/transcribe endpoint
  • Frontend (frontend/): Vite-powered web UI for audio upload and transcription display
  • API: Integrates with Deepgram's Speech-to-Text API

Security

This project implements comprehensive supply chain security measures including:

  • Dependency pinning to exact versions
  • Automated vulnerability scanning with Snyk
  • Disabled lifecycle scripts
  • Strict package manager enforcement (pnpm only)

See SECURITY.md for complete security documentation and reporting procedures.

Makefile Commands

This project includes a Makefile for framework-agnostic operations:

make help              # Show all available commands
make init              # Initialize submodules and install dependencies
make dev               # Start development servers
make build             # Build frontend for production
make start             # Start production server
make update            # Update submodules to latest
make clean             # Remove node_modules and build artifacts
make status            # Show git and submodule status

Use make commands for a consistent experience regardless of package manager.

Contributing

Contributions are welcome! Please review:

Getting Help

License

MIT - See LICENSE

About

Get started using Deepgram's Transcription with this Node demo app

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •