A method for using captured voice to generate a custom interface controller, the method comprising: capturing , via a mobile device , a vocal recording from a user, wherein the vocal recording comprises a spoken command directed to a plurality of smart-home devices (110-1 - 110-5), and wherein the vocal recording additionally indicates the location and the type of the plurality of smart-home devices (110-1 - 110-5); transmitting , by the mobile device , the vocal recording to a cloud-based server system ; analyzing , by the cloud based server system , the received vocal recording to determine the spoken command and the plurality of smart-home devices (110-1 - 110-5) matching the location and the type of smart-home device (110-1 - 110-5) indicated in the vocal recording; transmitting , by the cloud based server system , the command to the plurality of smart-home devices (110-1 - 110-5) for execution; transmitting , by the cloud based server system , a response to the mobile device that comprises smart-home device identifiers of the plurality of smart-home devices (110-1- 110-5); receiving , by an application executed by the mobile device , the response from the cloud-based server system ; determining , by the application executed by the mobile device , one or more common functions that map to the plurality of smart-home devices (110-1 - 110-5) based on the plurality of smart-home device identifiers; and generating , by the application executed by the mobile device , the custom interface controller that controls, based on a single user input on a touchscreen, the one or more common functions of each smart-home device (110-1 - 110-5) of the plurality of smart-home devices (110-1 - 110-5). capturing , via a mobile device , a vocal recording from a user, wherein the vocal recording comprises a spoken command directed to a plurality of smart-home devices (110-1 - 110-5), and wherein the vocal recording additionally indicates the location and the type of the plurality of smart-home devices (110-1 - 110-5); transmitting , by the mobile device , the vocal recording to a cloud-based server system ; analyzing , by the cloud based server system , the received vocal recording to determine the spoken command and the plurality of smart-home devices (110-1 - 110-5) matching the location and the type of smart-home device (110-1 - 110-5) indicated in the vocal recording; transmitting , by the cloud based server system , the command to the plurality of smart-home devices (110-1 - 110-5) for execution; transmitting , by the cloud based server system , a response to the mobile device that comprises smart-home device identifiers of the plurality of smart-home devices (110-1- 110-5); receiving , by an application executed by the mobile device , the response from the cloud-based server system ; determining , by the application executed by the mobile device , one or more common functions that map to the plurality of smart-home devices (110-1 - 110-5) based on the plurality of smart-home device identifiers; and generating , by the application executed by the mobile device , the custom interface controller that controls, based on a single user input on a touchscreen, the one or more common functions of each smart-home device (110-1 - 110-5) of the plurality of smart-home devices (110-1 - 110-5). <EOS>