Skip to content

trey1975us/Podcast-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voices of Strength (Voix de Force)

AI-powered podcast generation platform for empowering women in Guinea.

Architecture

Layer Technology
Frontend Next.js 15 (React 19)
Backend FastAPI (Python)
Database PostgreSQL + SQLAlchemy
Background Jobs FastAPI BackgroundTasks
File Storage Local disk (swappable to S3)
LLM OpenAI / Anthropic (pluggable)
TTS OpenAI TTS (pluggable)

Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL

Setup

# Run the setup script
chmod +x scripts/setup.sh
./scripts/setup.sh

# Create the database
createdb voices_of_strength

# Configure API keys
# Edit backend/.env with your OpenAI/Anthropic API keys

# Run database migrations
cd backend
source venv/bin/activate
alembic revision --autogenerate -m "initial"
alembic upgrade head
cd ..

# Start development servers
chmod +x scripts/dev.sh
./scripts/dev.sh

Workflow

  1. Create Episode — Define topic, type (profile/theme), language (FR/EN), length
  2. Add Sources — Paste text, upload PDF, add URL, or YouTube link
  3. Generate Research — AI creates a structured brief from sources
  4. Review Research — Human reviews the brief (required gate)
  5. Generate Transcript — AI creates a podcast transcript
  6. Edit & Approve Transcript — Human edits and approves (required gate)
  7. Generate Audio — TTS converts approved transcript to audio
  8. Generate Assets — AI creates title options, summary, and show notes

Human Review Gates

The workflow enforces three human review checkpoints:

  1. After research generation — review before transcript
  2. After transcript generation — edit and approve before audio
  3. After audio generation — review before generating supporting assets

Project Structure

backend/
  app/
    models/       # SQLAlchemy models
    schemas/      # Pydantic request/response schemas
    routers/      # FastAPI route handlers
    services/     # Business logic
    providers/    # LLM, TTS, extraction abstractions
    prompts/      # Prompt templates
    jobs/         # Background job runners
    storage/      # File storage abstraction
frontend/
  src/
    app/          # Next.js pages
    lib/          # API client
    types/        # TypeScript types
    components/   # Shared components
scripts/          # Setup and dev scripts

Supported Content Types

Feature Options
Episode Type Profile (inspiring woman) / Theme (topic-based)
Language French / English
Length 5 min / 10 min / 20 min
Sources Text, PDF, URL, YouTube

Provider Swapping

LLM and TTS providers are abstracted behind interfaces in backend/app/providers/. Change providers by updating environment variables — no code changes needed.

Content Philosophy

All generated content is designed to be:

  • Warm and empowering
  • Culturally respectful and relevant to Guinea
  • Practical and actionable
  • Grounded in verified source material
  • Clear about what is sourced vs. generated

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors