I did this project to get some experience with Python and also learn about something interesting, genetic algorithms. The concept was pretty simple: let the user choose colors close to their favorite from a randomly generated set. Then the selected colors are used as 'parents' to generate a new set of 'children' colors. The child set is then suppose to be closer to the user's favorite color. This can continue for several 'generations' until the user has a set of colors that all match pretty well to what the user had in mind.