Earn 2,250 ($22.50)
Create a WebApp for Outbound Calls Using Twilio and ElevenLabs Integration
Bounty Description
Problem Description
We need a web application capable of making outbound calls via Twilio while integrating ElevenLabs for real-time voice synthesis. The application must:
Allow users to initiate calls by inputting a phone number and a text message on the frontend.
Use ElevenLabs to convert the text message into synthesized speech and stream it in real-time during the call.
Seamlessly integrate with Twilio for initiating and managing the outbound call.
Provide live streaming and output logs of the call's status for monitoring and debugging.
Acceptance Criteria
A functional web application with a frontend for entering phone numbers and messages.
Backend securely connects to Twilio and ElevenLabs via APIs.
Successful real-time synthesis and streaming of speech during the call.
Logs of call status (e.g., initiated, connected, completed) displayed in the web app.
Code is well-documented and easy to deploy (Replit-hosted environment preferred).
Technical Details
Frontend:
Use React with a simple and intuitive form interface.
Form fields for phone number and message text.
Display call status updates in real-time.
Backend:
Node.js-based server using Express or Fastify.
WebSocket integration for ElevenLabs audio streaming.
Twilio API integration for outbound calls, with a TwiML element for playing the ElevenLabs audio.
Secure API endpoint with token-based authentication (x-internal-token).
Environment & Hosting:
Application should be hosted and deployed on Replit.
Use environment variables (.env) for secrets like Twilio SID/Auth Token, ElevenLabs Agent ID, and internal tokens.
Additional Features:
Provide clear logs for troubleshooting (e.g., WebSocket status, audio URL, call initiation).
Support for expanding functionality (e.g., call history or transcript saving) in future iterations.