Skip to the content.

NowThis Developer Docs

Privacy-first, self-hosted CalDAV task manager for iOS.

License: GPL v3 GitHub Repo

Join the Beta on TestFlight


Welcome to the open-source documentation for NowThis.

This site provides technical guidance for developers looking to build, fork, or contribute to the NowThis iOS client.

What’s New in 1.0.4

The 1.0.4 release focuses on faster task entry, rock-solid Nextcloud sync, and smarter due dates.

Core Architecture

NowThis is written in Swift 6 using SwiftUI for the user interface and SwiftData for local persistence.

Key technical pillars include:

Getting Started

NowThis uses XcodeGen to avoid merge conflicts in .xcodeproj files. To build the project locally:

  1. Clone the repo from GitHub.
  2. Create a Local.xcconfig file from the template and add your Apple Developer Team ID.
  3. Run xcodegen generate to create the .xcodeproj file.
  4. Open the project in Xcode and run.

Sync Deep Dive

Our sync engine communicates with any standard CalDAV server (with first-class support for Nextcloud). It uses a pull-then-push strategy:

  1. Fetch latest changes via REPORT requests.
  2. Resolve conflicts using ETag matching.
  3. Push local changes via PUT requests.
  4. Refresh the local SwiftData ModelContext.

Security & Privacy

We take privacy seriously.

License

NowThis is released under the GNU General Public License v3.0 (GPLv3). For more details, see the LICENSE file in the repository.