Created by Harish Balaji
DailyPod is an innovative news delivery system that automatically fetches US news, summarizes it using AI, converts it to audio, and delivers it to users via WhatsApp every morning at 7:30 AM. Perfect for busy professionals who want to stay informed while on the go.
- AI-Powered Summaries: Uses ChatGPT to create engaging, concise news summaries
- Multi-Language Support: Available in English, Spanish, French, German, and Portuguese
- High-Quality Audio: Google Cloud Text-to-Speech for natural-sounding audio
- WhatsApp Integration: Direct delivery to users' WhatsApp accounts
- Automated Scheduling: Daily delivery at 7:30 AM with automated news fetching
- Scalable Architecture: Designed to support 500+ concurrent users
- Admin Dashboard: Complete management interface for monitoring and control
- Database Storage: SQLite database for user management and article storage
- Python 3.8 or higher
- Redis server (for background tasks)
- Valid API keys for:
- NewsAPI
- OpenAI (ChatGPT)
- WhatsApp Business API
- Google Cloud (Text-to-Speech)
-
Clone the repository
git clone https://github.com/harishbalajib/DailyPod.git cd DailyPod -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables Create a
.envfile in the project root with your API keys:# Admin Credentials ADMIN_USERNAME=admin ADMIN_PASSWORD=admin123 # API Keys OPENAI_API_KEY=your_openai_api_key WHATSAPP_TOKEN=your_whatsapp_token WHATSAPP_PHONE_ID=your_whatsapp_phone_id NEWS_API_KEY=your_news_api_key GOOGLE_CLOUD_CREDENTIALS=path/to/your/google_credentials.json # App Configuration DEBUG=True HOST=0.0.0.0 PORT=8001 REDIS_URL=redis://localhost:6379/0 DATABASE_URL=sqlite:///./dailypod.db
-
Start Redis server
redis-server
-
Run the application
python app.py
-
Access the application
- Main site: http://localhost:8001
- Admin panel: http://localhost:8001/admin/login
- Subscribe: Visit the website and enter your phone number and preferred language
- Receive Welcome: Get a welcome message on WhatsApp confirming your subscription
- Daily Delivery: Every morning at 7:30 AM, receive your personalized news summary as an audio file
- Stay Informed: Listen to the latest US news while commuting, exercising, or during your morning routine
- News Fetching: Automated collection of US news from NewsAPI every 6 hours
- AI Summarization: ChatGPT processes articles to create engaging summaries
- Audio Generation: Google Cloud TTS converts summaries to high-quality audio
- WhatsApp Delivery: Automated sending to all active subscribers
- Monitoring: Comprehensive logging and admin dashboard for system management
- Fetches top US headlines across multiple categories
- Supports multiple languages
- Automatic deduplication of articles
- Creates concise, engaging summaries
- Multi-language support
- Optimized for audio consumption
- High-quality neural voices
- Multiple language support
- Optimized audio settings for clarity
- Direct message delivery
- Audio file sharing
- Delivery status tracking
- Real-time system statistics
- User activity monitoring
- System health checks
- Recent activity logs
- View all subscribers
- Toggle user status
- Monitor delivery history
- Language preferences
- Browse all fetched articles
- View AI-generated summaries
- Monitor audio generation status
- Filter by language and category
- Trigger news fetching
- Manual delivery testing
- System health monitoring
- Audio cleanup management
- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Portuguese (pt)
- General
- Business
- Technology
- Sports
- Entertainment
- Daily Delivery: 7:30 AM (US time zones)
- News Fetching: Every 6 hours
- Audio Cleanup: Daily at 2:00 AM
- Health Checks: Every hour
The system is designed to handle 500+ concurrent users with:
- Efficient database queries
- Background task processing
- Automated resource cleanup
- Comprehensive error handling
- System monitoring and logging
- Admin authentication required for management functions
- API key protection
- Input validation and sanitization
- Secure file handling
- Error logging without sensitive data exposure
For production deployment using Docker:
-
Start Redis and Celery
docker-compose up -d redis celery -A tasks worker --loglevel=info
-
Run the application
python run_docker.py
-
Redis Connection Error
- Ensure Redis server is running
- Check REDIS_URL configuration
-
API Key Errors
- Verify all API keys are valid and active
- Check API quotas and limits
-
WhatsApp Delivery Issues
- Verify WhatsApp Business API setup
- Check phone number format (should include country code)
-
Audio Generation Problems
- Ensure Google Cloud credentials are valid
- Check available disk space for audio files
System logs are stored in the database and accessible through the admin dashboard. Check for:
- API request failures
- Delivery errors
- System warnings
- Performance metrics
DailyPod/
├── app.py # Main Flask application
├── config.py # Configuration settings
├── models.py # Database models
├── tasks.py # Celery background tasks
├── services/ # Service modules
│ ├── news_service.py # News API integration
│ ├── ai_service.py # OpenAI integration
│ ├── tts_service.py # Text-to-Speech service
│ └── whatsapp_service.py # WhatsApp integration
├── templates/ # HTML templates
├── static/ # Static files
├── test/ # Test scripts
└── requirements.txt # Python dependencies
python test/test_system.pyThis project is created by Harish Balaji. All rights reserved.
For support or questions, please contact the development team or create an issue in the project repository.
DailyPod - Your AI-powered daily news podcast, delivering the world's stories to your WhatsApp every morning.

