Methods, systems, and apparatus, including computer programs encoded on computer storage media, for prototyping Internet-enabled devices. One of the methods includes receiving a prototype program defining functionality of a proposed Internet-enabled device having a plurality of sensors and one or more actuators. A sensor hub receives a registration request through a prototyping API for each of the connected sensors and the one or more actuators. The sensor hub initializes each of the connected sensors and the one or more connected actuators, obtains a status of each registered connected sensor, provides the obtained status of each connected sensor to the prototyping system through the prototyping API, receives requested actions corresponding to functionality specified in the prototype program, and executes each of the requested actions on a corresponding connected actuator.