It will help you improve your skills and understand how to start this journey!
Another week, another tool—written by AI.
The idea behind the project was to optimise my MP3 collection: I wanted to fix corrupted files, generate a leaderboard of the most‑represented artists, and provide an AI‑driven interface for finding similar artists.
This was my first attempt at creating a fairly complex, desktop (non‑web) GUI application, and I started with a detailed plan.
The initial prototype quickly ran into many problems, so I decided to scrap it, generate a new plan from the lessons learned, and start over from scratch.
The experience was completely different this time. The code quality improved, and the discussions with the AI about implementation details were far more productive.
One of the main lessons was the importance of threading in GUI applications. In a UI you must explicitly mark long‑running tasks as asynchronous; otherwise the interface freezes.
In web development you rarely notice this because the browser already handles most of the asynchrony for you.
This also created issues with SQLite, since the database is accessed from background threads while the UI thread is still running.
In my case the problem surfaced while reading MP3 files to extract metadata and save some data.
It seems that most large‑scale language models are trained primarily on web‑related code, so they don’t always understand the quirks of desktop GUI programming.
I believe that building specialised skill.md for these models could improve their performance in this domain.
