1. A computer program product comprising one or more non-transient computer-readable mediums having encoded thereon executable instructions that, when executed by at least one processor, cause the at least one processor to carry out a process of producing a face image, the process comprising: causing capture of an electronic image of the user with a camera; creating a three-dimensional mesh having a plurality of points from at least a portion of the electronic image that includes an eye area of the user, each point in the three-dimensional mesh being associated with color or grayscale information in the electronic image; identifying a viewing angle of the user by calculating, at each point in the three dimensional mesh, a plurality of surface normals orthogonal to a plane that is tangent to a surface of the eye area of the user, and calculating a mean surface normal from the plurality of surface normals, wherein the viewing angle of the user is the mean surface normal; estimating an angle of rotation for gaze correction; rotating the three-dimensional mesh, based on the angle of rotation, to produce a rotated image of at least the eye area of the user, the rotated image including color or grayscale information associated with each point of the rotated three-dimensional mesh; and updating the electronic image of the user with the color or grayscale information in the rotated image.