deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

Kadō brings open-source, no-account habit tracking with a non-binary score to iOS

Kadō is a free, MIT-licensed habit tracker for iPhone and iPad with no accounts, telemetry or third-party SDKs. It scores habits with an exponential moving average and stores data locally, with optional iCloud sync.

Kadō brings open-source, no-account habit tracking with a non-binary score to iOS

Kadō, an open-source habit tracker for iPhone and iPad, reached the front page of Hacker News on 6 September 2026. The app is developed in the open at scastiel/kado on GitHub under the MIT licence, ships free on the App Store at version 1.7, and, according to its README, requires no account, runs no analytics and embeds no third-party SDKs.

A score rather than a streak

The app's defining choice is how it measures progress. Inspired by Loop Habit Tracker on Android, Kadō computes a non-binary habit score — an exponential moving average of completions — so a missed day dents the trend instead of erasing it. Streaks still appear in the habit detail view (current and best), and an info popover explains the scoring maths, but the score is the headline metric.

The README's product analysis frames the gap the app aims at: Loop, the established open-source tracker, is Android-only; Streaks, the well-known iOS option, is closed source and built on binary streaks; and Teymia, a recent open-source iOS effort, is freemium. Kadō's proposition is Loop's algorithm delivered as a free, MIT-licensed, native iOS app.

Schedules, notes and integrations

The feature set is broad. A Today view lists habits due that day, with a tap to complete and a long-press for partial completions, notes or timers; dragging reorders habits, and the new order syncs. A month-by-month calendar in the detail view allows editing any past day, including days before the habit existed, and per-day notes carry through export and import. An overview screen shows a habits-by-days matrix with score-shaded cells, and completions logged off-schedule are displayed rather than hidden as rest days.

Schedules can be daily, N days per week, specific weekdays, or every N days, with the cycle re-anchoring on each completion so an early finish does not penalise the user. Habits can be binary, counters or timers. A 'day starts at' setting pushes the daily rollover as late as 6 AM without re-bucketing history, keeping late-night logs on the intended day.

Widgets cover the Home Screen (small, medium, large) and Lock Screen (rectangular, circular, inline), with quick-complete via App Intents. Siri and Shortcuts can complete a habit, log a value or report scores and streaks. Reminders are per-habit local notifications with check and skip actions. An optional Tip Jar built on StoreKit 2 unlocks nothing; the README stresses the whole app stays free, with no ads, subscription or tracking. Accessibility includes Dynamic Type up to XXXL, VoiceOver labels across surfaces and full Dark Mode, with localisation in English and native French.

Local-first data, optional sync

Storage is local, on SwiftData, with no account layer. Sync is opt-in and routes only through the user's private CloudKit database — their own iCloud rather than any developer-run server — and Settings surfaces live sync status, including when syncing is not working. Export is lossless in both JSON and CSV, with a round trip the project says is tested: a CSV backup can be opened in Numbers or Excel, edited, and imported back. The privacy policy is published as PRIVACY.md in the repository.

A native, dependency-free build

The stack is entirely Apple's: SwiftUI with @Observable for state, SwiftData for persistence with schema migrations wired in from day one, CloudKit for sync, WidgetKit and App Intents for extensions and automation, and StoreKit 2 for the Tip Jar. Widgets read from an App Group JSON snapshot so the extension process never opens SwiftData. The project carries zero third-party dependencies, uses Swift Testing for unit tests and XCTest for UI tests, and targets iOS 18.0 or later. A hidden dev mode swaps in a seeded sandbox database for experimenting with historical score and streak behaviour.

Next on the roadmap, according to the README: Live Activities and Dynamic Island support for timer habits, followed by themes, biometrics, categories and backup files. A native Apple Watch app and HealthKit auto-completion were scoped early and then descoped — no user has asked for either, the developer writes, and both would be revisited if real demand appears.

Why it matters

The App Store's economics push small utilities toward subscriptions and analytics SDKs, which makes a fully native, MIT-licensed, dependency-free alternative a rare specimen on iOS. Kadō also demonstrates a concrete privacy model — local storage first, sync through the user's own iCloud, documented lossless export — that other indie apps could copy. And by bringing Loop's forgiving scoring approach to iPhone, it closes a gap that has existed since Loop became the default open-source recommendation, on Android only.

  • #open-source
  • #ios
  • #habit-tracker
  • #privacy
  • #swift

Related posts