Abstract: A method for delivering an existing GUI application executing on a local computing device to a remote device where application flow and/or user experience of the existing GUI application is customized to match constraints of the remote device includes providing an agent that deconstructs the existing GUI application on the local computing device in order to create an application representation model that describes the existing GUI application on the local computing device. An application definition is created by visually editing an application flow and/or user experience via real time interception of the existing GUI application to match constraints of the remote device. The existing GUI application transformed by the application definition is delivered to the remote device utilizing a native widget toolkit of the remote device.