LifeGlance - Línea de tiempo personal interactiva | Cómo instalar LifeGlance en Docker

LifeGlance | Timeline | PWA

LifeGlance: Tu vida completa en una línea de tiempo interactiva

Una aplicación web progresiva para mapear tu vida (pasado y futuro) sin entregar tus datos a la nube. Todo permanece en tu dispositivo.

¿Qué es LifeGlance?

LifeGlance es una línea de tiempo personal zoomable diseñada para personas que quieren mapear su vida sin entregar sus datos a servicios cloud. Es una Progressive Web App (PWA) que funciona completamente en el navegador. No hay cuentas, no hay servidor, no hay sincronización: tus datos nunca abandonan tu dispositivo.

Puedes registrar hitos pasados (nacimiento, graduación, bodas, mudanzas) y futuros (cumpleaños próximos, viajes planeados, jubilación), todo en un eje temporal continuo que puedes navegar desde semanas individuales hasta múltiples décadas con zoom suave y fluido.

Filosofía de privacidad: LifeGlance no tiene backend, no tiene analytics, no tiene cuentas, y no hace peticiones de red más allá de cargar la app y la fuente Courier Prime (que se cachea después del primer uso). Tu línea de tiempo es solo tuya.

Aspecto de la aplicación

Captura de pantalla de LifeGlance

Características principales

Línea de tiempo

Pan y zoom suave

Navega desde semanas individuales hasta múltiples décadas con transiciones fluidas.

Pasado y futuro unidos

Hitos pasados y futuros en un solo eje temporal continuo.

Navegación por teclado

Muévete entre hitos y niveles de zoom sin tocar el mouse.

Clusters inteligentes

Badges de agrupación para rangos de fechas densos.

Marcador "Hoy"

Fecha actual, día de la semana y edad opcional siempre visible.

Hitos

Datos completos

Título, fecha (precisión día/mes/año), categoría, nota y URL.

Adjuntos multimedia

Fotos, audio y vídeo almacenados como blobs locales (sin base64).

Recurrencia anual

Cumpleaños y aniversarios con año de finalización configurable.

Undo/Redo completo

Historial completo de cambios con confirmación de borrado inline.

Vistas y búsqueda

Modos de vista

Todo / Pasado / Futuro para filtrar la línea de tiempo.

Búsqueda full-text

Busca en títulos y notas de todos tus hitos.

Panel de estadísticas

Resumen de hitos totales, pasados, futuros y categorías.

"En este día"

Hitos de esta fecha en años anteriores.

Minimapa scrubbar

Navegación rápida a través de toda la línea de tiempo.

Importar/Exportar

Importar calendarios

Importa eventos desde archivos .ics de Google Calendar, Outlook, etc.

Exportar PNG

Exporta tu línea de tiempo como imagen de alta resolución (2×, con marca de agua).

Backup JSON

Exporta y restaura tu línea de tiempo completa.

Aplicación

PWA instalable

Funciona completamente offline después de la primera carga.

Audio generativo

Música ambiental sintetizada con toggle de silencio.

Tamaño de texto ajustable

Personaliza el tamaño de fuente según tus preferencias.

Adaptable a móvil

Advertencia de modo vertical para mejor experiencia.

Atajos de teclado

Tecla Acción
← / →Navegar entre hitos pasados/futuros
↑ / ↓Zoom out / Zoom in
1 – 9Zoom personalizado a N años
CInput de zoom personalizado
TSaltar a hoy
P / A / FVista Pasado / Todo / Futuro
NNuevo hito
EExportar imagen
/Buscar
SConfiguración
MSilenciar/activar audio
⌘Z / Ctrl+ZDeshacer
⌘⇧Z / Ctrl+YRehacer
?Ayuda
EscCerrar modal

Almacenamiento de datos

Todos los datos se almacenan localmente en tu navegador usando IndexedDB. Nada se envía a ningún servidor.

Estructura de almacenamiento

  • IndexedDB milestones: Registros de hitos (campos de texto, flags)
  • IndexedDB media: Blobs de audio/vídeo, indexados por ID de hito
  • localStorage: Solo configuración y preferencias (unos pocos KB)

Los blobs multimedia se cargan de forma lazy (solo cuando abres el detalle de un hito o haces clic en play), por lo que el tiempo de inicio es rápido independientemente de cuántos adjuntos tengas.

Importante sobre backups: Los backups JSON exportados incluyen los registros de hitos pero NO los adjuntos de audio/vídeo. Deberás volver a adjuntarlos después de restaurar si los necesitas.

