Techniques for generating application interfaces based on semantic-level data are described herein. Application developers may semantically define an application flow. Based on the definition, a system may identify a template of a multipage navigable interface that is compatible with the flow. If multiple templates are compatible, then a template may be recommended or automatically selected based on the semantic information provided by the developer. The system may generate, based on the template and the semantic definition, a multipage navigable interface. The template may encapsulate some design and functional elements in a manner that is independent of the semantic definition.