Can you guess who said that? Upload your group chat history and turn it into an exciting guessing game!
-
Replace the Mistral AI API key in
backend/message_generator.py -
Install dependencies:
pip install -r requirements.txt
-
Run the server:
python frontend/app.py
-
Open your browser:
- Go to
http://localhost:5000 - Or use your PC's IP address to connect from phones
- Go to
- Click "Create Game" on the homepage
- Select your chat platform:
- Discord: Export your server/channel as TXT
- WhatsApp: Export your chat as a TXT file
- Upload your chat files:
- Drag and drop files or click to select
- Supports single files or ZIP archives
- Click "Upload & Process"
- The system will automatically process your chat data
- Watch the progress bar as it analyzes your conversations
- Click "Create Game" once processing is complete
- Share the game code with your friends
- Start the game when everyone has joined
- Enter your username and the game code from the host
- Click "Join Game"
- Wait for the host to start the game
- Guess who sent each message!
Score Explanations:
-
Distinctiveness Score: This score indicates how closely a message aligns with a player's unique texting style, based on factors such as word choice, punctuation, and message length. Higher scores mean the message is more typical for that player. There's no fixed maximum—the score increases as more of the player's signature habits appear in the message.
-
BERT Similarity Score: This score utilizes measures the similarity between a message and a player's actual messages, taking into account both meaning and style. It's shown as a percentage from 0% to 100%, where higher values mean the message is more similar to that player's usual way of texting.
- Export your Discord direct messages/server channel as TXT using external tools
- Upload the TXT file(s)
- Go to Settings > Chats > Export Chat
- Export your WhatsApp chat as ZIP file
- Extract it and upload the TXT file
The system automatically runs a complete pipeline when you upload files:
- File Parsing: Converts Discord/WhatsApp exports to structured data
- Data Preprocessing: Analyzes user profiles and message patterns
- Game Data Creation: Selects the most distinctive messages for the game
- To prevent easy guessing, any messages that mention usernames or parts of usernames of participants are filtered out during message selection and AI generation. This is especially important for small group chats or DMs, where name mentions can make attribution trivial.
- Synthetic Message Generation: Creates AI-generated messages in each user's style
- Sentiment Analysis: Adds emotional context to messages
- Game Integration: Loads processed data into the game engine
- Real Messages: Guess who sent actual messages from your chat
- Synthetic Messages: Challenge yourself with AI-generated messages
- Scoring System: Points based on message distinctiveness and difficulty
- Real-time Multiplayer: Play with friends simultaneously
- Leaderboards: Track scores and see who's the best guesser
If you want to run the data processing pipeline separately:
python final.py- Upload fails: Make sure your files are in the correct format (TXT)
- Processing errors: Check the console output for detailed error messages
- Connection issues: Verify the server IP address and port in the browser console
- For other issues, you can open a new issue on this repository or contact me at nilatabey@gmail.com
This project was developed as part of the AI Lab: Computer Vision and NLP course taught by Prof. Daniele Pannone for the Applied Computer Science and Artificial Intelligence BSc program at Sapienza University of Rome.
I’m sharing all of this material as a reference for future students and anyone interested in building similar NLP-based interactive applications.
This project is licensed under the MIT License.
It is shared for educational and entertainment purposes. Feel free to use, modify, and build upon it with proper attribution.

