Transform CSV data into realistic personas for natural, authentic focus group discussions with advanced conversation intelligence.
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.
Check out MicroCrowd in action in demo video
https://youtube.com/shorts/WjuCvi4yywE
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
.env
file - 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! π
- π€ 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
- π 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
- 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
- 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
- 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
- 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
- Node.js 16.0.0 or higher
- npm or yarn package manager
- OpenAI API key
-
Clone the repository
git clone https://github.com/vtmade/MicroCrowd.git cd MicroCrowd
-
Install dependencies
npm install
-
Set up environment variables Create a
.env
file in the root directory:API_KEY=your_openai_api_key_here
- In your MicroCrowd folder, create a
.env
file using env example file - Replace
your_openai_api_key_here
with your actual OpenAI API key
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
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
- 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
- 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
- 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
- 90%+ artificial consensus on controversial topics
- Generic template responses across all personas
- Invalid references to non-existent statements
- No personality-driven behavior changes
- 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
- 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."
- 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."
- π 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
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
API_KEY=your_openai_api_key # Required: OpenAI API key
OPENAI_MODEL=gpt-4o-mini # Optional: Model to use (default: gpt-4o-mini)
- 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
Welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes MicroCrowd better for everyone.
- π Bug Reports: Found an issue? Open a GitHub issue
- π‘ Feature Requests: Have an idea? We'd love to hear it
- π§ Code Contributions: Submit pull requests for improvements
- π Documentation: Help improve guides and examples
- π§ͺ Testing: Try different CSV formats and report results
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Test thoroughly
- Submit a pull request
See docs/CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the AI models that power realistic conversations
- React & Vite for the modern development framework
- Research Community for inspiration and feedback on focus group methodologies
- Open Source Contributors who make projects like this possible
- Documentation: Check this README and inline help
- Issues: Report bugs on GitHub Issues
- Discussions: Join community discussions in GitHub Discussions
- Email: Contact the maintainer at vpst18@gmail.com
- π¬ MicroCrowd-Researcher: Python backend for advanced research capabilities and fine-tuning
- π Advanced Analytics: Sentiment analysis, theme extraction, and conversation insights
- π Enhanced Export Formats: PDF reports, Excel summaries, and data visualization
- π― Custom Moderation: Upload your own moderator personalities and conversation styles
- π Integration APIs: Connect with survey platforms, CRM systems, and research tools
- π Multi-language Support: Conduct focus groups in different languages
- π± Mobile Optimization: Responsive design for mobile research scenarios
Want to influence the future of MicroCrowd? Join our discussions and share your ideas!
Built with β€οΈ for the opensource community