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

Share this project:

Updates