1. A method for providing application content comprising: obtaining, by a declarative content engine executing on a computer processor, an initial application content from a content repository; expressing the initial application content in a declarative programming language to obtain declarative content; transmitting the declarative content to a user experience player, wherein the user experience player: processes the declarative content to obtain the initial application content, binds the initial application content to first platform-specific templates and first platform-specific navigation patterns, and renders the initial application content in a first platform-specific user display format; receiving a user action from the user experience player in response to the transmission of the declarative content; storing the user action associated with the declarative content in a user data instance repository; determining, using an interaction module and the received user action, a next application content; and obtaining the next application content from the content repository.