https://github.com/alexitc/twimini-bot
Twilio <> Gemini bot for Scala integrates voice calls from Twilio with Gemini's Live API
https://github.com/alexitc/twimini-bot
Last synced: 11 months ago
JSON representation
Twilio <> Gemini bot for Scala integrates voice calls from Twilio with Gemini's Live API
- Host: GitHub
- URL: https://github.com/alexitc/twimini-bot
- Owner: AlexITC
- License: mit
- Created: 2025-08-05T22:22:28.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-05T22:30:42.000Z (11 months ago)
- Last Synced: 2025-08-06T00:18:37.415Z (11 months ago)
- Language: Scala
- Size: 1.84 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🤖 Twimini-bot
A real-time, conversational AI voice bot built with Twilio, and the Google Gemini Live API.
This application provides a web interface to initiate a phone call that connects to a live, interactive AI.
---
## 🚀 How to Run
Dependencies:
- Install JDK 21 and [sbt](https://www.scala-sbt.org) (check [sdkman](https://sdkman.io))
- Use [Twilio](https://www.twilio.com) to get a phone number.
- [direnv](https://direnv.net) is suggested to load the config variables.
- Run `ngrok http 8080` to expose the app to Twilio ([Ngrok](https://ngrok.com)).
Configuration (create `.envrc` if you use `direnv`, otherwise, load these variables into your shell):
```shell
# Twilio credentials (found in your Twilio Console)
export TWILIO_ACCOUNT_SID="REPLACE_ME"
export TWILIO_AUTH_TOKEN="REPLACE_ME"
export TWILIO_PHONE_NUMBER="REPLACE_ME"
# Get it from Gemini
export GEMINI_API_KEY='REPLACE_ME'
# Get it from ngrok
export BASE_URL="https://REPLACE_ME"
```
Run with:
- `MODE=LOCAL sbt server/run`: To test the integration from your computer's microphone and speakers.
- `MODE=SERVER sbt server/run`: To execute the app with Twilio, then, navigate to `localhost:8080`