Home > Projects > ARC Line - CodeTV + Twilio Contest

ARC Line - CodeTV + Twilio Contest

View

Tech stack

  • Node.js
  • TypeScript
  • Fastify
  • WebSocket
  • Twilio ConversationRelay
  • Supabase
  • Vercel
  • Heroku
  • ElevenLabs
  • Tailwind

About

ARC Line - ARC Raiders Multi-Hotline Voice System

arcline.vercel.app

A voice-based multi-hotline system for the ARC Raiders universe, built with Twilio ConversationRelay. Users call a single phone number and select from 5 different hotlines by pressing 1-5.

Features

4 Automated Hotlines

  • 🚁 Extraction Request - Request extractions from your location

  • 📦 Loot Locator - Search for valuable items

  • 🐔 Scrappy's Chicken Line - Fun sound clips and randomizers

  • 📢 Faction Intel - Community rumors and news

How It Works

  1. Call Initiation: When a user calls the Twilio phone number, Twilio requests the `/twiml` endpoint, which returns TwiML instructions to connect to the WebSocket server.

  2. WebSocket Connection: Twilio connects to the `/ws` WebSocket endpoint, establishing a persistent connection for the call.

  3. Menu Selection: The system presents a voice menu and routes based on voice input.

  4. Hotline Routing: Based on the selection, the system routes to the appropriate hotline handler:   - 1 → Extraction Request   - 2 → Loot Locator   - 3 → Scrappy's Chicken Line   - 4 → Faction News   - 5 → Event Alarm

  5. Conversation Flow: Each hotline handler manages its own conversation flow using a state machine pattern with memory persistence.

Technical Architecture

The application is built with a modern tech stack:

  • Backend: Node.js with TypeScript and Fastify web server

  • Real-time Communication: WebSocket support for Twilio ConversationRelay

  • Database: Supabase for data persistence

  • Deployment: Vercel serverless functions

Project Structure

The project is organized into three main directories:

  • server: Node.js server application with WebSocket support

  • client: Optional React web application

  • docs: Documentation including database schema and deployment guides

  • dashboard: Administrative dashboard views giving insight to user voice input

Deployment

The application can be deployed to Vercel using ConversationRelay's webhook mode, where both the TwiML endpoint and webhook handler run as Vercel serverless functions. No separate server is needed - everything runs on Vercel!

Built For

This project was built for the Twilio Web Dev Challenge and is inspired by the ARC Raiders universe.

Screenshots

Project image
Project image
Project image