The AI replaces both the Facilitator and the whiteboard-covered room. It is the connective tissue of the async sprint.
Core Functions
1. State Machine
The AI manages the sprint as a state machine. It knows what phase is active, what activities are open, what’s been submitted, and what’s blocking progress.
STATES:
setup → phase1 → phase2 → phase3 → phase4 → phase5 → complete
WITHIN EACH PHASE:
Each activity has states: pending → open → collecting → closed
TRANSITIONS:
An activity opens when its prerequisites are met.
An activity closes at its deadline or when all inputs are received.
A phase closes when all its activities are closed and the gate passes.
2. Blind Collection & Simultaneous Reveal
This is the AI’s most important unique capability. It replaces the original sprint’s silent-voting-in-a-room with something that’s actually MORE robust against bias.
Pattern:
- AI opens a blind submission window (via DM)
- Team members submit privately throughout the window
- AI acknowledges receipt but reveals nothing
- At the deadline, AI reveals ALL submissions simultaneously in the public channel
- No early peeking, no anchoring, no bias from submission order
Used for:
- Goal and question drafts (Phase 1)
- HMW notes (Phase 1)
- Target nominations (Phase 1)
- Solution sketches (Phase 2)
- Straw poll votes (Phase 3)
- Pattern identification (Phase 5)
3. Progress Tracking
The AI maintains a public dashboard that anyone can check anytime:
📊 SPRINT PROGRESS
Phase: 3 — Decide (hour 14 of 48)
━━━━━━━━━━━━━━━━ 29% ━━━━━━━━━━━━━━
Current activity: Heat Map Voting
✅ @Alex — voted
✅ @Jordan — voted
⏳ @Sam — in progress
❌ @Casey — not started
✅ @Morgan — voted
Next: Critique threads open when voting closes
📅 Phase 3 deadline: [date/time UTC]
🔜 Phase 4 starts after Phase 3 gate clears
4. Deadline Enforcement
ESCALATION LADDER:
T-24h: "Reminder: [X] is due in 24 hours."
→ Posted in #sprint
T-6h: "[Name] and [Name], you haven't submitted yet.
The deadline is in 6 hours."
→ Private DM to individuals
T-1h: "Final hour. Anything not submitted will be excluded."
→ Private DM + public post
T-0: Phase activity closes. AI processes what it has.
→ If critical submission missing (e.g., Decider vote),
AI sends URGENT escalation to Decider with 4-hour grace period.
→ Non-critical missing submissions: proceed without them.
5. Synthesis and Narration
The AI performs cognitive labor that the human Facilitator did in the original:
| Original Facilitator Action | AI Equivalent |
|---|---|
| Drawing the map on the whiteboard | Drafting the map from team inputs |
| Narrating sketches during speed critique | Writing narration for each anonymous sketch |
| Organizing sticky notes by theme | Clustering HMW notes algorithmically |
| Counting dots on the wall | Tallying votes precisely |
| Summarizing expert interviews | Extracting key insights from Q&A threads |
| Saying “let’s move on” | Closing activities at deadlines |
| Noticing someone is disengaged | Tracking participation and nudging privately |
Sprint State Schema
{
"sprint_id": "string",
"status": "setup | phase1 | phase2 | phase3 | phase4 | phase5 | complete",
"created_at": "ISO datetime",
"deadline": "ISO datetime (hard cap, 14 days from start)",
"challenge": {
"brief": "string (the full Challenge Brief)",
"title": "string (short title)"
},
"team": {
"decider": { "id": "string", "name": "string" },
"members": [{ "id": "string", "name": "string", "timezone": "string" }],
"experts": [{ "id": "string", "name": "string", "area": "string" }]
},
"phase1": {
"status": "pending | active | complete",
"deadline": "ISO datetime",
"goal": {
"final": "string",
"submissions": [{ "member_id": "string", "text": "string" }]
},
"sprint_questions": ["string"],
"map": {
"actors": ["string"],
"steps": [{ "label": "string", "position": "number" }],
"ending": "string",
"version": "number"
},
"expert_qas": [
{
"expert_id": "string",
"questions": ["string"],
"answers": ["string"],
"follow_ups": [
{ "from": "string", "text": "string", "response": "string" }
]
}
],
"hmw_notes": [
{
"id": "string",
"text": "string",
"author_id": "string",
"theme": "string",
"votes": "number"
}
],
"target": {
"customer": "string",
"moment": "string",
"decided_by": "decider",
"rationale": "string"
}
},
"phase2": {
"status": "pending | active | complete",
"deadline": "ISO datetime",
"lightning_demos": [
{
"member_id": "string",
"title": "string",
"url": "string",
"big_idea": "string"
}
],
"divide_or_swarm": "divide | swarm",
"assignments": [{ "member_id": "string", "area": "string" }],
"sketches": [
{
"id": "string",
"title": "string",
"author_id": "string (hidden until Phase 3 reveal)",
"image_urls": ["string"],
"heat_map_score": "number",
"critique_summary": "string",
"straw_poll_votes": "number",
"supervotes": "number"
}
]
},
"phase3": {
"status": "pending | active | complete",
"deadline": "ISO datetime",
"winners": ["sketch_id"],
"maybe_laters": ["sketch_id"],
"format": "rumble | all_in_one",
"fake_brands": ["string"],
"storyboard": {
"frames": [
{
"number": "number",
"description": "string",
"source_sketch_id": "string | null"
}
],
"approved_by_decider": "boolean"
}
},
"phase4": {
"status": "pending | active | complete",
"deadline": "ISO datetime",
"roles": {
"makers": [{ "member_id": "string", "frames": ["number"] }],
"stitcher": "member_id",
"writer": "member_id",
"asset_collector": "member_id",
"interviewer": "member_id"
},
"prototype_url": "string",
"interview_script": "string",
"trial_run_complete": "boolean",
"customers_confirmed": [
{
"name": "string",
"time": "ISO datetime",
"status": "confirmed | tentative | backup"
}
]
},
"phase5": {
"status": "pending | active | complete",
"deadline": "ISO datetime",
"interviews": [
{
"number": "number",
"customer_name": "string",
"recording_url": "string",
"observations": [
{
"member_id": "string",
"text": "string",
"valence": "positive | negative | neutral",
"timestamp": "string"
}
]
}
],
"patterns": [
{
"text": "string",
"valence": "positive | negative | neutral",
"customer_count": "number",
"reporter_count": "number"
}
],
"question_answers": [
{ "question": "string", "answer": "string", "evidence": "string" }
],
"next_steps": ["string"],
"decided_by": "decider"
}
}
Message Templates
Phase Opening
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 PHASE [N]: [NAME]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱ Window: [start] → [end] ([X] hours)
🎯 Goal: [What this phase produces]
Here's what happened in Phase [N-1]:
[2-3 sentence summary]
Here's what you need to do now:
[First activity instructions]
Activity Prompt
📋 [ACTIVITY NAME]
What: [1 sentence]
How: [Numbered steps]
Submit: [Where/how to submit]
⏱ Deadline: [date/time UTC] ([local times for each timezone])
Blind Reveal
🎭 REVEAL: [Activity Name]
[X] submissions received from [X] team members.
Here they are, all at once:
[All submissions posted in rapid sequence]
Next step: [What to do with the revealed material]
Decision Escalation
👑 DECIDER: Decision needed
[Context of what needs deciding]
Team input:
[Summary of votes/discussion]
Your options:
A) [Option]
B) [Option]
C) [Something else]
Please respond within 12 hours.
⏱ Deadline: [time]
Nudge (Private DM)
Hey [Name] — quick heads up:
[Activity] is due in [time remaining].
Here's what's needed from you: [specific deliverable].
Need help? Let me know and I can [offer specific assistance].
AI Behavioral Rules
Never
- Make decisions for the team (always escalate to Decider)
- Generate solution ideas (solutions come from humans)
- Skip a phase or activity
- Extend a deadline without Decider approval
- Reveal blind submissions before the deadline
- Share one person’s private submission with another
- Take sides in a disagreement
Always
- State deadlines in UTC and convert to each person’s timezone
- Summarize before transitioning (ensure no one is lost)
- Track who has and hasn’t contributed
- Nudge privately before calling out publicly
- Preserve anonymity of sketches until the reveal
- Pin key decisions in
#sprint-decisions - Maintain the Sprint State and make it queryable
When In Doubt
- Move forward (momentum matters more than perfection)
- Ask the Decider (that’s what they’re there for)
- Default to the methodology (it’s been tested 100+ times)