An AI-powered educational web application that gamifies alphabet learning through interactive chat experiences and digital badge rewards.
- 🤖 AI-Powered Learning: Interactive chat with intelligent alphabet bot
- 🏆 Digital Badges: AI-generated unique artwork for each letter achievement
- 📱 Progressive Web App: Install on mobile devices with offline support
- 🎨 Beautiful UI: Modern, responsive design with smooth animations
- ♿ Accessible: WCAG 2.1 AA compliant for inclusive learning
- 🔄 Fallback System: Works even when AI services are unavailable
- Python 3.7+ installed on your system
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Google AI Studio API key (optional, for AI-generated badges)
-
Clone or download the project
cd /Users/sean/IdeaProjects/AIProjects/DuoBadge -
Start the servers (Automated)
chmod +x start_servers.sh ./start_servers.sh
-
Or start manually
# Terminal 1: Start the proxy server python3 proxy_server.py # Terminal 2: Start the web server python3 -m http.server 8001
-
Open your browser
- Navigate to
http://localhost:8001 - The application will load automatically
- Navigate to
For AI-generated badges, you'll need a Google AI Studio API key:
- Visit Google AI Studio 0
- Create an account and generate an API key
- In the app, go to Settings → Configure API Key
- Enter your API key and save
- Toggle "Use Real AI" to enable AI-generated badges
DuoBadge/
├── 📄 PRD_Alphabet_Badge_Bot.md # Product Requirements Document
├── 📄 README.md # This file
├── 🌐 index.html # Main application interface
├── 🎨 styles.css # Complete styling and responsive design
├── ⚡ script.js # Core application logic
├── 🔧 proxy_server.py # Python proxy server for API calls
├── 🚀 start_servers.sh # Automated server startup script
├── 📱 manifest.json # PWA manifest for mobile installation
├── 🔄 sw.js # Service worker for offline functionality
├── 🎪 demo.html # Demo/landing page
├── 🧪 test-api.html # API testing interface
├── 🖼️ test-image-display.html # Image generation testing
├── 🔑 setup-api-key.html # API key configuration page
└── 📊 proxy.log # Server logs
- Select a Letter: Click on any letter in the alphabet grid
- Chat with the Bot: Type words that start with your chosen letter
- Earn Badges: Complete the conversation to unlock a unique badge
- Collect All 26: Work through the entire alphabet at your own pace
- View Collection: Check your badge gallery and progress
- Monitor Progress: Visual indicators show completed letters
- Offline Learning: Works without internet after initial load
- Safe Environment: No data collection, all progress stored locally
- Accessibility: Supports keyboard navigation and screen readers
- Frontend: Pure HTML5/CSS3/JavaScript (no frameworks)
- Backend: Python proxy server for CORS handling
- AI Integration: Google AI Studio Imagen API
- Storage: Browser localStorage for progress persistence
- PWA: Service worker for offline functionality
- ✅ Chrome 80+
- ✅ Firefox 75+
- ✅ Safari 13+
- ✅ Edge 80+
- 📊 Page load: < 3 seconds
- 🎯 API success rate: 95%+
- 📱 Mobile optimized
- ♿ Accessibility compliant
- Web Server:
http://localhost:8001 - Proxy Server:
http://localhost:8003
Access the settings panel in the app to configure:
- API key for AI-generated badges
- Fallback mode toggle
- High contrast mode
- Sound effects (future feature)
- API Testing:
http://localhost:8001/test-api.html - Image Display:
http://localhost:8001/test-image-display.html - API Setup:
http://localhost:8001/setup-api-key.html - Demo Page:
http://localhost:8001/demo.html
- Test letter selection and chat functionality
- Verify badge generation (both AI and fallback)
- Check offline functionality (disconnect internet)
- Test responsive design on different screen sizes
- Validate accessibility with keyboard navigation
Servers won't start
- Ensure Python 3.7+ is installed
- Check if ports 8001 and 8003 are available
- Try running servers manually instead of using the script
AI badges not generating
- Verify API key is correctly configured
- Check internet connection
- Review proxy.log for error messages
- Use fallback mode as alternative
App not loading
- Clear browser cache and cookies
- Try a different browser
- Check browser console for JavaScript errors
- Ensure both servers are running
Mobile installation issues
- Use Chrome or Safari on mobile
- Ensure HTTPS (use ngrok for testing)
- Check PWA manifest configuration
We welcome contributions! Here's how you can help:
- Report Bugs: Use GitHub issues for bug reports
- Suggest Features: Share ideas for new functionality
- Improve Documentation: Help make instructions clearer
- Code Contributions: Submit pull requests with improvements
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google AI Studio for providing the image generation API 0
- Font Awesome for the beautiful icons
- Google Fonts for the typography
- The open-source community for inspiration and tools
Need help? Here are your options:
- 📖 Check this README for common solutions
- 🐛 Report bugs via GitHub issues
- 💡 Suggest features via GitHub discussions
- 📧 Contact the development team
- 🌍 Multi-language support
- 📊 Advanced learning analytics
- 🎵 Sound effects and narration
- 🤝 Social features and sharing
- 📱 Native mobile apps
- 🥽 AR badge viewing
Happy Learning! 🎉
Made with ❤️ for young learners everywhere