Speech-to-text demo using Deepgram's API with Node.js backend and web frontend.
- Deepgram API Key (sign up for free)
- Node.js 24+ and pnpm 10+
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.
- 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- 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.
- Set your API key
Create a .env file:
DEEPGRAM_API_KEY=your_api_key_here- Run the app
Development mode (with hot reload):
pnpm devProduction mode (build and serve):
pnpm build
pnpm start- Upload audio files or provide URLs for transcription
- Multiple model options
- View transcription history
- Responsive web interface
- Backend (
server.js): Node.js/Express server implementing the/stt/transcribeendpoint - Frontend (
frontend/): Vite-powered web UI for audio upload and transcription display - API: Integrates with Deepgram's Speech-to-Text API
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.
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 statusUse make commands for a consistent experience regardless of package manager.
Contributions are welcome! Please review:
- Contributing Guidelines - includes pnpm setup requirements
- Code of Conduct
- Security Policy - required for dependency updates
MIT - See LICENSE