A smart device having a hair color application (App) stored thereon capable of providing and receiving hair color information to and from a user. A photograph of the user's hair is taken using the smart device. A palette of possible colors is then calculated in view of the photograph and other hair information provided by the user. The smart device includes a display for showing the calculated colors, and for showing colors selected by the user on the user's hair.