Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meeting Intelligence App

An AI-powered meeting intelligence application that records internal audio (Discord, Google Meet, etc.), transcribes it in real-time, and provides AI-powered analysis including summaries, action items, and more.

Features

  • 🎙️ Real-time Audio Recording - Capture meeting audio directly from your browser
  • 📝 Live Transcription - Get real-time transcripts using Deepgram or OpenAI Whisper
  • 🤖 AI Analysis - Automatic meeting summaries, action items, key topics, and sentiment analysis
  • 💬 Interactive Q&A - Ask questions about your meetings and get AI-powered answers
  • 📊 Meeting Dashboard - View and manage all your meeting recordings

Architecture

meeting-llm/
├── apps/
│   ├── api/          # Fastify API server with WebSocket support
│   ├── web/          # Next.js frontend application
│   └── worker/       # Background job processor (BullMQ)
├── packages/
│   ├── asr/          # Speech recognition (Deepgram, Whisper)
│   ├── llm/          # LLM integration (OpenAI, Anthropic, Ollama)
│   ├── types/        # Shared TypeScript types
│   └── ui/           # Shared UI components

Prerequisites

  • Node.js 20+
  • pnpm 10+
  • Redis (for worker queue) - optional for basic usage

Quick Start

  1. Install dependencies:

    pnpm install
  2. Set up environment variables:

    # API
    cp apps/api/.env.example apps/api/.env
    
    # Worker (optional)
    cp apps/worker/.env.example apps/worker/.env
  3. Configure API keys: Edit the .env files with your API keys:

    • DEEPGRAM_API_KEY - For real-time transcription (recommended)
    • OPENAI_API_KEY - For Whisper transcription and GPT analysis
    • ANTHROPIC_API_KEY - For Claude analysis (optional)
  4. Build shared packages:

    pnpm build:packages
  5. Start development servers:

    # Run all apps
    pnpm dev
    
    # Or run individually
    pnpm dev:api    # API on http://localhost:3001
    pnpm dev:web    # Web on http://localhost:3000
    pnpm dev:worker # Background worker

API Endpoints

REST API

Method Endpoint Description
GET /health Health check
POST /meetings Create a new meeting
GET /meetings List all meetings
GET /meetings/:id Get meeting details
GET /meetings/:id/transcript Get meeting transcript
POST /meetings/:id/end End a meeting
POST /meetings/:id/analyze Analyze meeting with AI
POST /meetings/:id/ask Ask a question about the meeting
POST /meetings/:id/transcribe Transcribe uploaded audio

WebSocket

Connect to ws://localhost:3001/ws/:meetingId for real-time transcription:

const ws = new WebSocket('ws://localhost:3001/ws/meeting-123')

// Send audio chunks
ws.send(JSON.stringify({
  type: 'audio_chunk',
  payload: { chunk: base64AudioData },
  timestamp: Date.now()
}))

// Receive transcripts
ws.onmessage = (event) => {
  const { type, payload } = JSON.parse(event.data)
  if (type === 'transcript_segment') {
    console.log('Transcript:', payload.text)
  }
}

ASR Providers

Deepgram (Recommended for real-time)

  • Real-time streaming support
  • High accuracy with Nova-2 model
  • Speaker diarization

OpenAI Whisper

  • Best for batch/file transcription
  • No streaming support
  • Good for post-processing

LLM Providers

OpenAI

  • GPT-4o for analysis
  • Best balance of speed and quality

Anthropic

  • Claude for analysis
  • Excellent for long transcripts

Ollama (Local)

  • Run models locally
  • Privacy-focused option

Development

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Lint code
pnpm lint

# Clean build artifacts
pnpm clean

Recording System Audio

The web app uses the Web Audio API to capture microphone audio. For capturing system audio (Discord, Google Meet, etc.), you have several options:

  1. Browser Extension - Use a browser extension that enables system audio capture
  2. Virtual Audio Device - Route system audio through a virtual microphone
  3. Electron App - Build a desktop app with system audio capture capabilities

Tech Stack

  • Frontend: Next.js 16, React 19, Tailwind CSS 4
  • Backend: Fastify 5, WebSockets
  • Worker: BullMQ, Redis
  • ASR: Deepgram SDK, OpenAI Whisper
  • LLM: OpenAI, Anthropic Claude
  • Monorepo: pnpm workspaces, Turborepo

License

ISC

About

LLM for meeting transcriber

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages