惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
量子位
G
Google Developers Blog
J
Java Code Geeks
N
Netflix TechBlog - Medium
博客园 - 聂微东
宝玉的分享
宝玉的分享
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
雷峰网
雷峰网
M
MIT News - Artificial intelligence
T
Tailwind CSS Blog
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
GitHub - scastiel/kado: Kadō — A privacy-first habit trac...
scastiel · 2026-04-23 · via Show HN

Kadō

A privacy-first habit tracker for iPhone and iPad.

Non-binary habit score · Offline-first · Open source (MIT) · No account, no subscription, no telemetry.

Download on the App Store

getkado.app

MIT license Swift 5.10 Platforms


What is Kadō?

Kadō is an iOS habit tracker with three commitments:

  1. A score, not a streak. The habit score — inspired by Loop Habit Tracker on Android — is a non-binary exponential moving average of your completions. One missed day doesn't wipe your progress. You see a trend, not a fragile chain.
  2. Your data stays yours. No account, no analytics, no third-party SDKs. Storage is local (SwiftData), sync is optional through your own iCloud (CloudKit private database). See PRIVACY.md.
  3. Native to Apple. SwiftUI, @Observable, SwiftData, CloudKit, WidgetKit, App Intents — no cross-platform layer, no third-party dependencies.

Why another habit tracker? The market gap is spelled out in docs/PRODUCT.md: the reference open-source tracker (Loop) is Android-only; the reference iOS tracker (Streaks) is closed source and uses a binary streak; the most visible modern iOS open source attempt (Teymia) is freemium and ships without Apple Watch or HealthKit. Kadō takes Loop's algorithm to native iOS, MIT, with the full Apple ecosystem in scope.

Screenshots

Today view Habit detail with score popover Multi-habit overview New habit form Today view in dark mode

Features

  • Today view — habits due today, tap to complete, long-press for partial / note / timer.
  • Habit detail — monthly calendar, current streak, best streak, habit score with an info popover explaining the math.
  • Overview — habits × days matrix with score-shaded cells, the Loop / Way of Life pattern with Kadō's score DNA.
  • Flexible schedules — daily, N days per week, specific weekdays, every N days. Binary, counter, or timer habit types.
  • Widgets — Home Screen (small / medium / large) and Lock Screen (rectangular / circular / inline). Quick-complete via AppIntent.
  • Reminders — per-habit local notifications with recurring schedules and check / skip quick actions.
  • iCloud sync — optional, opt-in, goes only through the user's private CloudKit database.
  • JSON export / import — lossless backup of your data; round-trip tested. CSV (export, generic import, Loop import) is a post-v0.2 follow-up.
  • Accessibility — Dynamic Type up to XXXL, VoiceOver labels on every surface, full Dark Mode.
  • Localization — English and native French (not machine-translated).

Status

  • v0.1 MVP — shipped.
  • v0.2 "Visible iOS-native" — shipped (widgets, overview, notifications, JSON import/export, CloudKit polish).
  • App Store — first public build submitted, currently in review. TestFlight external beta is live.
  • Next — v0.3: App Intents / Siri, HealthKit auto-completion, Live Activities + Dynamic Island, native Apple Watch app.

Full roadmap in docs/ROADMAP.md.

Tech stack

  • SwiftUI with @Observable (iOS 17+) for state — no Combine.
  • SwiftData for local persistence, with VersionedSchema + SchemaMigrationPlan wired from day one.
  • CloudKit via SwiftData (cloudKitDatabase: .private(...)) for multi-device sync.
  • WidgetKit + an App Group JSON snapshot for extension surfaces (the widget process never opens SwiftData — see CLAUDE.md for why).
  • App Intents for widget quick-complete today; Siri / Shortcuts arrive in v0.3.
  • Swift Testing for unit tests, XCTest for UI tests.
  • Zero third-party dependencies.

Target: iOS 18.0+, Xcode 16.0+, Swift 5.10+.

Architecture notes, conventions, and toolchain quirks (SwiftData edge cases, CloudKit-shape rules, concurrency under Swift 6, etc.) are documented in CLAUDE.md.

Repository layout

Kado/                       # Main iOS app target
Packages/KadoCore/          # Shared Swift package — @Model types,
                            #   domain types, calculators, intents,
                            #   widget snapshot types
KadoWidgets/                # Widget extension target (reads an
                            #   App Group JSON snapshot)
KadoTests/                  # Unit tests (Swift Testing)
branding/                   # SVG marks and wordmarks
docs/
├── PRODUCT.md              # Product vision, competitive analysis
├── ROADMAP.md              # Versioned feature roadmap
├── habit-score.md          # Score algorithm spec
├── streak.md               # Streak algorithm spec
├── app-store-connect.md    # Store metadata, copy, checklists
├── plans/                  # Per-feature research / plan / compound
│                           #   artifacts from the conductor workflow
└── screenshots/            # iPhone 6.7" and iPad 13" sets (EN + FR)
PRIVACY.md                  # Privacy policy (repo-hosted)

Development

Requirements

  • macOS 14.5+
  • Xcode 16.x+
  • An Apple Developer account is only needed to build to a physical device or TestFlight; the simulator does not require one.

Build and run

git clone https://github.com/scastiel/kado.git
cd kado
open Kado.xcodeproj

Select the Kado scheme and an iOS 18 simulator (iPhone 17 Pro is the project's practical default on Xcode 26 toolchains).

Tests

From Xcode: ⌘U on the Kado scheme.

From the command line via xcodebuild:

xcodebuild -project Kado.xcodeproj -scheme Kado \
  -destination "platform=iOS Simulator,name=iPhone 17 Pro" \
  test

If you use Claude Code with the XcodeBuildMCP server, prefer test_sim / build_sim over shell xcodebuild — see the "Tooling" section of CLAUDE.md.

Dev mode

Settings has a hidden dev-mode toggle that swaps the SwiftData container for a seeded local sandbox. Useful for playing with historical score / streak behavior without affecting your real data. See docs/plans/2026-04/dev-mode/ for the design notes.

Contributing

Issues and pull requests are welcome. A few notes:

  • Read CLAUDE.md first — it is the project's working agreement (architecture, conventions, testing expectations, toolchain quirks). It is written for Claude Code but applies equally to human contributors.
  • Business logic (score, streak, frequency, import/export) is test-first. New behavior needs a test; regressions need a test that would have caught them.
  • One PR per feature or logical fix. Commit message format follows a lightweight Conventional Commits convention — feat(scope): description, fix(scope): …, etc.
  • No third-party dependencies in v0.x. If RevenueCat becomes necessary for a Pro tier later it will be the only exception.

Kadō collects nothing. No analytics, no telemetry, no crash reporter. iCloud sync is optional and goes through the user's own private CloudKit database.

Full policy in PRIVACY.md.

License

MIT © 2026 Sébastien Castiel.

Acknowledgements

  • Loop Habit Tracker (Álinson S. Xavier, GPLv3) — the source of the non-binary habit score algorithm. Kadō reimplements the idea natively in Swift; no Loop code was copied.
  • Streaks (Crunchy Bagel) — the iOS UX reference for how this kind of app should feel.
  • Teymia Habit (MIT) — reference point for a modern SwiftUI + SwiftData + CloudKit + WidgetKit stack on iOS.
  • XcodeBuildMCP (getsentry, MIT) — the MCP server that makes an autonomous build / test / screenshot loop possible with Claude Code.