Kadō: habit tracker open-source para iOS con score no binario

Show HN: Kadō, el habit tracker open-source para iOS que se atreve a no usar streaks

Kadō es un habit tracker para iPhone y iPad publicado en GitHub por Sébastien Castiel, con 39 estrellas y 3 forks al momento de escribir esta nota, licencia MIT y disponible gratis en la App Store bajo el id 6762570244 (versión 1.7). Lo llamativo no es solo que sea open source, sino su propuesta central: en lugar de medir progreso con una cadena binaria que se rompe al fallar un día, usa un «habit score» no binario inspirado en Loop Habit Tracker para Android.

La diferencia importa más de lo que parece para founders y equipos chicos: una racha («streak») es frágil — un martes agobiado, un viaje, una gripe y la motivación se va al piso. Un score es una media móvil exponencial: un día perdido no borra el trabajo, y la métrica que ves en pantalla refleja una tendencia, no una cadena. Castiel lo describe en el README como «a score, not a streak».

Por qué este proyecto es relevante para el ecosistema startup

Kadō toca tres tensiones que cualquier founder hispanohablante que está construyendo una app sabe que existen:

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad
  • Privacidad como feature, no como letra chica. «No account, no analytics, no third-party SDKs», dice el README. El almacenamiento es local con SwiftData, y la sincronización opcional pasa por la base privada de CloudKit del propio usuario. Para LATAM y España, donde cada vez más fundadores escuchan preguntas de compliance en sus llamadas con clientes enterprise, ver un proyecto que hace explícito su modelo zero-data es material concreto para documentar tu propia política.
  • Stack 100% nativo de Apple. SwiftUI, @Observable, SwiftData, CloudKit, WidgetKit, App Intents — sin capas multiplataforma y con cero dependencias de terceros. En un contexto donde muchas startups dependen de React Native o Flutter para acelerar, Kadō es un caso de estudio sobre lo que se puede hacer cuando el target es únicamente iOS 18+.
  • Modelo de monetización honesto. «Tip Jar» implementado sobre StoreKit 2 que «desbloquea nada» — la app completa es gratis, sin anuncios, sin suscripción y sin tracking. Es una respuesta práctica al debate de cómo monetizar apps de productividad sin atrapar al usuario.

¿Qué problema técnico resuelve Kadō y por qué no es trivial?

El «habit score» es una media móvil exponencial de las completaciones: Castiel lo documenta como el algoritmo central del proyecto, y reimplementa en Swift la idea de Loop Habit Tracker sin copiar código. En la práctica, significa que el usuario ve un porcentaje (o un valor numérico) que sube cuando cumple y baja de forma amortiguada cuando falla — nunca a cero.

Tres detalles de producto que vale la pena mirar en detalle:

  • «Day starts at» configurable. Puedes mover el corte del día hasta las 6 AM para que los registros nocturnos caigan en el día que tú querías. Cambiarlo nunca reubica tu historial.
  • Frecuencias flexibles. Diario, N días por semana, días específicos, cada N días (con re-anclaje al completar). Tipos de hábito: binario, contador o temporizador.
  • Edición retroactiva desde el calendario. Puedes tocar cualquier día pasado — incluso días anteriores a la creación del hábito — para registrar completaciones atrasadas. Esto importa porque en la vida real un founder no registra la meditación de hace tres martes solo porque se olvidó.

La arquitectura está documentada en CLAUDE.md y docs/ dentro del repo, algo poco común. Castiel usa Swift Testing para unit tests, XCTest para UI tests y para la captura de capturas de la App Store, y un script propio que firma su JWT con openssl para hablar con App Store Connect — todo sin dependencias externas.

El stack detrás de un proyecto indie de calidad production

Target: iOS 18.0+, Xcode 16.0+, Swift 5.10+. El detalle clave, que pocos proyectos indie explicitan, es que el repo incluye el target de widgets (KadoWidgets/) leyendo una snapshot JSON desde un App Group — el proceso del widget nunca abre SwiftData. Esto último está documentado en el CLAUDE.md y resuelve uno de los bugs más reportados en apps iOS: widgets que dejan de actualizarse porque comparten contenedor con la app principal.

Para sincronización, usa cloudKitDatabase: .private(...) directamente desde SwiftData, lo que evita escribir capa de sincronización propia. Para automatizaciones, expone App Intents que funcionan en widgets (quick-complete), Siri, Shortcuts, Acciones de Home Screen y automatizaciones.

El roadmap público muestra disciplina de producto: la versión 1.7 incluye export/import CSV con round-trip probado; la siguiente parada son Live Activities y Dynamic Island para hábitos con timer, seguidas de polish v1.x (themes, biometría, categorías, archivos de backup). Dos features inicialmente planeadas — app nativa para Apple Watch y HealthKit auto-completion — fueron descopadas y movidas al roadmap bajo «Descoped» porque nadie las pidió desde el lanzamiento. Eso, en sí, es una lección para fundadores: roadmap público + criterio de descoping es竞争优势.

¿Qué significa esto para tu startup?

  • Si estás construyendo apps de productividad o wellness, mira este repo como benchmark técnico. Pocos proyectos indie muestran este nivel de pulido: tests con Swift Testing, esquema versionado (VersionedSchema + SchemaMigrationPlan) desde el día uno, snapshots JSON para widgets, todo documentado. Copia la estructura de Packages/KadoCore/ (paquete Swift compartido con tipos @Model, calculadores, intents) — es una plantilla limpia para mantener iOS app + widget + tests sincronizados.
  • Si vendes a clientes enterprise o UE, el patrón «local-only + CloudKit privado» es exportable. Adaptar este modelo (sin telemetría, sin SDKs, sin cuenta) a tu producto reduce fricción en procurement. No es la única forma de resolverlo, pero es un patrón documentado con permiso MIT que puedes tomar como referencia.

Limitaciones y qué no se pudo verificar

  • No fue posible contrastar cifras de descargas, ranking o ingresos en la App Store ni obtener cobertura de prensa previa sobre el proyecto. El repo público en GitHub (https://github.com/scastiel/kado) y el sitio oficial (https://getkado.app/) son las únicas fuentes disponibles de producto y posicionamiento — no se localizaron artículos de TechCrunch, Hacker News u otros medios con datos verificables. La métrica pública disponible son 39 estrellas, 3 forks y 59 commits al cierre de edición.
  • La versión actual es la 1.7, según el Status del README.

Fuentes

¿te gustó o sirvió lo que leíste?, Por favor, comparte.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, todos los días.

Share to...