A browser-based color recognition game designed for accessibility, particularly for users with visual impairments. Features offline speech synthesis and keyboard-only navigation.
🌐 Live Site: https://noeyes.orangeicebear.at/
📦 Repository: https://github.com/oib/noeyes
- Accessibility First: Designed for visually impaired users
- Offline TTS: Uses espeak-ng for speech synthesis without internet
- Bilingual Support: German and English language modes
- Keyboard Navigation:
- Space/Enter: Announce color and advance
- ESC: Return to menu
- 6 Colors: Red, Yellow, Blue, Green, Orange, Pink
- FastAPI Backend: Modern async Python backend
- Responsive Design: Works on various screen sizes
# Install dependencies
sudo apt install espeak-ng python3-venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Start the server
uvicorn src.backend.main:app --host 0.0.0.0 --port 8012Or use systemd:
sudo cp noeyes.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now noeyes- Open browser to
http://localhost:8012 - Select minimum 2 colors
- Click "Start Game"
- Press SPACE to hear color names
- Colors auto-advance every 3 seconds
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Main game interface |
/api/speech/status |
GET | Check TTS availability |
/api/speech/festival |
POST | Generate speech audio |
/api/game/mode/{mode} |
POST | Set game mode |
/api/game/next |
POST | Get next random color |
/api/game/status |
GET | Get game state |
noeyes/
├── src/
│ ├── backend/main.py # FastAPI application
│ └── frontend/ # HTML/CSS/JS
├── docs/structure.md # Detailed documentation
├── noeyes.service # systemd config
├── requirements.txt # Python deps
└── LICENSE # MIT License
MIT License - see LICENSE file