A tool that reads your newsletter subscriptions through Gmail, extracts the key concepts, and helps you generate Twitter content from them.
Echo connects to your Gmail account to process newsletter emails. It:
- Fetches newsletters and extracts meaningful concepts using LLMs
- Stores and organizes these concepts, removing duplicates
- Generates tweets or threads based on the extracted content
-
📧 Smart Email Processing
- Gmail API integration for newsletter fetching
- Automatic concept extraction using gpt-4o or deepseek-v3
- Duplicate detection with semantic similarity checking
-
🧠 Advanced Content Generation
- Support for multiple LLM models (OpenAI, DeepSeek)
- Single tweet and thread generation
- Context enhancement with similar concepts (using semantic similarity)
- Custom instruction support
-
💫 Modern Web Interface
- Built with Streamlit
- Real-time content preview
- Responsive design
- Easy-to-use concept management
- Python 3.8 or higher
- Google Cloud Platform account
- OpenAI API key (or DeepSeek API key)
- Clone the repository:
git clone https://github.com/yourusername/Echo.git
cd Echo
- Create and activate a virtual environment:
python3 -m venv .venv_echo
source .venv_echo/bin/activate # On Windows use: .venv_echo\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up Google Cloud Platform:
- Create a new project in Google Cloud Console
- Enable the Gmail API
- Create OAuth 2.0 credentials
- Download the credentials and save as
credentials.json
in the root directory
streamlit run Echo.py
Visit http://localhost:8501
in your browser to start using Echo!
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Follow me on Twitter/X: @RechManuel
- ⭐ Star this repo if you find it helpful!
- 🐛 Report bugs by opening an issue
- 💡 Request features through issues
- 🤝 Contribute to make Echo even better