This document describes a project that uses photometric stereo to reconstruct 3D surfaces from images taken under different lighting conditions on a computer screen. Photometric stereo uses variations in pixel intensities across images to estimate surface normals and reconstruct the 3D shape. The project creates a MATLAB program that performs photometric stereo in real-time by flashing different light patterns on a screen and capturing images with a webcam. By using singular value decomposition, the program can reconstruct surfaces without knowing the exact positions of the light sources, overcoming a limitation of traditional photometric stereo. The reconstruction contains noise but demonstrates photometric stereo in a less controlled environment. Further work could explore tradeoffs of the method and improve efficiency.