App móvil
Hace Cuánto
App nativa de iOS y watchOS para saber hace cuánto hiciste algo: eventos, hábitos con rachas y cosas que tocan cada X días.
- Problema
- «¿Hace cuánto me corté el pelo?» No hay una app que responda eso rápido sin convertirlo en una lista de tareas.
- Mi rol
- Proyecto propio: diseño y desarrollo nativo para iPhone y Apple Watch.
- Resultado
- Una app que registra con un tap desde donde estés y te avisa cuando ya toca.

Contexto
Hay cosas que no son tareas ni hábitos de todos los días: cortarme el pelo, lavar el carro, cambiar el aceite, ir al doctor. Lo único que quiero saber es hace cuánto fue la última vez, y que alguien me avise cuando ya toca. Hace Cuánto empezó para eso y fue creciendo hacia los hábitos (leer, orar, tomar agua) y el Apple Watch.
El problema
Registrar tiene que costar menos que olvidarse: si hay que abrir la app, buscar el item y llenar un formulario, no se registra. Y los avisos tienen que entender que «cada 28 días», «8 vasos al día» y «normalmente voy al súper cada semana» son tres preguntas distintas.
Decisiones de diseño
- 01
Tres tipos de cosas, un solo tap
Cada item es un evento (solo hace cuánto y cuántas veces), un hábito (meta por día o por semana, con racha) o algo que toca cada X días. Los tres se registran igual, con un tap y un aviso para deshacer; el detalle (cuánto costó, qué libro), otra fecha o el cronómetro son opcionales. Todo lo demás —rachas, lo que falta, el promedio, «lo haces más los domingos por la noche»— se calcula a partir de las fechas, así que no hay datos derivados que se desincronicen.

Inicio con lo que ya toca y tu semana; el detalle de un hábito con sus números y su calendario. - 02
Registrar sin abrir la app
La mejor forma de registrar es la que ya tienes enfrente. Hay una sola acción de «registrar» (App Intents) que usan los widgets de la pantalla de inicio y de bloqueo, el Centro de Control, Siri, el botón «Registrar ✓» de los avisos y el cronómetro de la Dynamic Island. Está declarada para que corra dentro de la app aunque la dispare un widget, así la pantalla se actualiza al momento. La base de datos vive en un App Group que comparten la app, los widgets y Siri.

Widgets de varios items, de uno solo y de pantalla de bloqueo, y la app del Apple Watch. - 03
Avisos que entienden el ritmo
Cada tipo avisa distinto: lo de cada X días, el día que vence; un hábito diario, a tu hora si aún no lo hiciste; un evento con historial, cuando ya pasó una vez y media su intervalo promedio. Los hábitos con meta diaria pueden recordarte cada cierto tiempo dentro de un horario, contando desde tu último registro y callándose al llegar a la meta. Y un item puede tener un lugar: al llegar te pregunta si lo registra, salvo que lo hayas hecho en las últimas 6 horas. Los permisos se piden solo al activar algo que los necesita.

Crear un item desde una plantilla: meta de 8 vasos, recordatorios durante el día y lugar. - 04
El Watch no espera al iPhone
En la muñeca el tap se aplica al momento y se manda al iPhone con la hora original; si el iPhone no está cerca, queda en cola y se registra cuando vuelva. Mientras tanto, el Watch vuelve a aplicar sus taps pendientes sobre cualquier lista que le llegue, para que nada desaparezca de la pantalla antes de confirmarse. El iPhone es la única fuente de verdad.
Resultado
- tipos de item: evento, hábito y cada X días
- 3
- formas de registrar sin abrir la app (widgets, bloqueo, Centro de Control, Siri, avisos y Watch)
- 6
- pruebas de la lógica, más una captura de cada widget en cada tamaño
- 29
Pantallas
04 vistas · Tocá para ampliarVista móvil

