An innovative accessibility-focused chess application that enables players to play chess entirely through voice commands, designed specifically for blind and visually impaired users.
- Overview
- Key Features
- Demo
- Technologies Used
- Project Structure
- Installation & Setup
- Voice Commands
- How to Play
- Browser Compatibility
- Motivation & Impact
- Contributing
- License
- Contact
MindChess is a groundbreaking web application that makes chess truly accessible to everyone by eliminating visual dependency entirely. Using the Web Speech API, players can make moves, hear game updates, and enjoy a complete chess experience through voice alone.
Traditional digital chess platforms rely heavily on visual interaction, creating barriers for blind and visually impaired players. MindChess removes these barriers by providing:
- ๐ค Complete voice control - No mouse or screen needed
- ๐ Real-time audio feedback - Every move is announced
- โฟ Universal accessibility - Play chess independently
- ๐ Web-based - No installation required
- โ 100% Voice-Controlled Interface - Play chess using natural voice commands
- โ Intelligent Text-to-Speech - Clear audio feedback for every move and game state
- โ Computer Opponent - Practice against an AI engine with Alpha-Beta pruning
- โ Complete Chess Rules - Full support for castling, en passant, promotion, check, and checkmate
- โ Move History Audio - Listen to all previous moves on demand
- โ Dedicated Control Buttons - Repeat, Read, and Undo buttons for quick access
- โ Draw & Resign Options - Voice commands for game conclusion
- โ Undo Functionality - Take back moves with voice commands or buttons
- ๐จ Clean, Minimal Interface - Visual board for sighted spectators and assistants
- โจ๏ธ Keyboard Shortcuts - Press 'V' to activate voice recognition
- ๐ฑ Responsive Design - Works seamlessly on desktop, tablet, and mobile
- ๐ Continuous Listening Mode - Automatic reactivation for smooth gameplay
- โฟ WCAG Compliant - Designed with accessibility standards in mind
- ๐ Browser-Based - No special software installation required
- ๐ Privacy-First - All voice processing happens locally in the browser
Try it yourself:
- Clone the repository
- Run
npm install && npm start - Navigate to
http://localhost:4000 - Allow microphone access
- Start playing with voice commands!
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- Path - File path utilities
- Vanilla JavaScript (ES6+) - Core application logic
- Chess.js - Complete chess move validation and game logic
- Chessground - Beautiful, responsive chess board UI
- Web Speech API (SpeechRecognition) - Voice command recognition
- Web Speech API (SpeechSynthesis) - Text-to-speech output
- CSS3 - Custom styling with responsive design
- Chessground CSS - Pre-styled chess board themes
MindChess/
โ
โโโ node_modules/ # Dependencies
โ โโโ chess.js/ # Chess logic library
โ โโโ chessground/ # Chess board UI library
โ โโโ express/ # Web server framework
โ โโโ ... # Other dependencies
โ
โโโ public/ # Static files served to client
โ โโโ index.html # Main HTML structure
โ โโโ script.js # Client-side JavaScript logic
โ โโโ styles.css # Custom CSS styling
โ โโโ chessground.css # Chessground base styles
โ โโโ chessgroundbase.css # Chessground theme base
โ โโโ chessgroundbrown.css # Brown chess board theme
โ โโโ mindchess.jpg # Application logo
โ
โโโ server.js # Express server configuration
โโโ package.json # Project dependencies and scripts
โโโ package-lock.json # Locked dependency versions
โโโ README.md # Project documentation (this file)
Before you begin, ensure you have the following installed:
- Node.js (v14.0.0 or higher) - Download here
- npm (comes with Node.js)
- A modern web browser (Chrome, Edge, or Safari recommended)
- A working microphone
-
Clone the repository
git clone https://github.com/sebas80sebas/MindChess.git cd MindChess -
Install dependencies
npm install
-
Start the server
npm start
Or alternatively:
node server.js
-
Open in browser
Navigate to: http://localhost:4000 -
Allow microphone access
- Your browser will prompt you to allow microphone access
- Click "Allow" to enable voice commands
-
Start playing!
- Click the "Start Game" button
- Click "Speak" or press 'V' to begin using voice commands
Port already in use?
# Kill process on port 4000
lsof -ti:4000 | xargs kill -9
# Or change the port in server.js
const PORT = 4001; // Change to any available portMicrophone not working?
- Ensure your browser has microphone permissions
- Check system microphone settings
- Try reloading the page
- Use Chrome or Edge for best compatibility
| Command | Example | Description |
|---|---|---|
move [piece] to [square] |
"move knight to e4" | Move a specific piece |
[piece] takes [square] |
"queen takes d5" | Capture with a piece |
[piece] [square] |
"pawn e4" | Short form (moves piece to square) |
- Pawn - "pawn"
- Knight - "knight"
- Bishop - "bishop"
- Rook - "rook"
- Queen - "queen"
- King - "king"
| Command | Description |
|---|---|
castle kingside |
Perform O-O (short castling) |
castle queenside |
Perform O-O-O (long castling) |
| Command | Description |
|---|---|
draw |
Offer a draw to opponent |
resign |
Resign from the current game |
read |
Listen to all moves made in the game |
repeat |
Hear the last move made again |
undo |
Undo the last move |
| Key | Action |
|---|---|
V |
Activate/deactivate voice recognition |
-
Launch the application
- Open
http://localhost:4000in your browser
- Open
-
Welcome screen
- You'll see the MindChess welcome screen
- Select Opponent: Choose between "๐ค vs Human" or "๐ค vs Computer"
- Select Time: Choose your game duration
- Click "Start Game" button
-
Board setup
- The chess board appears with pieces in starting position
- White plays first
-
Activate voice recognition
- Click the "Speak" button
- Or press the 'V' key on your keyboard
- The button will show "Listening..."
-
Speak your move clearly
- Example: "move pawn to e4"
- Example: "knight takes f6"
- Speak at a normal pace and volume
-
Hear the confirmation
- The game will announce: "Player 1 made the move e4"
- The board updates automatically
- Voice recognition reactivates for the next move (if playing vs Human)
- If playing vs Computer, the AI will automatically calculate and announce its move
-
Game Controls
- Repeat Move: Hear the last move again
- Read Moves: Listen to all moves made in the game so far
- Undo Move: Take back the last move (undoes two moves if vs Computer)
- Resign: Forfeit the game
- Request Draw: Offer a draw to the opponent
Start Game โ Speak Button โ Make Move โ Hear Feedback โ Next Turn
โ โ
โโโโโโโโโโโโโโโโโโโโโโโ Continue Playing โโโโโโโโโโโโโโโโ
Check:
- Audio announces: "Player X made Check"
- King must move to safety
Checkmate:
- Audio announces: "Player X made Checkmate"
- Game ends, winner declared
Draw:
- Say "draw" to offer
- Opponent must accept or reject via modal
Resignation:
- Say "resign" to forfeit
- Confirmation modal appears
| Browser | Voice Recognition | Text-to-Speech | Status |
|---|---|---|---|
| Google Chrome | โ Excellent | โ Excellent | Recommended |
| Microsoft Edge | โ Excellent | โ Excellent | Recommended |
| Safari | โ Good | โ Good | Supported |
| Firefox | โ Good | Partial Support | |
| Opera | โ Good | โ Good | Supported |
- Web Speech API support (SpeechRecognition)
- SpeechSynthesis support
- Microphone access
- JavaScript enabled
Visit this page to check compatibility:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API#browser_compatibility
Chess is a universal game enjoyed by millions worldwide, but traditional digital chess platforms create significant barriers for blind and visually impaired players:
- โ Heavy reliance on visual board interaction
- โ Inaccessible mouse-based controls
- โ Lack of comprehensive audio feedback
- โ Screen readers provide incomplete information
MindChess eliminates these barriers by providing:
- โ Complete independence - No visual or physical assistance needed
- โ Natural interaction - Play using everyday language
- โ Equal opportunity - Same chess experience for all players
- โ Cognitive accessibility - Clear, structured audio feedback
- ๐ 2.2 billion people worldwide have vision impairment (WHO)
- โ๏ธ Chess develops critical thinking, strategy, and problem-solving
- ๐ Educational tool for blind students learning chess
- ๐ค Enables inclusive tournaments and social play
- ๐ก Demonstrates potential of voice-first interfaces
MindChess follows these core principles:
- Perceivable - Information communicated through audio
- Operable - Fully controllable via voice
- Understandable - Clear, consistent audio feedback
- Robust - Works across modern browsers and devices
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
-
Fork the repository
git clone https://github.com/sebas80sebas/MindChess.git
-
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
- Write clean, commented code
- Follow existing code style
- Test thoroughly
-
Commit your changes
git commit -m 'Add some amazing feature' -
Push to the branch
git push origin feature/amazing-feature
-
Open a Pull Request
- ๐ Add multi-language support (Spanish, French, German, etc.)
- ๐จ Create additional board themes
- ๐ค Implement AI opponent using Stockfish
- ๐ Add game statistics and analysis
- ๐ Improve voice recognition accuracy
- ๐ฑ Optimize mobile experience
- โฟ Enhance accessibility features
- ๐ Add interactive tutorial mode
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2026 โ Ivรกn Sebastiรกn Loor Weir
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Chess.js - Robust chess move validation and game logic
- Chessground - Beautiful, responsive chess board UI
- Web Speech API - Browser voice recognition and synthesis
- Express.js - Fast, minimalist web framework
- The blind and visually impaired community for inspiration and user feedback
- Open source contributors worldwide
Project Creator: Ivรกn Sebastiรกn Loor Weir
- ๐ง Email: [sebas80sebas@gmail.com]
- ๐ GitHub: @sebas80sebas
- ๐ LinkedIn: My LinkedIn
Project Repository: https://github.com/sebas80sebas/MindChess
MindChess - Making chess accessible to everyone, one move at a time.
