GitHunt
BR

briankwest/livecall

Using Signalwire to provide a live call AI assistant that is live on the call with you

LiveCall - Real-time Call Assistant

A real-time call assistance system that uses SignalWire for live transcription, OpenAI for intelligent processing, and vector databases for contextual documentation retrieval.

Features

  • Live Call Transcription: Real-time transcription using SignalWire's live_transcribe
  • AI-Powered Assistance: OpenAI integration for intelligent conversation analysis
  • Vector Search: Semantic search through documentation during calls
  • Configurable Listening: Monitor agent-only, customer-only, or both sides
  • Real-time Dashboard: React-based UI with WebSocket updates
  • Call Analytics: Summaries, sentiment analysis, and action items

Quick Start

  1. Clone and Initialize

    git clone <repository>
    cd livecall
    make init
  2. Configure Environment

    # Copy .env.example to .env and update with your credentials:
    - SignalWire credentials
    - OpenAI API key
    - Database passwords
    - Ngrok authtoken (for development)
  3. Start Services

    # Production mode
    make up
    
    # Development mode with hot reload
    make dev
  4. Access Application

Development with Ngrok

For SignalWire webhooks in development, run ngrok separately:

# Install ngrok (https://ngrok.com/download)
# Then run:
ngrok http 80

# Update .env with the ngrok URL:
PUBLIC_URL=https://your-subdomain.ngrok-free.app

# Configure SignalWire webhook to:
# https://your-subdomain.ngrok-free.app/webhooks/signalwire/transcribe

Architecture

  • Frontend: React + TypeScript + Material-UI
  • Backend: Python FastAPI + Socket.io
  • Database: PostgreSQL + Redis
  • Vector DB: Qdrant (dev) / Pinecone (prod)
  • Proxy: Nginx reverse proxy

Useful Commands

make build    # Build Docker images
make logs     # View logs
make shell    # Backend shell
make shell-db # PostgreSQL shell
make clean    # Remove all data
make status   # Check service status

API Documentation

Once running, access interactive API docs at:

Security Notes

  • Currently configured for HTTP (port 80)
  • SSL/TLS ready - update nginx config for production
  • All sensitive data in environment variables
  • JWT authentication for API endpoints

Next Steps

  1. Create backend application code (main.py, models, services)
  2. Build React frontend components
  3. Implement SignalWire webhook handlers
  4. Set up vector database ingestion pipeline
  5. Configure production SSL certificates

Languages

Python61.5%TypeScript36.6%PLpgSQL1.1%Makefile0.3%CSS0.3%HTML0.2%

Contributors

Created July 24, 2025
Updated August 29, 2025
briankwest/livecall | GitHunt