Límites de almacenamiento

Los límites varían según el navegador:

  • Chrome y Firefox: Permiten varios GB
  • Safari en iOS: Más restrictivo. Puede eliminar datos de orígenes no visitados durante 7+ días a menos que la app esté instalada en la pantalla de inicio

El uso actual y la cuota disponible se muestran en el modal de Ayuda (?).

Instalación

Opción 1: Usar la versión alojada (recomendado)

La forma más sencilla es usar la versión oficial en lifeglance.app

Una vez cargada, la app funciona completamente offline. Puedes instalarla como PWA:

  • Desktop (Chrome/Edge): Haz clic en el icono de instalación en la barra de direcciones
  • Android: Menú → "Añadir a pantalla de inicio"
  • iOS/Safari: Compartir → "Añadir a pantalla de inicio"

Opción 2: Autohospedar con Docker

Si prefieres tener control total del hosting:

Paso 1: Crear el directorio del proyecto

mkdir ~/lifeglance cd ~/lifeglance

Paso 2: Crear docker-compose.yml

services: lifeglance: image: ghcr.io/krelltunez/lifeglance:latest container_name: lifeglance ports: - "8080:80" restart: unless-stopped

Paso 3: Iniciar el contenedor

docker compose up -d

Paso 4: Acceder a la aplicación

Abre tu navegador y ve a: http://localhost:8080

Opción 3: Construir desde el código fuente

Requiere Node.js 20+:

# Clonar el repositorio git clone https://github.com/krelltunez/lifeGLANCE.git cd lifeGLANCE # Instalar dependencias npm install # Desarrollo npm run dev # Servidor en http://localhost:5173 # Producción npm run build # Salida en /dist npm run preview # Servir build de producción

Cómo usar LifeGlance

1. Crear tu primer hito

  1. Presiona N o haz clic en el botón "+"
  2. Completa los campos:
    • Título: Nombre del evento
    • Fecha: Día/mes/año (puedes omitir día o mes para eventos menos precisos)
    • Categoría: Personal, Trabajo, Educación, etc.
    • Nota: Descripción adicional (opcional)
    • URL: Enlace relacionado (opcional)
  3. Opcionalmente adjunta foto, audio o vídeo
  4. Marca "Recurrente" si es un cumpleaños o aniversario

2. Navegar por tu línea de tiempo

  • Usa las flechas para moverte entre hitos
  • Usa para hacer zoom in/out
  • Presiona 1-9 para zoom rápido a N años
  • Presiona T para volver a hoy

3. Importar eventos desde calendario

  1. Exporta tu calendario como archivo .ics (Google Calendar, Outlook, etc.)
  2. En LifeGlance: Configuración → Importar .ics
  3. Selecciona qué eventos importar

4. Crear backups

  1. Presiona S para abrir Configuración
  2. Haz clic en "Save backup"
  3. Guarda el archivo JSON en un lugar seguro
  4. Para restaurar: "Load backup" y selecciona el archivo
Consejo: Exporta backups regularmente, especialmente si usas Safari en iOS, ya que puede eliminar datos de apps no usadas frecuentemente.

Stack tecnológico

  • Framework: React 18 + Vite
  • PWA: vite-plugin-pwa (Workbox)
  • Almacenamiento: IndexedDB (hitos + media), localStorage (configuración)
  • Fechas: date-fns
  • Fuente: Courier Prime (Google Fonts, cacheada offline)
  • Audio: Web Audio API (sintetizado, sin samples)
  • Deployment: Docker + nginx

Gestión del contenedor Docker

Ver logs

docker compose logs -f lifeglance

Reiniciar

docker compose restart lifeglance

Detener

docker compose down

Actualizar a la última versión

docker compose pull docker compose up -d

Construir imagen propia

docker build -t lifeglance . docker run -p 8080:80 lifeglance

Casos de uso

  • Diario de vida: Registra hitos importantes de tu vida en un solo lugar
  • Planificación a largo plazo: Mapea objetivos futuros (jubilación, proyectos, viajes)
  • Memoria familiar: Documenta la historia de tu familia con fotos y notas
  • Tracking de proyectos: Visualiza la duración de proyectos personales o profesionales
  • Gestión de cumpleaños: Nunca olvides cumpleaños y aniversarios importantes
  • Retrospectiva anual: Revisa tu año con la vista "Pasado" y estadísticas

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.