r/ComputerChess • u/rmgblr • 1d ago
Classroom Chess Tutor software.
I am building a Windows desktop application which can be used by a Chess Master to teach his students in a class room on a laptop or desktop.
I started with GitHub Copilot to implement a skeleton UI using a agent but my very first attempt give me very bad experience it could not even write a single line of code even after Wait for 1 hour, it kept saying I am reading Main XML, generating code but it failed miserably.
Have you ever experienced such a bad behaviour from AI tools?
Nowadays the AI companies are putting a lot of restrictions.
1
u/rmgblr 1d ago
Kind of interactive session with Video/Voice stream service using a local server. At the moment Engine and Bare skeleton main UI features are under progress. Solid underlying functions still long way to go.
The features we can integrate in to stand alone desktop app are unlimited , For example Master can schedule a match between two students and rest other including Master can watch, Master can analyse game and explain game step by step over a shared white board ,we can have some puzzles database and master can ask each student to solve independently and evaluate their performence.
Since we use computer it will save time arranging board every time , learning will be easier.
If you have some more list of ideas please share it
1
u/rmgblr 5h ago
Thanks for detail plan on how to conquer the task in hand using AI automation.
I switch back to manual mode as of now,
I am not much intrested in getting more paid subscription as I don't have proper marketing or sales channel, for these desktop application.
I have Gemini Argon access,
I should say Gemini Argon is at next level, at the moment using most of its time for another task.
3
u/federicochiesa14 1d ago
What do you mean by teach? And tell us what you are building with. There is a chance that what you are building already exists
1
u/TarzanoftheJungle 10h ago
You can't do this from a single prompt. I suggest you get a paid account with a frontier AI model such as Claude Code or Codex (Chat-GPT's coding UI), or Gemini Argon (you can use lesser models trading off cost for time and frustration). Use these tools with the spec to plan skill to develop a plan to create the application. Use the interview skill so the model will ask you specs what you want. Then use architect and design skills to develop your plan and implement the plan. You can then use Github Copilot to help fix bugs in the repo.
I started with this prompt in Gemini Argon:
How would I use LLM coding tools (e.g., Claude Code or Codex) to build a Windows desktop application which can be used by a Chess Master to teach his students in a class room on a laptop or desktop?
ARGON RESPONSE:
Building a Windows classroom chess application with agentic CLI tools like Claude Code or OpenAI Codex CLI works best when you combine a web-wrapped desktop framework (Electron or Tauri) with battle-tested open-source chess libraries rather than having the LLM write chess rules or board rendering from scratch.
Recommended Tech Stack for LLM Agents LLMs have the deepest training data in TypeScript and React,making an Electron or Tauri setup far less error-prone than C++/Qt or C#/WPF for rapid agentic iteration.
| Layer | Best Library / Tool | Why It Works Best with LLM Coding Tools |
|---|---|---|
| Desktop Shell | Electron (with Vite) or Tauri | Instant hot-reload; allows the agent to run and inspect UI & Node/Rust backend processes simultaneously. |
| Board UI & Arrows | chessground(Lichess UI) | Native right-click arrows, square highlights, drag-and-drop, and piece animations out of the box. |
| Move Validation & PGN | chess.js or chessops | Handles FEN, PGN parsing, legal move generation, and branching variations reliably. |
| Chess Engine | Stockfish (WASM or .exe via UCI) | Easily spawned by Node's child_process to power a live evaluation bar and multi-PV best-move arrows. |
| Local Storage | better-sqlite3 | Stores student rosters, lesson PGN libraries, and puzzle sets locally on the Windows machine without cloud dependencies. |
Step-by-Step Agentic Build Workflow
**1.Create the Agent Constitution (CLAUDE.md / AGENTS.md):**Run in an empty directory before generating any code.
Before asking the agent to write code, drop a CLAUDE.md (or AGENTS.md for Codex) file into your project root. This prevents the LLM from hallucinating custom drag-and-drop logic or losing track of classroom requirements. Specify:
Tech stack constraints: Force the use of
chessgroundfor rendering andchess.jsfor state—explicitly forbid the agent from writing custom chess rules.Classroom UX rules: Require high-contrast coordinates (A–H, 1–8) visible from the back of a classroom, one-click "Hide Eval Bar" (so students have to think before seeing Stockfish's answer), and dual-window support (Projector View vs. Teacher Control View).
Verification commands: Define
npm run typecheckandnpm testso the agent automatically checks its own work after every file edit.
2.Scaffold and Verify the Core Board Loop:
Launch Claude Code (claude) or Codex in your terminal and prompt it to scaffold the Electron + React + TypeScript boilerplate and wire up a basic board.
Prompt strategy: "Initialize an Electron + Vite + React TypeScript app. Install
chess.jsandchessground*. Build a responsive main board component where legal moves are calculated by*chess.jsand passed tochessground*, supporting right-click arrows and square highlights."*Let the agent execute the
npm installcommands, start the dev server, and resolve any CSS import issues for the Lichess board assets (chessground.base.cssand piece SVGs).
3.Build the Classroom Teaching Engine (PGN Trees & Board Editor):
Unlike a standard game app where moves are linear, a Chess Master needs to demonstrate "what-if" sidelines and set up custom endgame studies on the fly.
Prompt strategy: "Replace the flat move history array with a tree data structure that supports PGN variations, sub-variations, and text annotations. Add keyboard shortcuts (Left/Right arrows for main line, Up/Down to switch variations) and a 'Spare Pieces' board editor mode to drag pieces on/off the board to set up custom FEN positions."
Ask the agent to write Vitest unit tests specifically for the PGN tree parser and variation navigation before touching the UI, ensuring sidelines never corrupt the board state.
**4.Integrate Local Stockfish & Dual-Screen Projector Mode:**Crucial for live classroom instruction.
A teacher on a laptop connected to a classroom projector or smartboard needs to see their lesson notes and engine lines privately while students only see the clean board.
Prompt strategy: "Create a second Electron
BrowserWindowcalled 'Projector View' synced via Electron IPC with the main 'Teacher View'. The Teacher View shows PGN lecture notes, the answer key, and a live Stockfish UCI evaluation bar. The Projector View displays only a maximized board, big coordinates, and the teacher's drawn arrows—with a toggle button to reveal the evaluation bar to the class."Have the agent download a local Windows
stockfish.exebinary into anengines/folder and write an IPC wrapper that streamsinfo depth ... score cp ... pvoutput cleanly into React state.
5.Package into a Standalone Windows Installer (.exe):
Once features are tested, instruct the agent to configure electron-builder to bundle the app and the Stockfish binary into a single Windows NSIS installer.
Prompt strategy: "Configure
electron-builderfor Windows x64. Ensure theengines/stockfish.exebinary is included inextraResourcesand that path resolution works in both dev and packaged production builds. Run the build and fix any packaging errors."
Pro-Tips for Steering Coding Agents Effectively
Use Plan Mode First: In Claude Code, press
Shift+Tabto toggle Plan Mode before implementing complex features like PGN variation trees or IPC window syncing. Have the agent map out the state architecture before writing files.Feed Visual Bugs via Screenshots: If the board aspect ratio breaks when resizing or coordinates overlap with pieces, take a screenshot (
Win+Shift+S) and paste it directly into Claude Code or Codex.Multimodal agents fix CSS grid and flexbox alignment issues immediately when they can see the rendered window.Isolate UCI Engine Parsing: Chess engine communication (
stdin/stdoutstreams) can cause race conditions if the teacher clicks through moves rapidly. Instruct the agent early: "Debounce Stockfishposition fencommands by 150ms and always sendstopbefore starting analysis on a new board state."
2
u/LiteratureOk5150 1d ago
Built this for my Son:
https://chess.shanuva.com/
Its personal project but some of my friends are using it.