Inspiration
We both love to yap, but often that yap becomes messy and chaotic, especially when group chats can have 30+ people talking about anything and everything. We wanted to turn the cacophony of messages in a group-chat into insights and statistics about our friends and how they talk!
What it does
- It computed some preliminary lightweight stats such as average messages per user, most used reactions, peak activity times.
- It then allows the user to ask abstract questions such as "who is the meanest?" or "Who is the best duo?"
- Play "Who Said It?" with AI-curated funny quotes directly from your group chat.
- Get AI Generated superlatives based on factual analysis with evidence. Now the gaslighter in your friend group has no choice but to admit to their crimes!!!
How we built it
- We used primarily TypeScript to preprocess the chat logs.
- Fed the data into the Gemini API which returns a JSON in exactly the format our code is meant to support it, allowing for not only text analysis, but also visualizations through custom graphs.
- Used a hand-crafted prompt which filters out quotes such as "Person X reacted with ❤️" in the "Who Said It?" game.
Challenges we ran into
- Tuning the code to accommodate different metrics which can be represented in several different ways.
- For "Who Said It?", getting the AI to choose high signal messages, most unique and which can be easily ascribed to a single person.
- Accommodating the large input-token size in accordance with the limited context-window of LLMs such as Gemini API. ## Accomplishments that we're proud of
- Successfully figured out how to keep the API latency low even with an extremely large input window, often relying on some partially precomputed stats.
- Managed to keep the AI extremely general and able to answer almost any question about the group-chat, from the concrete numbers, to making guesses as to "Who would be most likely to... and why?"
We made something we know we and our friends can use and have a good time with.
What we learned
Learned what prompt engineering is. Getting the Gemini API to output a suitable JSON for the code to parse into a graph required a heavy hand in fine-tuning.
Gained experience in using TypeScript as getting the UI to look exactly as we wanted it required a familiarity with the code.
What's next for bantr.ai
- Add support for other platforms such as iMessage, Discord, WhatsApp...
- Add in RAG to support group-chats with a much larger amount of messages.
- Implement more games! One idea was to present the user with two statements and figure out which one person X actually said.
- User's choice in preprocessing the data for the games to only include certain participants.
Built With
- gemini
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.