
Creating "Canvas Dreams": My Journey Building an Interactive Art Game with Amazon Q CLI
Today I'm excited to share my experience building "Canvas Dreams," an interactive art creation game I developed with the assistance of Amazon Q CLI. This project showcases how AI assistance can accelerate creative application development and help bring imaginative ideas to life.
Published May 23, 2025
Last Modified May 29, 2025
Canvas Dreams is a digital art creation tool that lets users express their creativity through various drawing modes and effects. Available in both desktop and web versions, it features a professional interface with intuitive controls and powerful artistic capabilities.

The game includes several creative tools that make digital art creation accessible and fun:
- Multiple Drawing Modes: Standard drawing for precision, spray paint for soft effects, kaleidoscope for symmetrical patterns, and gravity mode for dynamic fountain-like effects
- Particle Physics: Real-time particle systems that create natural-looking effects
- Customization Options: Adjustable brush sizes, symmetry levels, and background colors
- Professional Interface: Sidebar with controls, dedicated canvas area, and color palette
- Cross-Platform: Desktop version using Pygame and web version using HTML5 Canvas
Amazon Q CLI was instrumental in building this project:
- Rapid Prototyping: Helped me quickly establish the core drawing mechanics and particle systems
- UI Design: Suggested a professional interface layout with sidebar and organized controls
- Algorithm Implementation: Assisted with complex algorithms like the symmetrical pattern generation
- Web Conversion: Transformed the Pygame application into a web-based version using Flask and HTML5 Canvas
- Troubleshooting: Identified and fixed compatibility issues between libraries
The most impressive aspect was how Amazon Q CLI could understand my creative vision and help implement it with clean, efficient code. It suggested features I hadn't considered, like the kaleidoscope mode that became one of my favorite parts of the game.
Canvas Dreams leverages several interesting programming concepts:
- Particle Systems: For creating natural-looking spray and gravity effects
- Symmetry Algorithms: For generating kaleidoscopic patterns with variable symmetry levels
- Event-Driven Programming: For responsive user interactions
- Canvas Rendering: For efficient drawing operations
- Cross-Platform Development: Maintaining consistent features across desktop and web versions
One interesting challenge was handling audio initialization errors in environments without sound hardware. Amazon Q CLI suggested disabling the audio subsystem and using specific initialization for only the required Pygame components.
Another challenge was ensuring compatibility between Flask and Werkzeug versions for the web implementation. The solution was to specify exact compatible versions in the requirements file.
Building Canvas Dreams with Amazon Q CLI taught me:
- How AI assistance can dramatically speed up development workflows
- Techniques for implementing interactive graphics and particle systems
- Approaches for creating cross-platform applications
- The importance of user interface design in creative applications
The code for Canvas Dreams is available on GitHub: https://github.com/vanhoangkha/Build-Games-with-Amazon-Q-CLI
To run it:
- For the desktop version:
cd canvas_dreams && ./run.sh
- For the web version:
cd canvas_dreams_web && ./run.sh
then visithttp://localhost:1313
I'm considering expanding Canvas Dreams with:
- Animation recording capabilities
- Layer system for complex artwork
- Collaborative drawing features
- Mobile optimization for the web version
Amazon Q CLI proved to be an invaluable partner in creative application development. It helped me implement complex features quickly while focusing on the creative aspects of the project. If you're interested in game development or creative coding, I highly recommend giving it a try!
#AmazonQCLI #GameDev #CreativeCoding #PygameProjects #WebDevelopment