Ingeniería: arquitectura, stack y alcance
Sobre el proyecto
Hace Cuánto responde una pregunta que me hacía todo el tiempo: ¿hace cuánto fue la última vez que…? Me corté el pelo, lavé el carro, fui al súper, leí. Cada cosa es un item de uno de tres tipos: un evento (solo saber hace cuánto y cuántas veces), un hábito (con meta por día o por semana y racha) o algo que toca cada X días (te dice cuánto falta o hace cuánto se venció). Registrar es un tap, con aviso para deshacer; si quieres, le agregas un detalle (texto, número u opciones), otra fecha o un cronómetro que se ve en la Dynamic Island. El inicio abre con lo que ya toca y un resumen de tu semana, y cada item tiene sus números, un calendario de 18 semanas, el conteo por mes y sus patrones («Lo haces más los domingos por la noche»). Se puede registrar sin abrir la app: widgets de un item, de varios y de pendientes, la pantalla de bloqueo, el Centro de Control, Siri y el botón «Registrar ✓» de los avisos. Los avisos aprenden tu ritmo, los hábitos con meta diaria pueden recordarte cada cierto tiempo dentro de un horario, y un item puede tener un lugar: al llegar al súper te pregunta si lo registra. El Apple Watch tiene su app y su complicación, y registra aunque el iPhone no esté cerca. Hay respaldos automáticos en JSON y restaurar no duplica nada. La hice de punta a punta en Swift: SwiftUI, SwiftData compartido por App Group, App Intents, WidgetKit, ActivityKit, Core Location y WatchConnectivity, con pruebas de la lógica y de cada widget en cada tamaño.
Stack técnico
2 tecnologíasSwift
SwiftUI
Funcionalidades destacadas
09 puntos- 01
Tres tipos de item: evento, hábito con meta y racha, y «cada X días» que te dice cuándo ya toca.
- 02
Un tap para registrar, con deshacer; detalle opcional (texto, número u opciones), otra fecha o cronómetro.
- 03
Inicio con lo que ya toca y tu semana; por item: números, calendario, conteo por mes y patrones.
- 04
Widgets de un item, de varios y de pendientes, pantalla de bloqueo y Centro de Control.
- 05
Siri y Atajos: «Registra Leer en Hace Cuánto», «¿Hace cuánto Corte de pelo?».
- 06
Cronómetro en vivo en la Dynamic Island y la pantalla de bloqueo.
- 07
Avisos que aprenden tu ritmo, recordatorios durante el día y lugares que te preguntan al llegar.
- 08
App y complicación para Apple Watch que registran aunque el iPhone no esté cerca.
- 09
Historial con búsqueda, 14 plantillas, archivar y respaldos automáticos en JSON.
Artículos sobre este proyecto
- 4 min de lectura
Avisos que aprenden tu ritmo
Un corte de pelo cada 28 días, 8 vasos de agua al día y el súper «cuando toca» necesitan avisos distintos. Cómo los calcula Hace Cuánto, cómo caben en el límite de iOS y cómo un lugar te pregunta al llegar.
- ios
- notificaciones
- core location
- hacecuanto
- 3 min de lectura
Cada widget en cada tamaño, en una prueba
Hace Cuánto tiene 3 widgets en hasta 6 tamaños. Revisarlos a mano en el simulador era lento, así que una prueba los dibuja todos como PNG con datos fijos. Cómo funciona y qué permite revisar de un vistazo.
- ios
- widgetkit
- testing
- hacecuanto
- 4 min de lectura
El Watch no espera al iPhone
En el Apple Watch de Hace Cuánto el tap se aplica al momento, aunque el iPhone esté lejos. Cómo se encolan los registros con su hora original, cómo se evita que desaparezcan de la pantalla y cómo funciona deshacer.
- watchos
- swift
- sincronización
- hacecuanto
- 4 min de lectura
Registrar sin abrir la app
Widgets, pantalla de bloqueo, Centro de Control, Siri, los avisos y la Dynamic Island: en Hace Cuánto todos usan la misma acción de App Intents. Cómo se comparte la base de datos y por qué el intent está declarado como LiveActivityIntent.
- ios
- app intents
- widgetkit
- hacecuanto
- 4 min de lectura
Tres preguntas, un solo tap
En Hace Cuánto cada cosa es un evento, un hábito o algo que toca cada X días. Cómo un modelo tan chico alcanza para rachas, «faltan 3 días» y «lo haces más los domingos por la noche», calculando todo a partir de las fechas.
- ios
- swiftui
- diseño de producto
- hacecuanto
- 3 min de lectura
Una app que vence cada 7 días
Hace Cuánto vive en mi iPhone firmada con una cuenta gratis de Apple, que la deja de abrir a los 7 días. Cómo la app sabe cuándo vence, y cómo la Mac la renueva sola cada noche por Wi-Fi.
- ios
- automatización
- xcode
- hacecuanto
Próximo paso
¿Querés algo así para tu producto?
Hablemos sobre cómo puedo ayudarte a llevar tu idea a producción con la misma calidad y stack que ves acá.