Seeds the Ask-a-Human platform with a diverse set of UX, design, and product questions. Useful for:
- Testing: Populate the platform with realistic questions
- Demo: Show off the human inference network in action
- Research: Collect human opinions on common product decisions
The seeder runs in a loop:
- Submit a random question from curated templates
- Check for responses on all active questions
- Display new responses and insights in real-time
- Wait for the configured interval
- Repeat
Questions span multiple categories:
- UX Copy (error messages, empty states, confirmations)
- Design Decisions (UI patterns, layouts)
- Tone & Voice (brand personality, notifications)
- Ethics & UX (dark patterns, data retention)
- Product Decisions (pricing, onboarding, features)
- Open-ended (free-form human opinions)
cd examples/question-seeder
pip install -r requirements.txtSet your agent ID:
export ASK_A_HUMAN_AGENT_ID="question-seeder"
# Or use a custom one
export ASK_A_HUMAN_AGENT_ID="my-seeder-agent"# Default: submit a question every 10 seconds, unlimited
python seeder.py
# Custom interval (every 30 seconds)
python seeder.py --interval 30
# Limit to 20 questions, then just monitor responses
python seeder.py --max-questions 20
# Both
python seeder.py --interval 15 --max-questions 50The seeder shows:
- Real-time question submissions with category tags
- Incoming responses as they arrive
- Running totals (questions, responses, insights)
- Sample insights extracted from text responses
Example output:
📤 Submitted [ux_copy]: A user just deleted their account. What should the confirmation...
📥 +2 response(s) on: User's payment failed. How should we tell them?
✓ Selected option 2
✓ Selected option 2
┌──────────────────────────────────────────────────────────────────────────────┐
│ Question Seeder Status │
├────────────────────┬─────────────────────────────────────────────────────────┤
│ Metric │ Value │
├────────────────────┼─────────────────────────────────────────────────────────┤
│ Questions Submitted│ 15 │
│ Total Responses │ 23 │
│ Active Questions │ 8 │
│ Insights Collected │ 4 │
└────────────────────┴─────────────────────────────────────────────────────────┘
See seeder.py for all templates. Feel free to add your own!
The structure is:
QUESTION_TEMPLATES = {
"category_name": [
{
"prompt": "Your question text",
"type": "multiple_choice", # or "text"
"options": ["Option A", "Option B", "Option C"], # for multiple_choice
},
# ...
],
}Quick demo with 10 questions:
python seeder.py --max-questions 10 --interval 5High-frequency seeding (careful with rate limits):
python seeder.py --interval 2 --max-questions 50Slow drip over hours:
python seeder.py --interval 300 # Every 5 minutes