MicroCrowd
Transform consumer data into realistic personas for simulated focus groups and market research insights.
Install / Use
/learn @vtmade/MicroCrowdREADME
MicroCrowd - Enhanced AI Focus Groups
Transform CSV data into realistic personas for natural, authentic focus group discussions with advanced conversation intelligence.
🚀 Overview
MicroCrowd bridges the gap between static data and dynamic human insights by transforming consumer datasets into interactive personas for experimental research. Traditional market research methods are limited by cost, time, and participant availability, while generic AI lacks the nuanced diversity of real human perspectives. MicroCrowd enables researchers and strategists to conduct focus group simulations with authentic personality-driven responses, making advanced research methodologies accessible for experimentation across diverse scenarios—from product testing and user experience research to academic studies and strategic planning.
This a framework working model and not scaled for mass use.
🎬 Demo
Check out MicroCrowd in action in demo video
https://youtube.com/shorts/WjuCvi4yywE
🚀 Quick Start
Want to see the enhanced conversation engine in action?
- Clone and install:
git clone https://github.com/vtmade/MicroCrowd.git && cd MicroCrowd && npm install - Add your OpenAI API key to
.envfile - Run:
npm run dev - Upload the included
sample_personas.csv - Start a focus group on a controversial topic like "climate change" or "gun laws"
- Watch authentic disagreements unfold! 🎭
✨ Key Features
🧠 Enhanced Conversation Engine (NEW!)
- 🤝 Realistic Disagreements: Personas authentically disagree based on demographics and backgrounds
- 🎯 Smart Reference Validation: Only references actual statements with exact quotes
- 🗣️ Persona-Specific Speech Patterns: 6 distinct speaking styles based on personality and background
- 📊 Dynamic Behavior Tracking: Real-time emotional states affect participation and responses
- ⚡ Intelligent Interruptions: Natural conversation flow with personality-driven interruptions
🔄 Core Functionality
- 📊 CSV-to-Persona Transformation: Convert any CSV dataset into rich, multi-dimensional personas
- 🎭 Authentic Personalities: Each persona has unique traits, behaviors, and response patterns
- 💬 Natural Conversations: Realistic focus group dynamics with varied participation levels
- 🎯 Professional Moderation: AI moderator follows your discussion guide systematically
- ⏸️ Real-time Control: Pause, resume, or end sessions at any time
- 📈 Export Transcripts: Download complete conversation logs for analysis
🎯 Use Cases
Market Research
- Product Testing: Understand how different demographics react to new products
- Brand Perception: Explore brand associations across diverse consumer segments
- Feature Prioritization: Identify which features resonate with different user types
- Pricing Strategy: Test price sensitivity across various customer personas
Academic Research
- Social Studies: Simulate group discussions on social issues or policies
- Psychology Research: Study group dynamics and personality interactions
- Educational Research: Test teaching methods or educational content
- Behavioral Studies: Explore decision-making patterns in group settings
UX/Design Research
- User Journey Mapping: Understand how different users navigate your product
- Interface Testing: Get diverse perspectives on design choices
- Accessibility Research: Include personas with varying abilities and tech comfort
- Content Strategy: Test messaging with different demographic groups
Innovation & Strategy
- Idea Validation: Test concepts with diverse stakeholder perspectives
- Scenario Planning: Explore how different groups might react to changes
- Risk Assessment: Understand potential concerns from various viewpoints
- Stakeholder Alignment: Simulate discussions between different organizational roles
🛠️ Installation
Prerequisites
- Node.js 16.0.0 or higher
- npm or yarn package manager
- OpenAI API key
Quick Start
-
Clone the repository
git clone https://github.com/vtmade/MicroCrowd.git cd MicroCrowd -
Install dependencies
npm install -
Set up environment variables Create a
.envfile in the root directory:API_KEY=your_openai_api_key_here
- In your MicroCrowd folder, create a
.envfile using env example file - Replace
your_openai_api_key_herewith your actual OpenAI API key
-
Start the development server
npm run dev -
Open your browser Navigate to
http://localhost:5173
📋 How to Use
Step 1: Prepare Your Data
Create a CSV file with any combination of relevant fields:
name,age,occupation,location,income,interests,education
Sarah Johnson,32,Marketing Manager,Seattle,75000,Sustainability;Technology,Bachelor's
Mike Chen,45,Small Business Owner,Austin,55000,Sports;Family,High School
...
Supported fields (all optional):
- Demographics:
name,age,gender,location - Professional:
occupation,industry,income,experience - Personal:
interests,hobbies,education,family_status - Any custom fields relevant to your research
Step 2: Generate Personas
- Click "Generate Personas" in the navigation
- Upload your CSV file
- Wait for AI to transform each row into a rich persona profile
- Review generated personas with full personality traits and backgrounds
Step 3: Setup Focus Group
- Navigate to "Setup Focus Group"
- Configure your session:
- Topic: The main subject for discussion
- Research Goal: What insights you're seeking
- Discussion Guide: Key questions/topics to cover
- Max Turns: How many rounds of discussion
- Participants: Select which personas to include
Step 4: Run the Simulation
- Click "Start Focus Group"
- Watch as the AI moderator facilitates natural discussion
- Use controls to pause, resume, or end the session
- Download transcript when complete
🎭 Enhanced Conversation Intelligence
What Makes It Different?
🚫 Before Enhancement:
- 90%+ artificial consensus on controversial topics
- Generic template responses across all personas
- Invalid references to non-existent statements
- No personality-driven behavior changes
✅ After Enhancement:
- Realistic Disagreements: 30-70% disagreement based on topic controversy
- Authentic Speech Patterns: Distinct vocabulary and style per demographic
- Validated Conversations: Only references actual statements with exact quotes
- Dynamic Personalities: Behavior changes based on emotional investment
Conversation Examples
Gun Laws Discussion:
- Rural Construction Worker: "I've been hunting since I was 12. Gun control won't stop criminals."
- Urban Teacher: "[PASSIONATE] I see the fear in my students' eyes during lockdown drills. We need action."
- Suburban Analyst: "The data shows both perspectives have merit, but we need balanced regulation."
Climate Change Discussion:
- Environmental Scientist: "The evidence is overwhelming - we're facing an emergency."
- Energy Worker: "[FRUSTRATED] Easy for you to say. These policies cost real jobs."
- Working Parent: "I want a better world for my kids, but I can't afford an electric car right now."
Technical Improvements
- 🔍 Reference Validation: No more "someone mentioned" - only verified quotes
- 🎭 Speech Diversity: Age, education, and regional speech patterns
- 😤 Emotional States: Frustration, engagement, and confidence affect responses
- ⚡ Natural Interruptions: Personality-driven interjections and disagreements
- 📊 Flow Intelligence: AI moderator adapts to conversation dynamics
📁 Project Structure
MicroCrowd/
├── 📱 components/ # React UI components
├── 📄 pages/ # Application pages
├── 🧠 services/ # Enhanced conversation engine & core logic
│ ├── conversationOrchestrator.ts # Main conversation coordinator
│ ├── conversationTracker.ts # Statement validation
│ ├── controversyStanceAssigner.ts # Disagreement generation
│ ├── responseStyleManager.ts # Speech pattern diversity
│ └── ... (8 advanced services)
├── 🛠️ scripts/ # Development and deployment scripts
├── 🔧 tools/ # Python utilities and testing tools
├── 📚 docs/ # Documentation and guides
│ ├── ENHANCED_CONVERSATION_ENGINE.md # Technical details
│ └── ENHANCED_SETUP.md # Setup guide
├── 📊 sample_personas.csv # Example data for testing
└── 📖 README.md # This file
🔧 Configuration
Environment Variables
API_KEY=your_openai_api_key # Required: OpenAI API key
OPENAI_MODEL=gpt-4o-mini # Optional: Model to use (default: gpt-4o-mini)
CSV Format Guidelines
- Flexible Structure: Any column names and data types accepted
- No Required Fields: System adapts to available data
- Rich Data = Rich Personas: More fields create more detailed personalities
- Clean Data: Remove duplicates and ensure consistent formatting
🤝 Contributing
Welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes MicroCrowd better for everyone.
Ways to Contribute
- 🐛 Bug Reports: Found an issue? Open a GitHub issue
- 💡 Feature Requests: Have an idea? We'd love to hear it
- 🔧 Code Contributions:
