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 users favorite color. This can continue for several "generations" until the user has a set of colors that all match pretty well to one the user had in mind.