This is an open-source project to help beginner player's imrpove their understanding of chess principles and develop basic chess vision.
It leverages an LLM (openai/gpt-4o
) to analyze the position and provide feedback to the user and another LLM (openai/gpt-3.5-turbo-instruct
) to play against the user.
- Multi-LLM: this project utilizes two LLMs, one as a coach and the other as an opponent
- Coach:
openai/gpt-4o
because it's a pretty good all-around model - Opponent:
openai/gpt-3.5-turbo-instruct
because there's some anecdotal evidence that it's better at playing chess than other models - if it doesn't provide a valid move we choose a random valid move for the Opponent
- Coach:
- Advice: the player can right click on a piece with valid moves to ask the Coach what it thinks about moving that piece
- Analysis: the Coach will provide an ongoing analysis after each player and Opponent move
- Undo: the player can undo and redo moves, checking the Coach's analysis and viewing the possible Opponent responses before finally committing to a move and allowing the Opponent to play
- View Opponent Moves: before committing to a move, the player can click on Opponent pieces to see their possible moves, allowing them to consider the Opponent's possible responses before committing to a move - they can also right click on a piece to ask the Coach about the relative strength of that opponent move
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.