IceBreakerv2 / app.py
bparrino's picture
Update app.py
81e1dfa verified
import streamlit as st
import random
def generate_icebreakers(group_size, time_available, energy_level, group_familiarity, additional_context=""):
"""
Generate personalized icebreaker activities based on essential inputs
"""
icebreakers = {
'two_truths_lie': {
'name': 'Two Truths and a Lie',
'description': 'A classic getting-to-know-you activity where participants share three professional statements about themselves - two are true, one is fabricated. The group tries to identify the false statement.',
'what_it_does': 'Helps colleagues learn surprising facts about each other\'s work background while encouraging creative thinking and active listening. Creates natural conversation starters about career experiences.',
'example': 'Example statements: "I once presented to a CEO," "I have three professional certifications," "I worked in five different countries." The group discusses and votes on which seems false.',
'time_needed': '10-15 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'None',
'instructions': [
'Explain the activity and go first to model it',
'Each person shares 3 work-related statements',
'Group votes on which statement is false',
'Person reveals the answer and briefly explains the true ones',
'Keep it moving - about 1 minute per person'
]
},
'professional_bingo': {
'name': 'Professional Bingo',
'description': 'An active networking game where participants receive bingo cards filled with various professional characteristics, experiences, or skills. They mingle to find colleagues who match each square.',
'what_it_does': 'Encourages natural networking and reveals the diverse backgrounds within your team. Breaks down barriers by giving people specific conversation starters and reasons to approach colleagues they might not normally talk to.',
'example': 'Bingo squares might include: "Has managed a remote team," "Speaks three languages," "Started their own business," "Has a technical certification," "Worked in customer service."',
'time_needed': '15-20 minutes',
'group_size': '8+ people',
'energy': 'High',
'materials': 'Bingo cards, pens',
'instructions': [
'Create cards with items like "Has managed a team", "Speaks 2+ languages"',
'Give everyone 10 minutes to network and collect signatures',
'First to complete a line shares their findings',
'Highlight the diverse experience in the room'
]
},
'quick_networking': {
'name': 'Speed Networking',
'description': 'A structured networking activity where participants have brief, timed conversations with multiple colleagues in rotation. Like speed dating, but for professional connections.',
'what_it_does': 'Ensures everyone meets multiple people in a short time while practicing concise professional introductions. Builds energy and helps introverts connect in a structured format.',
'example': 'Partners face each other and have 3 minutes to discuss: "Share your role, one current project, and one professional challenge you\'re facing." Timer rings, everyone rotates to a new partner.',
'time_needed': '15-20 minutes',
'group_size': '8+ people',
'energy': 'High',
'materials': 'Timer',
'instructions': [
'Arrange people in two facing rows',
'Give a conversation starter: "Share your role and one work challenge"',
'Set timer for 3 minutes, then rotate',
'Do 3-4 rounds depending on group size',
'Debrief with key insights learned'
]
},
'problem_solving': {
'name': 'Quick Challenge',
'description': 'Small teams work together to solve a business puzzle, riddle, or hypothetical workplace scenario within a tight timeframe. Teams then present their solutions to the larger group.',
'what_it_does': 'Reveals different problem-solving approaches and thinking styles within your team. Gets people collaborating immediately and demonstrates how diverse perspectives lead to creative solutions.',
'example': 'Challenge: "Your team needs to improve customer satisfaction scores by 20% in 6 months with no additional budget. Present your top 3 strategies." Teams brainstorm and present 1-minute solutions.',
'time_needed': '12-15 minutes',
'group_size': '6+ people',
'energy': 'Medium',
'materials': 'Simple puzzle or scenario',
'instructions': [
'Form teams of 3-4 people',
'Give a 5-minute challenge (riddle, business scenario, or puzzle)',
'Teams present their solutions in 1 minute each',
'Highlight different approaches to problem-solving'
]
},
'this_or_that': {
'name': 'Professional This or That',
'description': 'Participants choose between two work-related options (email vs. phone calls, morning vs. afternoon meetings) by physically moving to different sides of the room, then briefly explain their preferences.',
'what_it_does': 'Reveals different work styles and preferences in a visual, interactive way. Helps team members understand how colleagues like to work and communicate, building empathy for different approaches.',
'example': 'Options like "Brainstorm alone first vs. Jump straight into group discussion" or "Detailed project plans vs. Flexible, adaptive approach." People move to their preferred side and share why.',
'time_needed': '8-12 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'Prepared scenarios',
'instructions': [
'Present choices like "Email vs Phone", "Morning vs Afternoon meetings"',
'People move to different sides of the room',
'2-3 people from each side briefly explain their choice',
'Do 3-4 scenarios, keep explanations to 30 seconds'
]
},
'skill_swap': {
'name': 'Skill Swap Shop',
'description': 'Participants identify one professional skill they want to learn and one they can teach others, then mingle to find potential "skill trading partners" for future learning exchanges.',
'what_it_does': 'Creates a learning community by mapping the teaching and learning interests within your team. Establishes connections for ongoing professional development and peer-to-peer mentoring.',
'example': 'Someone might offer "Excel advanced functions" in exchange for learning "Public speaking techniques." They exchange contact info and commit to a future learning session together.',
'time_needed': '12-15 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'None',
'instructions': [
'Each person identifies one skill they want to learn and one they can teach',
'Everyone mingles to find potential "skill swaps" with colleagues',
'When you find a match, exchange contact info for future learning',
'Reconvene and share a few interesting skill swap discoveries',
'Highlight the learning community within your workplace'
]
},
'common_ground': {
'name': 'Find Common Ground',
'description': 'Small groups work together to identify shared work experiences, challenges, or professional interests that all members have in common, then report their discoveries to the larger group.',
'what_it_does': 'Builds connection and psychological safety by highlighting shared experiences. Helps participants realize they\'re not alone in their challenges and creates a foundation for mutual understanding.',
'example': 'A group might discover they\'ve all "Had to learn new software on the job," "Dealt with difficult stakeholder expectations," and "Presented to senior leadership." They share these with the room.',
'time_needed': '10-12 minutes',
'group_size': '6+ people',
'energy': 'Low',
'materials': 'None',
'instructions': [
'Form groups of 3-4 people',
'Find 3 work experiences or challenges everyone in the group shares',
'Groups report back their common ground',
'Discuss how shared experiences help us learn together'
]
},
'workplace_superlatives': {
'name': 'Professional Superlatives',
'description': 'The group votes to award lighthearted, positive "superlatives" to colleagues, like "Most Organized Workspace" or "Best Troubleshooter," similar to yearbook awards but workplace-focused.',
'what_it_does': 'Celebrates individual strengths and creates positive recognition in a fun format. Helps participants see how they\'re perceived by colleagues and builds team appreciation.',
'example': 'Awards like "Most Likely to Have the Answer," "Best Meeting Facilitator," "Most Creative Problem Solver," or "Always Knows the Office Trivia." Winners get applause and brief recognition.',
'time_needed': '12-18 minutes',
'group_size': '8+ people',
'energy': 'High',
'materials': 'Pre-made award categories',
'instructions': [
'Prepare 8-10 lighthearted professional awards in advance',
'Examples: "Most Organized Desk", "Best Video Call Troubleshooter"',
'Have the group nominate and vote for each category',
'Keep nominations brief and positive',
'Present awards with applause for each winner'
]
},
'office_trivia': {
'name': 'Workplace Trivia Challenge',
'description': 'Teams compete to answer questions mixing general workplace knowledge (business acronyms, office etiquette) with company-specific facts, creating a fun quiz competition.',
'what_it_does': 'Tests and builds shared knowledge while encouraging teamwork. Great for reinforcing company culture and getting people laughing together over shared workplace experiences.',
'example': 'Questions like "What does KPI stand for?", "What year was our company founded?", "What\'s the proper email response time expectation?" Teams write answers and compete for points.',
'time_needed': '15-20 minutes',
'group_size': '8+ people',
'energy': 'Medium',
'materials': 'Trivia questions, buzzers (optional)',
'instructions': [
'Form teams of 3-4 people',
'Prepare mix of general workplace trivia and company-specific questions',
'Ask 10-15 questions with teams writing down answers',
'Include fun categories like "Office Etiquette" or "Business Acronyms"',
'Announce winners and celebrate team knowledge'
]
},
'desert_island_skills': {
'name': 'Desert Island Skills',
'description': 'Participants imagine being stranded on a desert island with their work team and identify which colleague\'s professional skill would be most valuable for survival, explaining their reasoning.',
'what_it_does': 'Highlights and celebrates the diverse professional strengths within the team in a creative, memorable way. Helps people see how different skills complement each other.',
'example': 'Someone might choose "Maria\'s project management skills because she\'d organize our rescue plan," or "David\'s customer service experience because he\'d keep everyone calm and working together."',
'time_needed': '10-15 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'None',
'instructions': [
'Explain the scenario: stranded on desert island with your work team',
'Each person identifies one colleague whose professional skill would be most helpful',
'Examples: "Sarah\'s project management skills", "Mike\'s problem-solving ability"',
'Share choices and explain the reasoning',
'Highlight the diverse strengths people bring to teams'
]
},
'work_bucket_list': {
'name': 'Professional Bucket List',
'description': 'Each participant shares one career goal, professional experience, or skill they want to achieve before they retire, creating a window into individual aspirations and growth areas.',
'what_it_does': 'Reveals personal career motivations and creates opportunities for mutual support. Helps identify shared professional interests and potential mentoring or collaboration opportunities.',
'example': 'Goals like "Lead an international project," "Get certified in data analysis," "Speak at an industry conference," or "Start a mentorship program." Discussion follows about supporting each other.',
'time_needed': '8-12 minutes',
'group_size': 'Any size',
'energy': 'Low',
'materials': 'None',
'instructions': [
'Each person shares one career goal or professional experience they want',
'Examples: "Lead a global project", "Speak at a conference", "Learn a new skill"',
'Keep sharing to 1 minute per person',
'Look for connections between people\'s goals',
'Discuss how the group might support each other\'s aspirations'
]
},
'emoji_introductions': {
'name': 'Emoji Career Story',
'description': 'Participants select 5 emojis that represent their career journey, current role, or professional personality, then share their "emoji story" with explanations for each choice.',
'what_it_does': 'Encourages creative thinking and storytelling while making professional sharing more approachable and fun. Especially effective for visual learners and in virtual environments.',
'example': 'Someone might choose: 🎯 (goal-oriented), 💻 (tech work), 🌍 (global perspective), 🤝 (collaborative), ☕ (coffee lover). They explain how each represents their professional life.',
'time_needed': '10-15 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'Emoji cards or phone access',
'instructions': [
'Each person selects 5 emojis that represent their career or current role',
'Share emojis first, let others guess the story',
'Then explain your emoji choices and career connection',
'Keep explanations to 1-2 minutes per person',
'Celebrate creative interpretations and career diversity'
]
},
'human_scavenger_hunt': {
'name': 'Human Scavenger Hunt',
'description': 'Participants receive a list mixing professional experiences and appropriate personal facts, then network to find colleagues who match each item and collect their signatures.',
'what_it_does': 'Structures networking with specific conversation starters while revealing surprising facts about colleagues. Creates natural reasons to approach people and discover shared experiences.',
'example': 'Items might include "Has worked in 3+ cities," "Knows how to code," "Has led a team of 10+ people," "Speaks another language," "Has presented to executives," or "Plays a musical instrument."',
'time_needed': '15-20 minutes',
'group_size': '10+ people',
'energy': 'High',
'materials': 'Hunt checklist, pens',
'instructions': [
'Create list mixing professional and appropriate personal items',
'Examples: "Has worked in 3+ cities", "Knows how to code", "Has run a marathon"',
'Include 15-20 items on the checklist',
'Give 12 minutes for networking and signature collecting',
'Share interesting discoveries and celebrate diverse backgrounds'
]
},
'one_word_check_in': {
'name': 'One Word Energy Check',
'description': 'Each participant shares a single word that captures how they\'re feeling about the training session, workday, or current project, creating a quick pulse on group energy.',
'what_it_does': 'Provides immediate insight into group mood and energy levels while giving everyone a voice. Helps facilitators adjust their approach and validates different emotional states.',
'example': 'Words might include "Curious," "Energized," "Overwhelmed," "Ready," "Hopeful," or "Tired." The variety shows the facilitator how to pace the session and acknowledge different starting points.',
'time_needed': '5-8 minutes',
'group_size': 'Any size',
'energy': 'Low',
'materials': 'None',
'instructions': [
'Go around the room with each person sharing one word',
'Examples: "Curious", "Energized", "Focused", "Ready"',
'No explanations needed initially',
'After everyone shares, ask for volunteers to elaborate briefly',
'Acknowledge the range of energy and emotions in the room'
]
},
'connection_web': {
'name': 'Connection Web',
'description': 'Using a ball of yarn, participants create a physical web by tossing it to colleagues they share something in common with, visually demonstrating the interconnections within the team.',
'what_it_does': 'Creates a powerful visual metaphor for team connections while helping people discover unexpected commonalities. The physical web demonstrates how everyone is connected in some way.',
'example': 'Someone starts with "I\'m Sarah, I work in marketing, and I love hiking." They toss yarn to someone else who also loves hiking. That person adds their fact and finds their connection, continuing until everyone holds the web.',
'time_needed': '12-18 minutes',
'group_size': '8+ people',
'energy': 'Medium',
'materials': 'Ball of yarn or string',
'instructions': [
'Start with one person holding the yarn, sharing their name and one fact about themselves',
'They throw the yarn to someone they have something in common with',
'That person shares what they have in common, plus one new fact about themselves',
'Continue until everyone is connected by the yarn web',
'Step back to admire the visual web of connections in your team'
]
},
'professional_would_rather': {
'name': 'Professional Would You Rather',
'description': 'Participants choose between two workplace scenarios or preferences by moving to different sides of the room, then discuss their reasoning with others who made the same choice.',
'what_it_does': 'Reveals different work styles and decision-making preferences in a fun, interactive format. Helps colleagues understand and appreciate diverse approaches to work challenges.',
'example': 'Scenarios like "Lead a team of specialists vs. generalists," "Work on one big project vs. multiple small ones," or "Give feedback in person vs. in writing." People explain their choices briefly.',
'time_needed': '10-15 minutes',
'group_size': 'Any size',
'energy': 'Medium',
'materials': 'Prepared scenarios',
'instructions': [
'Prepare 5-6 workplace "would you rather" scenarios',
'Examples: "Work from home vs office", "Present to 5 people vs 50 people"',
'Have people move to different sides for each choice',
'Ask 2-3 people from each side to explain their reasoning',
'Keep discussions brief and move through scenarios quickly'
]
},
'goal_partners': {
'name': 'Learning Goal Partners',
'description': 'Participants pair up to share their personal learning objectives for the training session and discuss how they might support each other in achieving these goals.',
'what_it_does': 'Creates accountability partnerships and ensures everyone has clear learning intentions. Builds investment in the session while establishing supportive connections between colleagues.',
'example': 'One person might want to "Learn how to give difficult feedback" while their partner wants to "Improve active listening skills." They brainstorm ways to help each other practice during the session.',
'time_needed': '8-12 minutes',
'group_size': '6+ people',
'energy': 'Low',
'materials': 'None',
'instructions': [
'Pair people up randomly or by seating',
'Each person shares their main learning goal for the training',
'Partners discuss how they might help each other achieve goals',
'Allow 3-4 minutes per person in pairs',
'Reconvene and ask pairs to introduce each other\'s goals to the group'
]
},
'workplace_bingo_stories': {
'name': 'Workplace Story Bingo',
'description': 'Participants network to find colleagues who have experienced specific workplace situations listed on bingo cards, then collect brief stories about these experiences rather than just signatures.',
'what_it_does': 'Combines networking with storytelling to build psychological safety and shared learning. Helps people realize others have faced similar challenges and creates opportunities to share wisdom.',
'example': 'Instead of just finding someone who "Led a difficult conversation," participants hear a 30-second story about how they handled it, what they learned, and what advice they\'d give others.',
'time_needed': '15-20 minutes',
'group_size': '10+ people',
'energy': 'High',
'materials': 'Story bingo cards, pens',
'instructions': [
'Create cards with workplace experiences like "Survived a major system crash"',
'Include items like "Led a difficult conversation", "Learned from a big mistake"',
'People network to find matches and hear 30-second stories',
'Focus on learning moments rather than complaints',
'Share a few interesting stories with the whole group'
]
}
}
# Score icebreakers based on criteria
scores = {}
for key, icebreaker in icebreakers.items():
score = 0
# Group size scoring
if group_size == "Small (5-10)":
if icebreaker['group_size'] in ['Any size', '6+ people']:
score += 10
elif '8+' not in icebreaker['group_size']:
score += 8
else:
score += 4
elif group_size == "Medium (11-25)":
if icebreaker['group_size'] in ['Any size', '8+ people', '6+ people']:
score += 10
else:
score += 6
elif group_size == "Large (26+)":
if icebreaker['group_size'] == 'Any size':
score += 10
elif '8+' in icebreaker['group_size']:
score += 8
else:
score += 5
# Energy level scoring
if energy_level == "High Energy":
if icebreaker['energy'] == 'High':
score += 10
elif icebreaker['energy'] == 'Medium':
score += 6
else:
score += 2
elif energy_level == "Medium Energy":
if icebreaker['energy'] == 'Medium':
score += 10
else:
score += 7
elif energy_level == "Low Energy":
if icebreaker['energy'] == 'Low':
score += 10
elif icebreaker['energy'] == 'Medium':
score += 7
else:
score += 3
# Time available scoring
if time_available == "Quick (5-10 min)":
if '8-12' in icebreaker['time_needed'] or '10-12' in icebreaker['time_needed']:
score += 10
elif '10-15' in icebreaker['time_needed']:
score += 6
else:
score += 2
elif time_available == "Standard (10-15 min)":
if '10-15' in icebreaker['time_needed'] or '12-15' in icebreaker['time_needed']:
score += 10
elif '8-12' in icebreaker['time_needed'] or '15-20' in icebreaker['time_needed']:
score += 8
else:
score += 5
elif time_available == "Extended (15+ min)":
if '15-20' in icebreaker['time_needed']:
score += 10
elif '12-15' in icebreaker['time_needed']:
score += 8
else:
score += 6
# Group familiarity scoring - this significantly impacts which activities work best
if group_familiarity == "Strangers/New team":
if key in ['professional_bingo', 'human_scavenger_hunt', 'quick_networking', 'skill_swap', 'connection_web']:
score += 8 # Great for introductions and getting to know each other
elif key in ['workplace_superlatives', 'desert_island_skills']:
score += 2 # Hard when people don't know each other
elif group_familiarity == "Somewhat familiar":
if key in ['two_truths_lie', 'this_or_that', 'professional_would_rather', 'emoji_introductions']:
score += 8 # Good for learning more about colleagues
elif group_familiarity == "Know each other well":
if key in ['workplace_superlatives', 'desert_island_skills']:
score += 8 # Fun activities that leverage existing relationships
elif key in ['problem_solving']:
score += 6
# Additional context considerations
if additional_context:
context_lower = additional_context.lower()
# Remote/virtual considerations
if any(term in context_lower for term in ['remote', 'virtual', 'zoom', 'online', 'video']):
if key in ['emoji_introductions', 'one_word_check_in', 'professional_would_rather', 'this_or_that']:
score += 5 # Work well virtually
elif key in ['connection_web', 'human_scavenger_hunt', 'professional_bingo']:
score -= 3 # Harder to do remotely
# Technical/engineering teams
if any(term in context_lower for term in ['engineering', 'technical', 'developer', 'IT', 'tech']):
if key in ['problem_solving', 'office_trivia', 'skill_swap']:
score += 3 # Appeal to technical mindset
# Sensitive topics or difficult conversations
if any(term in context_lower for term in ['difficult', 'sensitive', 'layoffs', 'change', 'restructure']):
if key in ['one_word_check_in', 'common_ground', 'goal_partners']:
score += 4 # Gentle, supportive activities
elif key in ['workplace_superlatives', 'office_trivia']:
score -= 2 # Might feel tone-deaf
# Large groups mentioned
if any(term in context_lower for term in ['large group', 'big team', '50+', '100+']):
if key in ['one_word_check_in', 'this_or_that', 'professional_would_rather']:
score += 3 # Scale well to large groups
# Time constraints mentioned
if any(term in context_lower for term in ['quick', 'short', 'limited time', 'rushed']):
if key in ['one_word_check_in', 'this_or_that']:
score += 4 # Very quick activities
elif key in ['human_scavenger_hunt', 'professional_bingo']:
score -= 2 # Take longer to set up
scores[key] = score
# Sort by score and return top 3
sorted_icebreakers = sorted(scores.items(), key=lambda x: x[1], reverse=True)
top_3 = sorted_icebreakers[:3]
result = []
for key, score in top_3:
icebreaker_data = icebreakers[key].copy()
icebreaker_data['score'] = score
icebreaker_data['key'] = key
result.append(icebreaker_data)
return result
# Streamlit setup
st.set_page_config(page_title="Training Icebreaker Generator", layout="wide")
# Initialize session state
if "icebreakers" not in st.session_state:
st.session_state["icebreakers"] = None
if "form_submitted" not in st.session_state:
st.session_state["form_submitted"] = False
# Header
st.markdown("""
<div style='background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%); padding: 20px; border-radius: 10px; margin-bottom: 30px;'>
<h1 style='text-align: center; color: white; margin: 0;'>Break The Ice</h1>
<h3 style='text-align: center; color: #e8f4f8; margin: 10px 0;'>Icebreaker ideas to start any session strong!</h3>
</div>
""", unsafe_allow_html=True)
# Only show form if results haven't been generated
if not st.session_state["form_submitted"]:
# Create form
with st.form("icebreaker_form"):
col1, col2 = st.columns(2)
with col1:
group_size = st.selectbox("How many people?", [
"",
"Small (5-10)",
"Medium (11-25)",
"Large (26+)"
])
energy_level = st.selectbox("What energy level?", [
"",
"Low Energy",
"Medium Energy",
"High Energy"
])
with col2:
time_available = st.selectbox("How much time?", [
"",
"Quick (5-10 min)",
"Standard (10-15 min)",
"Extended (15+ min)"
])
group_familiarity = st.selectbox("How well do they know each other?", [
"",
"Strangers/New team",
"Somewhat familiar",
"Know each other well"
])
# Additional context text area
st.markdown("### Additional Context (Optional)")
additional_context = st.text_area(
"Share any relevant details about your group, training topic, or specific needs:",
placeholder="Examples: Remote team meeting for the first time, engineering department, need ice-breaking for difficult topic, cultural considerations, accessibility needs, etc.",
height=100
)
# Submit button
submitted = st.form_submit_button("Get My Icebreaker", type="primary")
if submitted:
if not all([group_size, time_available, energy_level, group_familiarity]):
st.error("Please answer all questions to get your personalized recommendations.")
else:
with st.spinner("Finding your perfect icebreaker..."):
icebreakers = generate_icebreakers(group_size, time_available, energy_level, group_familiarity, additional_context)
st.session_state["icebreakers"] = icebreakers
st.session_state["form_submitted"] = True
st.rerun()
# Display results if form has been submitted
if st.session_state["form_submitted"] and st.session_state["icebreakers"]:
icebreakers = st.session_state["icebreakers"]
# Back button
if st.button("← Try Again", type="secondary"):
st.session_state["form_submitted"] = False
st.session_state["icebreakers"] = None
st.rerun()
st.markdown("---")
st.markdown("<h2 style='text-align: center; margin-bottom: 20px;'>Your Icebreaker Recommendations</h2>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: #666; margin-bottom: 30px;'>📋 Click the tabs below to explore your personalized recommendations</p>", unsafe_allow_html=True)
# Create tabs for recommendations with custom styling
st.markdown("""
<style>
.stTabs [data-baseweb="tab-list"] {
gap: 20px;
}
.stTabs [data-baseweb="tab"] {
background-color: #f0f2f6;
color: #262730;
border-radius: 8px;
padding: 10px 20px;
font-weight: 600;
border: 2px solid transparent;
}
.stTabs [aria-selected="true"] {
background-color: #2E8B57;
color: white;
border: 2px solid #2E8B57;
}
</style>
""", unsafe_allow_html=True)
tab1, tab2 = st.tabs([
f"🎯 Top Choice: {icebreakers[0]['name']}",
f"🔄 Alternative: {icebreakers[1]['name']}"
])
# Tab 1 - Primary recommendation
with tab1:
primary = icebreakers[0]
st.markdown(f"<h3 style='color: #2E8B57;'>{primary['name']}</h3>", unsafe_allow_html=True)
# Description and details
st.markdown(f"**What it is:** {primary['description']}")
st.markdown(f"**What it does:** {primary['what_it_does']}")
st.markdown(f"**Example:** {primary['example']}")
# Quick details in columns
col1, col2, col3 = st.columns(3)
with col1:
st.metric("Time", primary['time_needed'])
with col2:
st.metric("Group Size", primary['group_size'])
with col3:
st.metric("Energy", primary['energy'])
# Instructions
st.markdown("#### How to Run It")
for i, instruction in enumerate(primary['instructions'], 1):
st.markdown(f"**{i}.** {instruction}")
# Tab 2 - Alternative recommendation
with tab2:
secondary = icebreakers[1]
st.markdown(f"<h3 style='color: #2E8B57;'>{secondary['name']}</h3>", unsafe_allow_html=True)
st.markdown(f"**What it is:** {secondary['description']}")
st.markdown(f"**What it does:** {secondary['what_it_does']}")
st.markdown(f"**Example:** {secondary['example']}")
col1, col2, col3 = st.columns(3)
with col1:
st.metric("Time", secondary['time_needed'])
with col2:
st.metric("Group Size", secondary['group_size'])
with col3:
st.metric("Energy", secondary['energy'])
st.markdown("#### How to Run It")
for i, instruction in enumerate(secondary['instructions'], 1):
st.markdown(f"**{i}.** {instruction}")
# Simple reminder at bottom
st.markdown("---")
st.markdown("💡 **Quick Tip:** Go first to model participation and keep the energy positive!")
# Footer
st.markdown("---")
st.markdown("""
<div style='background: #f8f9fa; padding: 15px; border-radius: 8px; text-align: center; margin-top: 30px;'>
<p style='margin-bottom: 8px; font-size: 14px; color: #333;'>
<strong>Need help designing comprehensive corporate training programs?</strong>
</p>
<p style='color: #666; margin-bottom: 8px; font-size: 13px;'>
Contact Ben Parrino at <a href='mailto:bparrino@motechhq.com' style='color: #1e3c72; text-decoration: none;'>bparrino@motechhq.com</a>
</p>
<p style='color: #666; margin: 0; font-size: 13px;'>
Powered by <a href='https://www.motechhq.com/' target='_blank' style='color: #1e3c72; text-decoration: none; font-weight: bold;'>Motivation Technologies</a>
</p>
</div>
""", unsafe_allow_html=True)