I was inspired by Perplexity AI's integration with WhatsApp, which brings powerful AI search capabilities to messaging. However, I noticed that Telegram's massive user base of over 800 million users lacked a similar integration despite having a more flexible bot API. This sparked my idea to not only bring Perplexity to Telegram but to extend it beyond what's available in the WhatsApp version. While the WhatsApp integration offers basic search functionality, I wanted to create a more comprehensive AI assistant by adding several key enhancements: Breaking News Subscriptions: Users can subscribe to topics and receive automated AI-curated updates at regular intervals Smart Reminders: The ability to set natural language one-time and recurring reminders Code Analysis: Send code snippets for analysis, debugging, and improvement Multiple Model Selection: Switch between different Perplexity models for specific use cases Domain and Recency Filtering: Narrow searches to specific websites or time periods Building this project taught me a great deal about asynchronous programming patterns in Python, database design for conversational applications, and integrating complex scheduling systems. I gained valuable experience with Docker containerization and PostgreSQL for production-ready applications. The biggest challenges came from implementing the scheduling system for both reminders and news updates. Ensuring these worked reliably while keeping the database in sync required careful design. Another significant challenge was handling various conversation states and context preservation across different chat sessions, which I solved using a combination of database persistence and in-memory caching.
Built With
- asyncio
- docker
- fastapi
- perplexity
- postgresql
- python
- sonarapi
Log in or sign up for Devpost to join the conversation.