Ice skating quiz
I was asked to help study for an ice skating exam. After helping manually, I proposed and implemented an automated version in 30 minutes.
Read More

Published on Jan 20, 2026 by debnera on other
I was asked to help study for an ice skating exam. After helping manually, I proposed and implemented an automated version in 30 minutes.
The project is extremely simple, but is an example of quick tools I might do on my free time alongside my longer private projects. It was a brief adventure to some vibe coding and the creation of distributable Python programs for non-technical users.
Theme: Create a simple but effective quiz for learning
Project duration: ~30 minutes + some additions over a couple of days
Team size: 1
Features:
Vibe coding
Despite the popular hate against vibe coding, this was a perfect project for it. The scale is small enough to get main functionality, software architecture, and GUI design done in a single prompt. A second prompt was to change the tkinter gui to anything more modern. It ended up using CustomTKInter which was visually good enough for me. For the second quiz type, I told it to create a similar but separate program with word-level highlighting to tell the user about smaller mistakes and missing words.
I fed the quiz data as an image to a locally running vision-language model. Despite the complexity of the table in the image, it understood my csv format and gave me a mostly typo-free output. I could have maybe avoided some of the manual fixing by using tools to read the pdf directly instead of taking a screenshot.
The resulting codebase is quite horrible and merging the two main features into a single program (instead of two separate ones) was a bit tough for the LLM. But I do not intend on developing this program further in terms of features, so it does not matter.
I see AI as a useful tool for coding when giving it well defined small problems to work with. It is important to understand its capabilities and limitations. There, however, seems to be some somewhat concerning blind hate against generative AI. For example, Steam requires the developers to disclose any use of AI. And in turn, disclosing any use of AI seems to cause very negative reviews. I understand disliking and being wary over the quality of graphical assets developed by AI. I understand not wanting to play a bug-ridden game that the developer does not have skills to fix. But I see no problems with using AI as a tool to assist me as a developer to create code, look up documentation, draft bash scripts, and automate cumbersome coding tasks.
Lessons learned:
1. Windows defender
Windows defender will complain about the executable. Same goes with tools like VirusTotal flagging it as various kinds of potentially harmful software. Common reasons seemed to be that it is not signed, source code has multi-line comments (odd complaint?), and using –one-file option of PyInstaller.
Fixing all but signing the executable did not get rid of the warnings. Getting a signing certificate seems to go for around 100+ EUR per year, which is not worth it for my current use cases.
2. Distributable size:
While the software is super simple, the executable is 20 MB. This is a lot of space for a simple quizzing program. On its own, it does not really matter. But when people are downloading lots of small programs that they rarely use, it starts adding up. Same applies to all the releases of this quiz I publish on GitHub. Each release takes 20 MB, and I made releases with very fast release cycles as the idea is to quickly deploy new features and fixes upon request of the person using this program. Each one of these releases is permanently (unnecessarily?) stored on some cloud storage.
This simply does not seem sustainable to me, even if we have tons of cloud resources and local disk space available.
Possible fixes:
I was asked to help study for an ice skating exam. After helping manually, I proposed and implemented an automated version in 30 minutes.
Read More