This document describes an app architecture and data-oriented design using entities and components. A Context manages data and creates Entity objects which are bags of Component objects. Components are just value types that store data. Groups are subsets of Entities that can be observed. The app imports JSON data into Components and Entities. Entities can be detached to modify on background threads before syncing changes. This allows building reactive UIs that update based on Entity and Component changes.