Turn documents into a two-host podcast and chat with them. React frontend, FastAPI backend, Ollama for language, Edge TTS for audio.
You need Docker and Docker Compose.
docker compose up --buildThen open http://localhost:3000.
The first start downloads the Ollama image and pulls llama3.2. That can take several minutes. Later starts reuse the volume.
API docs stay at http://localhost:8000/docs.
Stop with Ctrl+C, or docker compose down. Uploads, podcasts, and the database live in the backend_data volume. The model lives in the ollama volume.
cp .env.example .env| Variable | Default |
|---|---|
SECRET_KEY |
change-me-in-production |
OLLAMA_MODEL |
llama3.2 |
TTS_ENGINE |
edge |
TTS_VOICE_FEMALE |
en-US-AriaNeural |
TTS_VOICE_MALE |
en-US-GuyNeural |
- Register / log in
- Create a project
- Upload a PDF or DOCX
- Chat with the documents, or generate a podcast in Studio
backend/ FastAPI, TTS, Ollama client
frontend/ Vite + React app
docker-compose.yml
# Ollama
ollama pull llama3.2
# API
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python app.py
# UI
cd frontend
npm install
cp .env.example .env
npm run devUI: http://localhost:5173
API: http://localhost:8000
MIT