Technical implementation: The web-app uses Flask, Pillow for image manipulation, and for the QR code processes (encoding, matrix generation) the libraries qrcode and segno.
I kept this simple, since I wanted to write a "Pythonic" app. The implementation works well, the UI is clean, it scales, the QR codes can be updated/downloaded, and the user sees the changes in real-time. The application is designed to be web-based, and has the following characterictics:
- I followed strict implementation rules, with extensive (in-code) documentation notes/comments.
- I used Automated Matrix Scaling via the libraries - this is actually very useful because it avoids
DataOverflowerrors. For example, for the QR code version, I let the library do the matrix search and match (1..40). The version is not manually defined; initially, I had the version custom-defined, and later I decided to comment it out and use the automatic assignment. What I did was set the version to “None” and calledqrcode.make(fit=True)=> the version is picked automatically, and potential DataOverflow errors are avoided. - The UI is minimalistic and uses vanilla Javascript. This offers a real-time, instant visual feedback for QR code generation, editing, and download work, as indicated by the listed options.
- On the SVG side, it was initially set to be displayed via an iframe, which would visually cause issues or misalignment => I switched to an image type of tag (mainly because this is a pretty static application and dynamic behavior was not expected nor needed here).

