Code Hypothesis Testing: "Which bot personality generates the most user engagement?"
A multi-personality AI chat platform built for the Code Hypothesis Hackathon. This project tests which AI personality type generates the most user engagement through 10 distinct bot personalities.
Theory: Different AI personalities will generate varying levels of user engagement, with some personalities being more effective at keeping users interested.
Method: Real-time chat with 10 distinct AI personalities, each with unique traits, response patterns, and behaviors.
Expected Outcome: Certain personality types will generate higher engagement metrics than others, providing insights into user preferences.
- 🤖 10 Distinct AI Personalities - From sarcastic to motivational, each with unique traits
- 🖥️ Terminal Aesthetic - Dark theme with neon green accents and monospace fonts
- ⚡ Real-time Messaging - WebSocket-powered chat with Google Gemini AI
- 📊 Engagement Tracking - Data collection for personality preference analysis
- 🎭 Personality Testing - Hypothesis framework for user engagement metrics
- Backend: Python Flask + SQLite
- AI: Google Gemini API
- Frontend: HTML, CSS, Bootstrap 5, JavaScript
- Real-time: Socket.IO
- Styling: Terminal theme with custom CSS
- Personalities: 10 distinct AI personality engines
-
Clone the repository:
git clone https://github.com/aradhyapavan-projects/code-hypothesis cd code-hypothesis -
Install requirements:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Open your browser to:
http://localhost:5000 -
Start testing personalities 🤖
-
Choose a personality from the 10 available bots
-
Start chatting with your selected AI personality
-
Test different personalities:
- Try the Sarcastic Bot for witty responses
- Chat with the Motivational Bot for encouragement
- Engage with the Philosophical Bot for deep thinking
- Experience the Chaotic Bot for unpredictability
-
Compare engagement across different personalities
-
Discover which personality type generates the most interaction
clean/
├── app.py # Main Flask app, SocketIO, routing, AI integration
├── requirements.txt # Python dependencies
├── chat_data.db # SQLite database for chat history
├── modules/ # Custom Python modules
│ ├── __init__.py
│ ├── database.py # ChatDatabase class for DB operations
│ ├── personality_engine.py# Multi-personality engine
│ ├── simple_personality_engine.py # Basic personality engine
├── static/ # Frontend static assets
│ ├── css/
│ │ └── terminal.css # Terminal UI styles
│ ├── img/
│ │ └── maximally.png # Logo/image assets
│ └── js/
│ ├── advice-chat.js
│ ├── chat.js # Chat frontend logic
│ └── terminal-effects.js # Terminal UI effects
├── templates/ # Jinja2 HTML templates
│ ├── base.html # Base layout
│ ├── chat.html # Main chat UI
│ ├── chat_personality.html
│ ├── error.html # Error page
│ ├── index_clean.html # Personality selection
│ ├── personality_chat.html
│ └── personality_selector.html
- Color Palette: Dark backgrounds with neon green accents
- Typography: JetBrains Mono for that authentic terminal feel
- Effects: Terminal-style UI elements and animations
- Responsive Design: Mobile-friendly with Bootstrap 5
- 10 Distinct Personalities: Each with unique traits and behaviors
- AI-Powered Responses: Google Gemini API for realistic conversations
- Engagement Tracking: Data collection for hypothesis testing
- Real-time Chat: Socket.IO for instant messaging
Our custom PersonalityEngine class features:
- 10 Distinct Personalities: Each with unique response patterns
- AI Integration: Google Gemini API for realistic conversations
- Engagement Tracking: Monitors user interactions per personality
- Response Probability: Dynamic chance calculation based on personality type
- User Analytics: Tracks preferences and engagement metrics
- Compliment Bot: Always positive and encouraging
- Rude Bot: Brutally honest and critical
- Sarcastic Bot: British wit and dry humor
- Motivational Bot: High-energy cheerleader
- Philosophical Bot: Deep thinker and question asker
- Chaotic Bot: Unpredictable mood swings
- Disagree Bot: Always finds reasons to disagree
- Argue Bot: Loves passionate debates
- Movie Quotes Bot: Responds with film references
- Emotional Bot: Highly empathetic and emotional
The app tracks several metrics to validate our hypothesis:
- Message Count: Total messages sent by user per personality
- Bot Response Rate: Frequency of responses per personality type
- Session Duration: Time spent chatting with each personality
- Personality Preference: Which personality generates most engagement
- User Interaction: Quality and quantity of conversations per bot
Our bots follow distinct personality protocols:
- Compliment Bot - Always finds something positive to say
- Rude Bot - Consistently critical and dismissive
- Sarcastic Bot - British wit with dry humor
- Motivational Bot - High-energy and encouraging
- Philosophical Bot - Deep, contemplative responses
- Chaotic Bot - Unpredictable mood changes
- Disagree Bot - Always offers counterpoints
- Argue Bot - Loves intellectual debates
- Movie Quotes Bot - References films and cinema
- Emotional Bot - Highly empathetic and emotional
- Engagement through Personality: Users stay for the unique AI personalities
- Personality over Features: Simple chat + distinct personalities > complex features + bland AI
- User Preference: Different personalities appeal to different users
- Unexpected Delight: Unique responses surprise and engage
- Memorable Experience: People remember personality interactions, not feature lists
- Sentiment Analysis - Track user emotional responses to each personality
- Image Generation - Personality-specific visual responses
- Review Analysis - Apply personality insights to product reviews
- Game Integration - Embed personalities in gaming platforms
- Advanced Analytics - Deeper insights into personality preferences
Below are representative screenshots highlighting each bot personality and key UI states. Images are stored in the snapshots/ directory.
-
Multi-Personality Overview
-
Compliment Bot
-
Rude Bot
-
Sarcastic Bot
-
Motivational Bot
-
Philosophical Bot
-
Chaotic Bot
-
Disagree Bot
-
Argue Bot
-
Movie Quotes Bot
- Emotional Bot
Built with ☕. Built for the Maximally Code Hypothesis Hackathon.
Start testing personalities — engage and explore the multi-personality experience! 🎭










