Inspiration
Our team was inspired by a problem that Mishti, an artist herself, faced often: mixing the exact paint color she needed with only the pigments that she had. As someone familiar with the frustrations and limitations that many artists/students/teachers deal with, the idea of Colure was born: a tool that would take the guesswork out of color mixing.
What it does
Colure is an app that allows artists to select a target color (using a spectrum, choosing from a list, or inputting the hex code for digital artists), input their custom palette of pigments (i.e. cadmium red, ultramarine blue, titanium white), and receive mixing rations to match the target color using their palette! Additionally, users can play a color mixing game where users attempt to mix a random color within a timer of 2 minutes in order to further hone one’s skills and it tracks your score!
How we built it
We used Python for both the front end and back end of the app. The core logic and UI were built using Python, which allowed us to handle color calculations and visual display in one language. We implemented a color mixing algorithm that calculates the closest possible match using an RGB based approach, made a built-in database using a CSV, and added additional features such as the game using Python as well. We used Replit to collaborate and run the project together in real-time.
Challenges we ran into
One of our biggest challenges was making sure the mixing algorithm gave realistic results. For example, if a user selected a color very close to a primary color, like a strong cyan, but their palette didn’t include anything near that hue, the algorithm still attempted to create a mix. We continued to work on the code and also tested the algorithms out with real oil paints/acrylics to ensure accuracy within the algorithm, so it’s generally accurate but some special cases could be refined to be more accurate especially.
Accomplishments that we're proud of
We’re really proud of being able to build a fully functional tool that analyzes a user’s custom palette and suggests realistic mixing ratios— something that doesn’t exist currently. We are also really proud of the practice game as it’s really useful for educators and is fun for users to practice by gamifying it. Most of all, we were able to collaborate as a team and turn a personal idea into a working app for this hackathon, and something that could grow to be even bigger in the future!
What we learned
We learned that mixing colors in the real world isn’t just blending RGB values: we had to combine artistic knowledge with programming knowledge. We also learned a lot about color theory and color math in terms of how the logic works out in the algorithm. All in all, we saw a lot of growth in our coding knowledge and abilities to tackle complex tasks especially creating an algorithm like this.
What's next for Colure
We have a lot of ideas that were not possible with the time-crunch of this Hackathon, but definitely want to add in the future. Palette Optimization: where additional pigments are suggested to add to your palette in order for the target color(s) to be made more accurately and have a more balanced palette in general, have palette saving and sharing (so palettes can be saved by name, i.e. “my old holland oil painting set” and an option to export as a .png palette chart). Support for Different Mediums: Additionally, we could improve the algorithm further by adding support for different Identifying Dominant Colors: Upload a photo of your reference photo and using AI, the dominant colors (and how to mix them) will be outputted.
Log in or sign up for Devpost to join the conversation.