Abstract: A parking assignment device that comprises: a computer running software comprising a parking assignment algorithm; and a connection to a network by which said computer can send and receive signals; wherein said parking assignment algorithm is stored on a computer readable medium; wherein said parking assignment algorithm is configured to optimally assign a parking space; wherein said parking assignment algorithm accepts input that comprises data from sensors or cameras and uses data from sensors or cameras to track available parking spots; and wherein said parking assignment algorithm accepts input comprising a user's parking preferences and assigns an optimal parking space.