Programming Projects
Paint Crate
Paint Crate is a Python desktop application I built to solve a real-world problem: keeping track of my model paint collection. As a hobbyist, I often struggled to manage dozens of paints, so I created this tool to make organising and searching my collection much easier.
What it does
- Browse, search, and organise my paint inventory by brand, name, or type.
- Display colour previews using approximate hex values for quick visual reference.
- Track whether I own each paint with a simple checkbox.
My Experience
This was my first self-directed programming project. I used TTKBootstrap (a Tkinter-based UI library) to build the interface, SQLite3 for data storage, and Pillow to generate approximate colour previews.
I also used AI as a learning tool throughout the project. It helped me understand how the external libraries worked, troubleshoot problems when I got stuck, and explain concepts I didn't fully understand.
It was also useful when working with the large paint database, helping to format each entry into a list of tuples and approximate hexadecimal colour values for the paint swatches.
Unfortunately, paint manufacturers do not typically publish hexadecimal colour values for their paints, so I relied on third-party sources where available and AI-generated approximations when they were not.
What I learned
One of the biggest lessons I learned was that relying too heavily on AI can limit how much you learn as a programmer. While it helped me make progress quickly, I realised that I retained far more knowledge when I took the time to solve the problem myself. Going forward, I plan to keep my project scope smaller so I can build more of it independently and strengthen my understanding.
Overall, this project gave me a solid introduction to Python GUI development and helped me understand the fundamentals of SQL databases and how they integrate with python applications.
Next steps
I'd like to find a way to make this project into a web application so it's accessible from anywhere and potentially useful to other hobbyists. I'd also like to recreate the project in another programming language without using AI assistance, as a way to reinforce what I've learned. If you're interested in seeing how it was built, feel free to check out the GitHub repository.