Creé Ambrel para las referencias que se pierden entre capturas, imágenes copiadas y pestañas del navegador. Un atajo las guarda con su origen. El propio Mac lee su texto, extrae sus colores y encuentra imágenes parecidas, para que puedas volver a lo que viste aunque no recuerdes dónde estaba.
2026
macOS
iOS
iPadOS
Swift
SwiftUI
AppKit
Vision
SQLite
CloudKit
Visual library
On-device
Privacy-first
Capturas reales de Ambrel, siempre con la misma biblioteca de dieciocho referencias visuales. Baja para recorrerla, espécimen a espécimen. Más abajo, la nueva app para iPhone y iPad y cómo se sincroniza la biblioteca.
Captura una región, guarda una imagen copiada o conserva un enlace. El panel de guardado rápido deja elegir pizarra y etiquetas sin abrir la biblioteca. También recoge tus capturas habituales de macOS desde la barra de menús.
⌃⇧4 Capturar una región
⌃⇧V Guardar lo copiado
02Texto
Basta con el año del cartel.
Busca 1926: Ambrel encuentra el cartel porque lee el texto dentro de la imagen. También busca por títulos, origen y lo que reconoce en ella, aunque nunca le hayas puesto una etiqueta.
03Color
Te acuerdas del amarillo.
Elige hasta tres colores, escribe un valor hexadecimal o usa el cuentagotas en cualquier punto de la pantalla. Ambrel muestra primero las referencias donde más destacan, entre todas tus pizarras.
04Parecido
Una referencia lleva a las demás.
La propia imagen puede ser la búsqueda. Pide las parecidas y Ambrel la compara con toda la biblioteca. Así puedes seguir el hilo visual entre referencias sin ponerle nombre ni etiquetar lo que tienen en común.
05Ver
La imagen conserva su contexto.
Abre una captura para ver juntos su origen, pizarra, etiquetas, texto reconocido y paleta. Copia el texto, busca por un color o vuelve a la web original sin perder de vista la referencia.
06Local
Una biblioteca que se queda en tu Mac.
El reconocimiento de texto, el análisis de color y el parecido se calculan en tu Mac. La biblioteca es local y no necesita cuenta. Sincronizarla con iCloud es opcional. Las capturas se guardan en HEIC para que la colección ocupe poco.
Espécimen 02 Texto leído de la imagen Espécimen 03 Búsqueda por color Espécimen 04 La referencia de partida Espécimen 05 Volver a su origen Espécimen 06 Toda la biblioteca, en disco
01 Guardar 02 Texto 03 Color 04 Parecido 05 Ver 06 Local
Construida alrededor del Mac.
La ventana es solo la parte visible. Capturar, entender y recuperar una referencia aprovecha piezas distintas del sistema.
01
Sin salir de lo que estás haciendo
SwiftUI y AppKit unen la biblioteca, los atajos globales y el panel de guardado de la barra de menús. Guardar una referencia encaja en el trabajo que ya tienes en pantalla.
02
Imágenes que se pueden buscar
Vision, de Apple, lee el texto, reconoce lo que aparece y obtiene las huellas visuales que permiten comparar imágenes. El análisis se hace en el dispositivo.
03
Los archivos y su índice
Las imágenes viven en una biblioteca local, con SQLite para los metadatos y el análisis de las imágenes. HEIC reduce el espacio de las capturas y su origen sigue unido a ellas.
Novedad de la 1.3
Tu biblioteca, también en el bolsillo.
La 1.3 añade una app compañera y gratuita para iPhone y iPad. Trae la biblioteca que tienes en el Mac a través de tu propia cuenta de iCloud: la bandeja, las pizarras que elijas y tus búsquedas guardadas. Guarda imágenes y enlaces desde el botón Compartir de cualquier app y, en el iPad, deja editar el lienzo de una pizarra.
No usa menús del sistema. Cada acción vive en barras flotantes de cristal que cambian con lo que seleccionas, en una hoja propia o en una burbuja sobre el lienzo, y una pizarra se abre con un zoom desde la tarjeta que tocas. La idea era que estuviera tan cuidada como la app del Mac.
iPhone · Inicio Bandeja, todas, favoritas, enlaces y las pizarras sincronizadas en una sola pantalla.
iPad · Lienzo Una pizarra de lienzo tal como se montó en el Mac. En el iPad se edita: imágenes, títulos, textos y notas.
iPhone · Enlaces Los enlaces guardados desde Compartir conservan su portada y se abren en su propia app.
Capturas reales del simulador de iOS, con la biblioteca de ejemplo que trae la app para poder probarla sin un Mac.
Lo difícil: sincronizar una biblioteca que ya existía.
En el Mac, una biblioteca es una carpeta con una base de datos SQLite, los originales y las miniaturas, además de índices en memoria. Llevarla a iCloud no podía significar rehacer la app sobre otro almacén, perder capturas en un conflicto ni llenar un teléfono con gigas de originales. Estas fueron las decisiones.
01
CKSyncEngine sobre la misma SQLite
Sin migrar a Core Data ni a SwiftData: el almacén, las búsquedas y los índices siguen igual, y la sincronización es una capa que lee y escribe filas. Tampoco la carpeta de la biblioteca en iCloud Drive, que sincroniza archivo a archivo y corrompe una base en modo WAL. Los datos viven en la base privada de CloudKit de la propia cuenta del usuario, sin un servidor mío de por medio.
02
Una bandeja de salida que llena la propia base
Los disparadores de SQLite apuntan cada fila que cambia y qué grupos de campos cambiaron, así que ningún camino de escritura, deshacer incluido, puede olvidarse de sincronizar. El registro se construye al enviarlo, con la fila tal como está en ese momento, y lo que llega de iCloud se aplica con los disparadores en silencio para que no rebote.
03
Conflictos campo a campo y borrados con red
Si CloudKit rechaza un guardado porque el registro cambió en otro dispositivo, la app toma la versión del servidor, vuelve a aplicar solo los campos que cambió este y la reenvía. Un lote de otro dispositivo que borraría más de 50 capturas y una quinta parte de la biblioteca detiene la sincronización, y el Mac pregunta antes. Los archivos borrados van a la Papelera.
04
Solo lo que eliges, y los originales bajo demanda
La sincronización se activa por biblioteca y ninguna pizarra se sincroniza por defecto: se eligen en el Mac. Cada biblioteca tiene dos zonas, una con los metadatos y las miniaturas y otra con los originales. El Mac descarga las dos, y el iPhone pide un original solo al abrirlo, compartirlo o exportarlo, y guarda una caché pequeña.
05
Una extensión de compartir que escribe en CloudKit
Una extensión de compartir de iOS tiene unos 120 MB de memoria, poco para descodificar un PNG grande. Las imágenes se copian al contenedor compartido para que la app las procese después, pero los enlaces suben a CloudKit desde la propia extensión, con su título, su autor y un único fotograma de portada, nunca el vídeo. Cada enlace tiene su id desde que se abre la hoja, así que nunca se guarda dos veces.
06
La licencia del Mac, reflejada con un token firmado
La app de iOS es gratuita y no vende nada. Cada Mac publica en la cuenta de iCloud su token de licencia firmado (Ed25519), y el iPhone lo verifica con las mismas claves públicas: con una licencia o una prueba vigentes puede guardar, y sin ellas queda en solo lectura, igual que el Mac. Cada biblioteca va ligada a una única cuenta de iCloud.
Lo que cambió al probar entre dispositivos reales
CKSyncEngine solo busca cambios cuando un push marca la base o la app pasa a primer plano. Los push llegan, pero no siempre enseguida, así que nada da por hecho que vayan a llegar.
Un envío programado solo cubre las zonas que tenían cambios al programarse. Lo que se encola entretanto en otra zona se pide ahora aparte al acabar cada envío, desde una tarea desligada, porque esperar al motor dentro de su propio callback cierra la app.
En una red lenta, la primera subida de una biblioteca real (42 capturas, unos 25 MB) caducaba una y otra vez. Ahora sube en lotes de 8 MB o 100 registros como mucho, primero los metadatos y después los originales, y el Mac muestra cuántas capturas faltan.