riffle
Riffle es una herramienta de curación de fotografías impulsada por teclado que gestiona el proceso entre la cámara y la biblioteca de fotos. Permite importar, revisar, calificar y exportar imágenes a plataformas como Immich, PhotoPrism o Google Photos con detección de duplicados SHA256.
Ficha actualizada 26 sept 2026, 10:48 · upstream 26 sept 2026, 10:20 · release sin release detectada
Qué es riffle
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Riffle es una herramienta de curación de fotografías diseñada para gestionar el proceso entre la cámara y la biblioteca de fotos. Utiliza Go en el backend y React en el frontend para ofrecer una interfaz rápida y eficiente. La aplicación opera mediante un flujo de trabajo claro: Importar, Curar, Biblioteca y Exportar.
Durante la importación, Riffle detecta duplicados exactos mediante hashing SHA256, selecciona candidatos inteligentes basándose en metadatos EXIF y organiza las fotos por fecha en carpetas YYYY/MM - MonthName/. Pre-genera miniaturas para carga rápida de galerías y preserva metadatos EXIF y timestamps de archivos. Soporta formatos HEIC, HEIF, MOV, MP4 e imágenes comunes.
La interfaz de curación está optimizada para trabajo con teclado (P/X/U/1-5/C), permitiendo aceptar, rechazar, desmarcar o calificar fotos rápidamente. Incluye modo lightbox a pantalla completa con avance automático, comparación lado a lado y seguimiento visual del progreso. El sistema incluye una red de seguridad virtual (Trash) que evita eliminación inmediata de archivos rechazados.
La exportación permite filtrar por calificación mínima (0-5), organizar carpetas (mantener estructura o aplanar), manejar duplicados y limpieza opcional tras la exportación. Se integra con GeoNames para geocodificación offline y utiliza dependencias como go-exiftool, go-sqlite3, goimagehash y bimg.
- Curación de fotos antes de importar a bibliotecas como Immich o PhotoPrism
- Detección y gestión de duplicados mediante hashing SHA256 en flujos de trabajo fotográficos
- Organización automática de archivos por fecha con estructura YYYY/MM - MonthName/
- Revisión rápida de sesiones de fotografía con teclado (P/X/U/1-5/C) sin ratón
- Comparación lado a lado para elegir entre tomas similares en una misma secuencia
- Exportación selectiva de fotos calificadas a carpetas para importación en otras aplicaciones
- Detección de duplicados exactos mediante hashing SHA256 antes de la curación
- Interfaz optimizada para teclado con atajos P/X/U/1-5/C sin necesidad de ratón
- Soporte nativo para formatos HEIC, HEIF, MOV y MP4 con pre-generación de miniaturas
- Geocodificación offline mediante GeoNames sin dependencias de red externas
- Red de seguridad virtual (Trash) que evita eliminación inmediata de archivos rechazados
- Exportación configurable con filtrado por calificación mínima y opciones de limpieza
- Requiere instalación manual de dependencias del sistema (exiftool, ffmpeg, libheif, vips)
- No incluye archivo docker-compose.yml para orquestación multi-servicio
- Depende de descargas manuales de React desde CDN para producción
- Geocodificación limitada a dataset cities1000 (lugares con población > 1000)
- Requiere al menos 4 núcleos CPU y 2 GB RAM según especificaciones técnicas
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Desplegar usando Docker con imagen ghcr.io/sheshbabu/riffle/riffle:latest en puerto 8080. Montar volúmenes para data, import, library, thumbnails y export. Instalar dependencias del sistema antes de construir: brew install exiftool ffmpeg libheif vips (macOS) o apt-get install libimage-exiftool-perl ffmpeg libheif-dev libvips-dev (Linux). Crear archivo .env con rutas IMPORT_PATH, LIBRARY_PATH, THUMBNAILS_PATH y EXPORT_PATH. Construir desde fuente con make build o ejecutar directamente ./riffle.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.

