Andrew Brice

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.