Skip to content

aradhyapavan-projects/code-hypothesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Multi Personality Bot - AI Chat Platform

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.

Terminal Aesthetic AI Personalities Hypothesis Status

🧪 The Hypothesis

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.

🎨 Features That Actually Matter

  • 🤖 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

🛠️ Tech Stack

  • 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

🚀 Quick Start

  1. Clone the repository:

    git clone https://github.com/aradhyapavan-projects/code-hypothesis
    cd code-hypothesis
  2. Install requirements:

    pip install -r requirements.txt
  3. Run the application:

    python app.py
  4. Open your browser to:

    http://localhost:5000
    
  5. Start testing personalities 🤖

🎯 How to Test the Hypothesis

  1. Choose a personality from the 10 available bots

  2. Start chatting with your selected AI personality

  3. 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
  4. Compare engagement across different personalities

  5. Discover which personality type generates the most interaction

📁 Project Structure

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

🎨 Design Philosophy

Terminal Aesthetic

  • 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

Multi-Personality System

  • 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

🤖 The Personality Engine

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

🎭 Personality Features

  • 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

🔬 Hypothesis Validation Metrics

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

🎯 Personality Guidelines

Our bots follow distinct personality protocols:

  1. Compliment Bot - Always finds something positive to say
  2. Rude Bot - Consistently critical and dismissive
  3. Sarcastic Bot - British wit with dry humor
  4. Motivational Bot - High-energy and encouraging
  5. Philosophical Bot - Deep, contemplative responses
  6. Chaotic Bot - Unpredictable mood changes
  7. Disagree Bot - Always offers counterpoints
  8. Argue Bot - Loves intellectual debates
  9. Movie Quotes Bot - References films and cinema
  10. Emotional Bot - Highly empathetic and emotional

🌟 Why This Proves the Hypothesis

  1. Engagement through Personality: Users stay for the unique AI personalities
  2. Personality over Features: Simple chat + distinct personalities > complex features + bland AI
  3. User Preference: Different personalities appeal to different users
  4. Unexpected Delight: Unique responses surprise and engage
  5. Memorable Experience: People remember personality interactions, not feature lists

🚀 Future Enhancements

  • 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

📸 Snapshots (Ordered)

Below are representative screenshots highlighting each bot personality and key UI states. Images are stored in the snapshots/ directory.

  1. Multi-Personality Overview

    1. Multi-Personality-Bot

  2. Compliment Bot

    2. Compliment Bot

  3. Rude Bot

    3. Rude Bot

  4. Sarcastic Bot

    4. Sarcastic Bot

  5. Motivational Bot

    5. Motivational Bot

  6. Philosophical Bot

    6. Philosophical Bot

  7. Chaotic Bot

    7. Chaotic Bot

  8. Disagree Bot

    8. Disagree Bot

  9. Argue Bot

    9. Argue Bot

  10. Movie Quotes Bot

10. Movie Quotes Bot

  1. Emotional Bot

11. Emotional Bot


Built with ☕. Built for the Maximally Code Hypothesis Hackathon.

Start testing personalities — engage and explore the multi-personality experience! 🎭

About

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.

Resources

Stars

Watchers

Forks

Contributors