Chess Database with Artificial Intelligence
In this article, I’m going to introduce a chess game database application fully integrated with artificial intelligence. Instead of the traditional menus, it features a console where we can interact with a group of AI assistants. These assistants help us understand, learn to use, and configure the application. They can also perform tasks for us—such as searching for games in the database, adding commentary, or even playing chess with us.
This application is part of a broader project. I’d like to encourage everyone to help build a community focused on developing applications integrated with AI.
It’s not meant to be a community just for developers. Integrating AI into real applications may look simple, but in practice it’s surprisingly difficult.
We’re used to interacting with AI assistants in their domain—inside the platforms provided by their creators.
They’re experts at SQL, C#, and countless other languages and frameworks. They help us install servers, configure complex environments, and understand commercial software in detail.
However, when we connect them to our own applications, they suddenly seem clumsy, as if they no longer understand things. At least, that’s been my experience so far.
I think the reason is that when we bring them into our own ecosystem, we’re placing them in a context they were never trained for.
All the knowledge I mentioned earlier is public-domain material. Their neural networks were trained on that—it’s built into them.
But our proprietary applications aren’t part of that training. They know nothing about them, even though they can understand them once they’re exposed. They simply have to learn from scratch.
That’s why it’s so important to document everything carefully, provide coherent and well-defined sets of functions, and remember that an assistant can only handle a limited number of functions at once.
It’s also essential to adapt the experience to different kinds of users and levels of expertise.
All of this means that a successful integration of AI into a large, serious, and complex corporate application requires many different professional profiles.
Companies with proprietary software that want to adapt to this revolution we’re already living through will need experienced people who can enhance their most valuable digital assets and take them to another level.
- The application itself becomes its own documentation.
- It helps users solve problems, even teaching them how to use the software without extra help.
- Applications can communicate with each other, adding an intelligent layer to their interactions.
- Incidents report themselves, complete with technical details and standardized formatting.
- And anything else you can imagine.
My goal is to present a series of such applications as a contribution to experimentation—places where you can explore without fear of breaking anything.
I also plan to make this blog a bit more visual and dynamic. Too much text bores even me sometimes.
So this time, I’ll let a video do most of the explaining. Here it is:
You can download the source code from this link.
If you only want the executable, use this one.
And for those who want to install the MySQL database with 200,000 games mentioned in the video, you can download it this link. (here)
If you don’t yet have a database server, here’s how to install MySQL and load the database:
- Download the MySQL 8.4 installer from this link. If needed, get some help from your favorite AI assistant—it’s not complicated. Just make sure to note down the password you assign to the root user.
- Once the database server is installed, open the command prompt and follow these steps:
Go to the directory where MySQL is installed:
cd C:\Program Files\MySQL\MySQL Server 8.4\bin
Run this command:
mysql -u root -p
You’ll be asked for the password—enter it and press Enter.
Now create the `chess_db` database:
CREATE TABLESPACE `tbs_chess_db` ADD DATAFILE 'tbs_chess_db.ibd' ENGINE=InnoDB;
CREATE DATABASE `chess_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Next, create a user for the database.
You can choose any username and password; in this example, we’ll use “chess_db” and “chessdb”.
You’ll need this information later to configure the connection in the chess application.
CREATE USER 'chess_db'@'%' IDENTIFIED BY 'chessdb' PASSWORD EXPIRE NEVER;
GRANT ALL PRIVILEGES ON `chess_db`.* TO 'chess_db'@'%';
FLUSH PRIVILEGES;
SET PERSIST event_scheduler = ON;
Now type “exit” to leave MySQL, and run this other command to load the downloaded chess database:
mysql -u root -p chess_db < (path to the file)\MySQL_chess_db.sql
Then run the application and complete the initial configuration as explained in the video (and in the accompanying documentation).
That’s all for now.
You can start exploring the application and take a first look at the source code. Meanwhile, I’ll be preparing the next article, with new videos explaining how the project is structured—and how you can understand and expand the code with your own ideas.
Thanks for reading, and see you next time.