This article proposes a software development approach that creates applications by processing documents that describe the application's data and structure. Domain experts mark up the documents using domain-specific descriptive markup languages, and developers build application kernels. The kernels process the marked documents and generate the applications as instantiations of object-oriented application frameworks. This document-oriented approach facilitates domain experts' active involvement in the development process while simplifying key aspects such as application production and maintenance.