-
-
Import a Telegram chat export to build your group's quote archive and shared memory.
-
Test context-aware replies and rate whether the joke landed or became overused.
-
Completed analysis of 241,569 text messages across 559 chunks, with visible coverage and API call usage.
-
Bind Telegram groups to chat profiles and manage reply settings, cooldowns, and bot status.
-
Explore recurring inside jokes, their usage context, and evidence linked to original chat messages.
Inspiration
Every friend group has its own language: inside jokes, recurring memes, and legendary messages that only make sense to the people who were there. Over time, those moments get buried in Telegram history.
We wanted to give that shared history a new life. The idea behind Vkyd is to build a bot whose humor comes from the group's own conversations, references, and memories.
What it does
Vkyd turns an exported Telegram chat history into a searchable quote archive and an editable humor profile. It identifies recurring references and communication patterns, retrieves original quotes with their author and date, and generates new replies shaped by the group's style.
Users can explore the archive, edit the profile, test replies in a web playground, and rate whether a response landed or became overused. They can also connect a Telegram bot that responds to commands, mentions, or replies.
How we built it
We used agy for AI-assisted development and Google for research as we worked through implementation questions.
The application combines a Python and FastAPI backend, SQLite for local storage and quote search, a web interface, and a Telegram bot. Google's Gemini API analyzes the chat history and generates replies using the resulting humor profile and retrieved messages.
To handle long histories, we process messages in chunks and combine the findings into a shared profile. Original quotes are retrieved directly from the archive, preserving their text and attribution.
Challenges we ran into
One challenge was preserving context across a large conversation history. An inside joke can develop over many messages, and analyzing isolated fragments can miss what makes it funny.
We also had to distinguish authentic quotes from generated replies and connect archive importing, search, AI analysis, profile editing, and Telegram delivery into a consistent workflow. Managing API limits and recovering from interrupted analysis added another layer of complexity.
Accomplishments that we're proud of
Our biggest accomplishment was bringing all these moving parts together into one coherent system.
We connected the path from a Telegram export to searchable memories, an editable humor profile, and bot responses. Getting the different tools, services, and interfaces to work together gave us a practical foundation for the project we want to develop further.
What we learned
We learned how much of an AI application's behavior depends on the surrounding system: how context is prepared, how information is retrieved, and how outputs are checked.
We also learned that humor needs context and human feedback. Giving users control over the profile and a way to evaluate replies became an important part of the design.
What's next for Vkyd
Our next step is to finish the remaining features and improve the overall bot experience.
We also plan to deploy local models to reduce our dependence on paid APIs and give us more control over how chat data is processed.
Another priority is just-in-time analysis of recent conversations. We want the bot to incorporate fresh context when needed, helping it follow evolving jokes and references without repeatedly analyzing the entire archive.roud of
Log in or sign up for Devpost to join the conversation.