BlunderBot ♟️: A Playful Chess Bot Opponent in Your Browser
As a FIDE-rated 2100+ player and a developer, I’ve always been fascinated by the blend of chess precision and tech creativity. That’s what inspired me to build BlunderBot — an online chess-playing AI that runs right in your browser, powered by Stockfish and built with modern full-stack tools.
🤖 What Can You Do With BlunderBot?
BlunderBot isn't just another “click to move pieces” board. It’s a fast, responsive, and slightly sarcastic bot that's built to humble you gently — depending on the difficulty level you choose.
Here’s what you can do with it:
- ✅ Play a full game against Stockfish in your browser (difficulty: Easy → Insane)
- ✅ Pick your side (white/black) to play the opening or test defenses
- ✅ Choose a board theme & piece style to match your mood or aesthetic
- ✅ Download your game as PGN for analysis on Lichess or Chess.com
- ✅ Export a final board snapshot as PNG — perfect for sharing, tweeting, or archiving
- ✅ Restart instantly and play again without page reloads
Coming soon:
- 🔍 In-browser move evaluation
- 🧠 Blunder detection + taunts
- 🎓 Training and feedback based on your games
⚙️ Tech Stack
Layer | Tech |
---|---|
Frontend | React + Next.js 14 (App Router) |
Styling | Tailwind CSS + Custom themes |
Game Engine |
chess.js + react-chessboard
|
AI Opponent | Web Worker running Stockfish |
Hosting | Cloudflare Pages |
Extras | PGN export, HTML-to-image for PNG export |
📦 Open Source
You can check out the full source code here:
👉 github.com/AbhishekDvs/BlunderBot
Feel free to fork it, improve it, or deploy your own version!
🧠 Why I Built It
There are many great chess platforms1, but most of them either:
- Don't offer full AI control in the browser
- Lack customization
- Aren’t easy to self-host or modify
As a dev who loves side-projects and a chess player who loves customizing tools, I wanted to:
- Build something I could tweak and deploy freely
- Create a minimal, beautiful environment to practice and reflect
- Have a chessboard that occasionally mocks me for blundering my rook 🫠
🔜 Roadmap
Some things I'm actively working on:
- ⏳ Eval bar using Stockfish output
- ⏳ PGN upload + auto analysis
- ⏳ Leaderboard or local score tracking
If you’re a dev or chess nerd, your PRs, ideas, or insults are all welcome.
🙌 Credits
- Chess Engine: Stockfish
- Board UI: react-chessboard
- PGN Handling: chess.js
- Hosted via Cloudflare Pages
- Built by Abhishek Dvs