e4Nf3Bb5O-ORe1Qh5++0.7depth=3
Portfolio chess engine manuscript
MyChessBot
A modern chess bot told like an old strategy book: board geometry, notation, engine search, and interface craft layered into one playable full-stack experiment.
1. e4
Openingcandidate move+0.3
Project Overview
MyChessBot is a software engineering portfolio project centered around building a playable chess AI from the ground up. The app combines a React interface with a FastAPI backend layer, turning each move into both a game decision and a structured software event. Player input is validated, board state is evaluated, and the engine responds through a recusive decision making process designed to model how a chess bot thinks.
- chess AI project
- engine gameplay design
- state based architecture
2. Nf3
The Positionposition analysisdepth=2
How It Works
The frontend renders the current position using data from the backend, including FEN, legal moves, turn state, game status, and the last move played. When a player submits a move, the API validates the UCI notation, updates the board, and returns a new position. This creates a clean feedback loop between interface, rules engine, and AI decision logic.
- FEN translated UI
- validated move pipeline
- API controlled game state
3. Bb5
The Engineevaluation+0.7
Key Features
The bot supports multiple levels of decision-making, from simple legal move selection to game state evaluation and deeper minimax-style search. The engine considers board state, material balance, legal responses, and future move possibilities, while the interface adds animated feedback, capture previews, undo/reset controls, and endgame result handling.
- AI move selection
- heuristic evaluation
- minimax search
4. O-O
The Boardengine roomalpha-beta
Tech Stack
MyChessBot is built with React Router, TypeScript, CSS modules, and custom SVG chess assets on the frontend. The backend uses FastAPI and the python-chess library to manage rules, board state, legal move generation, and engine calculations. This separation keeps the UI focused on interaction while the backend handles the core game logic and AI behavior.
- React + TypeScript
- FastAPI engine layer
- python-chess rules
5. Re1
The Searchsearch depthdepth=3
Development Process
The development process began with the core chess logic: validating legal moves, tracking board state, and returning clear game information from the backend. From there, I built FastAPI endpoints for player moves, bot moves, undo functionality, and game status updates. Once the API was in place, I connected the React frontend and refined the user experience around board interaction, difficulty selection, and game feedback. This project also gave me the opportunity to deepen my understanding of search algorithms, board evaluation, and full-stack application design. As the engine grew, I added move selection strategies, minimax search, alpha-beta pruning, and testing around the game logic to make the system more reliable.
- engine iteration
- API contracts
- search-based logic
6. Qh5+
The Playerfinal annotation#
About the Developer
I built MyChessBot as a Boston University computer science graduate interested in the intersection of algorithms, AI behavior, and interactive software. Chess has always appealed to me because it rewards pattern recognition, tactical planning, and thinking several moves ahead. What started as an effort to build a more challenging chess opponent became a full-stack engineering project focused on search algorithms, backend architecture, and thoughtful user experience.
- software engineering
- algorithmic thinking
- AI-inspired design