Smart indoor lighting systems use occupancy and light sensor data to adapt artificial lighting in accordance with changing occupancy and daylight conditions. Such systems can be designed to reduce lighting energy consumption significantly. However, these systems cannot account for individual user preferences at the workplace in real time. We propose a sensor-driven, human-in-the-loop lighting system that incorporates user feedback in addition to occupancy and light sensor inputs. In this system, luminaires transmit unique visible light communication identifier signals. By processing the image captured by a smartphone camera, a user obtains two pieces of information: visible light communication identifiers of luminaires in the vicinity and average image pixel value. A control algorithm is designed that incorporates these user inputs along with occupancy and light sensor inputs to determine the dimming levels of the luminaires to achieve illumination levels acceptable to users. We compare the performance of the proposed lighting control system with a sensor-driven lighting control system in an office test bed.