An open-source Swift framework for building health and care management apps on iOS.
CareKit is an open-source Swift framework for building iOS applications that help users manage their health and care routines. It provides pre-built, customizable modules for displaying health tasks, charts, and contacts, with built-in data synchronization between the UI and a local store. The framework solves the problem of rapidly developing secure, user-friendly health apps without reinventing core architecture.
iOS developers and organizations building health, wellness, or care management applications, particularly those focused on patient engagement, treatment adherence, or remote monitoring.
Developers choose CareKit because it offers a battle-tested, modular foundation specifically designed for healthcare apps, with synchronized data-UI binding, a flexible store layer, and extensive customization options—all while being open-source and backed by Apple's ecosystem.
CareKit is an open source software framework for creating apps that help people better understand and manage their health.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Composed of three separate Swift packages (CareKit, CareKitUI, CareKitStore) that can be imported independently, allowing developers to use only what they need and enhancing flexibility.
View controllers automatically sync with the store using Combine, ensuring real-time UI updates without manual code, which simplifies state management for health data.
Provides extensible views for tasks, charts, and contacts with public properties, enabling full control over appearance and behavior through protocols like OCKStylable.
Includes OCKStore with Core Data, supporting time-based queries and historical data versioning, which is critical for accurate care tracking and audit trails.
Limited to iOS development with no support for Android, web, or other platforms, restricting audience reach and forcing cross-platform teams to seek alternatives.
While customizable via OCKStoreProtocol, implementing a custom store for web APIs or other backends requires significant effort and deep understanding of CRUD methods and data schemas.
Default store relies on Core Data, which may not suit teams preferring other persistence solutions like Realm or dealing with legacy systems, adding integration complexity.