An intelligent, self-improving two-host AI podcast system that generates natural conversations while seamlessly embedding relevant sponsors.
- Natural Dialogue Generation: Creates realistic conversations between two distinct AI hosts (Alex & Maya)
- Intelligent Sponsor Integration: Weaves sponsors naturally into conversations without sounding like ads
- Real-World Context: Uses web scraping (Lightpanda-style) to incorporate current, relevant information
- Memory Management: Redis-based memory system prevents repetition of sponsors, phrases, and patterns
- Self-Improvement: Automatically critiques and improves its own output before final delivery
- Claude API Integration: Powered by Claude 3.5 Sonnet via Anthropic API
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EchoDuo System β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ βββββββββββββ β
β β Lightpanda β β Redis β β Bedrock β β
β β Scraper β β Memory β β (Claude) β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ βββββββ¬ββββββ β
β β β β β
β ββββββββββ¬βββββββββ΄ββββββββββββββββββ β
β β β
β ββββββββββΌββββββββββββ β
β β Podcast Generator β β
β β - Topic Analysis β β
β β - Sponsor Select β β
β β - Conversation β β
β β - Self-Critique β β
β ββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Python 3.8+
- Anthropic API Key (Get one here)
- Redis (optional - has in-memory fallback)
# Clone the repository
cd SF_AWS_HACK
# Install dependencies
pip install -r requirements.txtCopy the example environment file and configure your credentials:
cp .env.example .envEdit .env:
# Anthropic API Configuration
ANTHROPIC_API_KEY=your_api_key_here
# Redis Configuration (optional)
REDIS_HOST=localhost
REDIS_PORT=6379
# Model Configuration
MODEL_NAME=claude-3-5-sonnet-20241022
MAX_TOKENS=4096
DEFAULT_TEMPERATURE=0.7python echoduo.py "AI taking over jobs"python echoduo.py "climate change and technology"python echoduo.py "remote work trends" --context "Recent study shows 74% of workers prefer hybrid models..."python echoduo.py "mental health in tech" --sponsor Calm# View current memory
python echoduo.py --show-memory
# Clear memory (reset sponsor/phrase history)
python echoduo.py --clear-memoryAlex - Curious, reflective, empathetic
- Asks thoughtful questions
- Draws connections between ideas
- Brings emotional intelligence
Maya - Analytical, grounded, insightful
- Provides data-driven analysis
- Offers practical perspectives
- Grounds conversations in reality
- Calm - Meditation, mental health, mindfulness, wellness
- Nike - Fitness, sports, motivation, performance
- Notion - Productivity, organization, collaboration tools
- Coder - Developer tools, programming platforms
- Forethought - AI automation, customer service
- Skyflow - Data privacy, security, compliance
- Context Gathering: Scrapes real-world information about the topic
- Memory Check: Reviews recent sponsors and phrases to avoid repetition
- Sponsor Selection: AI chooses the most relevant sponsor for the topic
- Initial Generation: Creates first draft of conversation
- Self-Critique: Analyzes the conversation for naturalness and flow
- Improvement: Generates final improved version
- Memory Update: Stores sponsor and key phrases for future avoidance
SF_AWS_HACK/
βββ echoduo.py # Main entry point
βββ podcast_generator.py # Core generation logic
βββ bedrock_client.py # AWS Bedrock/Claude interface
βββ memory_manager.py # Redis memory management
βββ lightpanda_scraper.py # Web scraping for context
βββ config.py # Configuration management
βββ requirements.txt # Python dependencies
βββ .env.example # Environment template
βββ README.md # This file
Alex: So I've been thinking about this whole AI automation thing. The numbers are actually pretty staggering.
Maya: Right, I saw that recent report - 27% of repetitive roles automated in just the last year. That's not some distant future prediction, that's happening now.
Alex: And here's what gets me - everyone focuses on the jobs being lost, but what about the new ones emerging? Like AI supervision roles, or human-AI collaboration specialists?
Maya: Exactly. It's not just displacement, it's transformation. Though I'll admit, when I'm organizing all this information, trying to keep track of different perspectives, data points, studies...
Alex: You use Notion for that, right?
Maya: Yeah, it's been a game-changer. I can link related ideas, embed data, create different views. It's like having a second brain that actually helps me think through these complex topics instead of just storing information.
Alex: That's interesting because it's kind of meta - using a productivity tool to analyze how AI tools are changing work.
...
- No conversation content is stored permanently
- Only metadata (sponsor names, key phrases) kept in Redis
- All web scraping respects robots.txt and rate limits
- AWS credentials never exposed in code
If Redis is not available, the system automatically falls back to in-memory storage. You'll see:
β οΈ Redis not available, using in-memory fallback
Ensure your AWS account has Bedrock access enabled and Claude 3.5 Sonnet model access granted.
The system includes fallback context for common topics if web scraping fails.
- Multiple voice profiles beyond Alex & Maya
- Audio generation integration
- Multi-episode story arcs
- Sentiment analysis for sponsor fit
- A/B testing different conversation styles
- Integration with podcast hosting platforms
MIT License - Feel free to use this for your hackathon projects!
This is a hackathon project, but contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Share your generated podcasts
Built for the SF AWS Hackathon 2025
Powered by:
- AWS Bedrock (Claude 3.5 Sonnet)
- Redis
- Python ecosystem
Made with β€οΈ and β by the EchoDuo team