A computer-implemented method for controlling a lighting infrastructure, the method comprising the steps of: storing a set of lighting device identifiers in memory, each lighting device identifier corresponding to a lighting device installed in the lighting infrastructure; receiving a first control request from a first client device, the first control request associated with a first location of the first client device; in response to the first control request, updating a mapping output by allocating the first client device to an initial subset of the lighting devices; receiving a second control request from a second client device, the second control request associated with a second location of the second client device; and characterised by the method comprising the steps of: in response to the second control request, updating the mapping output by reallocating the first client device to a first subset of the lighting devices based on the first location and by allocating the second client device to a second subset of the lighting devices based on the second location; and transmitting the mapping output to a lighting controller to permit the first client device to independently control the first subset of the lighting devices and to permit the second client device to simultaneously and independently control the second subset of the lighting devices. storing a set of lighting device identifiers in memory, each lighting device identifier corresponding to a lighting device installed in the lighting infrastructure; receiving a first control request from a first client device, the first control request associated with a first location of the first client device; in response to the first control request, updating a mapping output by allocating the first client device to an initial subset of the lighting devices; receiving a second control request from a second client device, the second control request associated with a second location of the second client device; and characterised by the method comprising the steps of: in response to the second control request, updating the mapping output by reallocating the first client device to a first subset of the lighting devices based on the first location and by allocating the second client device to a second subset of the lighting devices based on the second location; and transmitting the mapping output to a lighting controller to permit the first client device to independently control the first subset of the lighting devices and to permit the second client device to simultaneously and independently control the second subset of the lighting devices. in response to the second control request, updating the mapping output by reallocating the first client device to a first subset of the lighting devices based on the first location and by allocating the second client device to a second subset of the lighting devices based on the second location; and transmitting the mapping output to a lighting controller to permit the first client device to independently control the first subset of the lighting devices and to permit the second client device to simultaneously and independently control the second subset of the lighting devices.