Interactive Games for Agile Teams: AI Generated + Human Experimented
AgileGamifAI is a comprehensive platform that revolutionizes how Agile teams learn, collaborate, and improve through interactive games and activities. Combining AI-powered game generation with human-tested frameworks, this platform serves as your ultimate toolkit for enhancing team dynamics, learning outcomes, and Agile practices.
https://lorettarehm.github.io/AgileGamifAI/
- Multi-Framework Support: Scrum, Kanban, XP, Lean, LeSS, Nexus, and general Agile practices
- Intelligent Game Generation: Create custom games using advanced AI that understands Agile principles
- Context-Aware Suggestions: Get game recommendations based on your team's specific needs and challenges
- Rapid Prototyping: Generate complete game structures in seconds, then refine with human expertise
- Smart Filtering: Find the perfect game by framework, team size, duration, complexity, and learning objectives
- Accessibility First: Games designed with inclusivity in mind, featuring accessibility notes and adaptations
- Step-by-Step Guidance: Detailed facilitation instructions
- Mobile-Responsive: Facilitate from any device, anywhere
- Favorites System: Save and organize your most effective games
- Custom Collections: Create themed game collections for different scenarios
- Usage Analytics: Track which games work best for your team
- Node.js 18+
- npm or yarn
- Modern web browser
Create a .env
file in the root directory (use .env.example
as a template):
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anonymous_key
VITE_
are exposed in the built bundle. For production use, consider implementing a backend API or serverless functions to securely handle LLM calls.
For production deployments, you can configure the application to let users provide their own HuggingFace API keys instead of using a shared key:
When to Use This Approach:
- ✅ Production deployments where you want to avoid exposing shared API keys
- ✅ When users should control their own AI usage and costs
- ✅ Educational or enterprise environments where users have their own HuggingFace accounts
- ✅ When you want to scale AI features without managing centralized API costs
How It Works:
- Users enter their personal HuggingFace API key through the application interface
- Keys are stored securely in the user's browser localStorage
- Each user is responsible for their own API usage and billing
- AI features work seamlessly once a valid key is provided
Getting Started with User Keys:
- Users sign up for a free HuggingFace account at huggingface.co
- Generate an API key from their HuggingFace settings
- Enter the key in the application when prompted
- Start using AI-powered game generation features
Important Considerations:
- Users are responsible for API costs and key security
- Keys should be rotated regularly for security
- See our detailed Security Documentation for complete implementation guidance
The application will be available at http://localhost:5173
👤 Meet Sarah: She's an experienced Agile Coach working with a distributed team of 8 developers who've been struggling with communication issues after their last sprint.
🎯 Goal: Find an engaging retrospective activity for communication improvement
🔍 Sarah's Journey:
1. Opens AgileGamifAI in her browser
2. Navigates to the Game Library
3. Applies filters:
- Framework: "Scrum"
- Purpose: "Retrospective"
- Participants: "8"
- Duration: "30 minutes"
- Focus: "Team Building"
📚 Discovery Phase:
- Browses through 12 filtered results
- Reviews game cards showing:
✓ Duration and participant count
✓ Complexity level
✓ Learning outcomes
✓ Required materials
- Favorites 3 promising games for future reference
🔍 Deep Dive:
- Clicks on "Communication Circle" game
- Reviews comprehensive details:
✓ Step-by-step instructions
✓ Facilitation tips from experienced coaches
✓ Expected learning outcomes
✓ Accessibility considerations
✓ Material requirements: "Sticky notes, Timer, Video conferencing tool"
🤖 Smart Adaptation:
- After the session, Sarah wants a similar game for her next team
- Uses AI Game Suggestion feature:
Prompt: "Create a retrospective game similar to Communication Circle
but focused on celebrating wins for a team that just
completed a successful product launch"
- AI generates "Victory Lap Retrospective" in 10 seconds
- Reviews, customizes, and saves to her collection
📈 Outcome Tracking:
- Game successfully improves team communication
- Sarah adds the game to her "Go-To Retrospectives" collection
- Shares game link with fellow coaches in her network
- Plans to use modified version in next sprint review
Category | Technology | Purpose |
---|---|---|
Frontend | React 18+ with TypeScript | Modern, type-safe UI development |
Styling | Tailwind CSS | Responsive, utility-first styling |
Build Tool | Vite | Fast development and optimized builds |
Database | Supabase | Real-time database and authentication |
AI Integration | Hugging Face API + Serverless Functions | Secure natural language processing for game generation |
Serverless | Netlify Functions | Secure API proxy for LLM calls |
Icons | Lucide React | Consistent, accessible iconography |
State Management | React Hooks | Lightweight state management |
Client (React) → Serverless Functions → LLM API
- API keys protected server-side
- Zero client-side exposure
- Secure serverless architecture
- Primary: Teal (#14B8A6) - Trust, clarity, growth
- Secondary: Purple (#8B5CF6) - Creativity, innovation, insight
- Gradients: Subtle teal-to-purple gradients for visual depth
- Clean, modern font hierarchy
- Optimized for readability across devices
- Accessible contrast ratios (WCAG 2.1 AA compliant)
// Filter games for Scrum teams
const scrumGames = games.filter(game =>
game.framework.includes('Scrum')
);
// Filter by team size and duration
const quickTeamBuilders = games.filter(game =>
game.purpose.includes('Team Building') &&
game.duration <= 15 &&
game.minParticipants <= teamSize &&
game.maxParticipants >= teamSize
);
const perfectGame = {
framework: ['Scrum', 'Kanban'],
purpose: ['Retrospective'],
participants: 6,
maxDuration: 45,
complexity: ['Easy', 'Medium'],
accessibleOnly: true
};
AgileGamifAI/
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # Reusable UI components
│ │ ├── GameCard.tsx # Game display component
│ │ ├── GameDetail.tsx # Detailed game view
│ │ ├── GameCreate.tsx # Game creation interface
│ │ └── GameFacilitator.tsx # Facilitation mode
│ ├── services/ # API services (secure client-side)
│ │ └── llmService.ts # LLM service client
│ ├── data/ # Sample data and constants
│ ├── types/ # TypeScript type definitions
│ └── App.tsx # Main application component
├── netlify/
│ └── functions/ # 🔒 Secure serverless functions
│ ├── generateGameData.js # AI game completion endpoint
│ ├── generateCompleteGame.js # AI game generation endpoint
│ └── package.json # Serverless function dependencies
├── public/ # Static assets
├── netlify.toml # Netlify deployment configuration
└── dist/ # Built application
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
# Code Quality
npm run lint # Run ESLint
npm run type-check # Run TypeScript compiler
# Development with Serverless Functions (Recommended)
netlify dev # Start development server with functions
netlify functions:serve # Serve functions locally
For full functionality including AI features:
# Install Netlify CLI globally
npm install -g netlify-cli
# Set environment variable for local functions
netlify env:set HF_ACCESS_TOKEN your_huggingface_access_token
# Start development server with functions
netlify dev
We welcome contributions! Please see our Contributing Guidelines for details.
🚨 SECURITY GUIDELINES FOR CONTRIBUTORS:
- NEVER commit production API keys to version control
- Use demo/test keys with limited quotas for development
- Test with
.env.local
(git-ignored) for personal API keys - Document any new security considerations in SECURITY.md
- Review the Security Policy before contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Mobile browsers (iOS Safari, Chrome Android)
- Initial Load: < 3 seconds
- Game Filtering: < 500ms
- AI Generation: < 10 seconds
- Lighthouse Score: 95+ for Performance, Accessibility, Best Practices
- No personal data collection without consent
- API keys visible in built JavaScript bundle - see SECURITY.md
- Input sanitization and validation
- NOT recommended for production without backend security layer
For production deployments, implement server-side API handling or use demo keys only.
- HTTPS-only deployment
If you find AgileGamifAI helpful, consider:
- ⭐ Starring this repository
- 🐛 Reporting bugs or suggesting features
- ☕ Buying us a coffee
- 📢 Sharing with your Agile community
This project is licensed under the MIT License - see the LICENSE file for details.
- Agile Community: For continuous inspiration and feedback
- Game Designers: Who created the foundational activities we've digitized
- Contributors: Everyone who helps make this platform better
- Beta Testers: Agile coaches and Scrum Masters who provided invaluable feedback