Angular 20Ionic 8Supabasen8nOpenAI APIPWA

Flux Task

PWA de productividad para capturar, ordenar y hacer: tareas, proyectos, objetivos, notas y una bandeja de entrada, con notas de voz que se convierten solas en tareas.

Resultado
En producción en flux-task.javierm.es, en beta privada. Web e instalable en el móvil, en español e inglés.
Mi rol
El proyecto completo: producto, diseño, frontend, base de datos, automatización de voz con IA y despliegue.

El problema

Las ideas y los pendientes llegan en el peor momento: andando, conduciendo, en mitad de otra cosa. La mayoría de apps de tareas obligan a decidir en ese mismo instante dónde va cada cosa, con qué fecha y en qué proyecto, y esa fricción hace que muchas se queden sin apuntar.

Con AI Task Automation y Second Brain AI Assistant ya había resuelto la captura por voz sobre Notion para mí. Flux Task es el paso siguiente: un producto propio, para cualquiera, donde capturar cuesta un segundo y ordenar se hace después, con calma.

La solución

Flux Task es una aplicación web progresiva (PWA) que funciona en el navegador y se instala en el móvil como una app más. Reúne en un solo sitio todo lo que suele estar repartido entre varias herramientas:

  • Hoy: lo que toca hoy, lo atrasado y los próximos días de un vistazo.
  • Bandeja de entrada: todo lo capturado sin ordenar, para procesarlo uno a uno.
  • Proyectos, objetivos y áreas para dar contexto a las tareas, y notas para lo que no es una tarea.
  • Calendario, búsqueda y tareas recurrentes.
  • Repaso semanal: decidir qué sigue, qué se mueve y qué sobra, con datos de cómo va la semana.
  • Workspaces personales y compartidos, con roles.
  • Aviso diario por notificación push con las tareas del día.

Pantalla Hoy de Flux Task en el móvil — tareas del día, atrasadas y la barra para escribir o dictar

Objetivos de Flux Task en el escritorio — cada objetivo con su progreso, estado y fecha límite

Calendario de Flux Task — el mes con las tareas de cada día y el detalle del día elegido

Notas de voz que se ordenan solas

La pieza central: dictas lo que tengas en la cabeza y la app lo convierte en elementos ordenados. Un audio no produce una tarea, sino varias cosas de tipos distintos: tareas, tareas recurrentes, notas y capturas para la bandeja.

  1. Grabación en la app, también sin conexión: el audio se guarda y se envía al volver la red.
  2. Subida del audio a Supabase Storage y registro de la captura como pendiente.
  3. Disparador en la base de datos (pg_net) que avisa al workflow de n8n solo con el identificador de la captura.
  4. Transcripción y clasificación con OpenAI en n8n: un enrutador reparte el contenido entre cuatro especialistas, uno por tipo de elemento, que lo crean directamente en la base de datos.
  5. Aviso en tiempo real (Supabase Realtime): la app se entera al momento y dice qué se ha creado.
  6. Limpieza: los audios se borran automáticamente a los 7 días.

Bandeja de entrada de Flux Task — capturas pendientes de procesar, una a una

Pensada para el día a día

  • Aviso de carga al planificar: al elegir el día de una tarea, la app dice cuántas tiene ya ese día y avisa si con la nueva te pasas.
  • Tema claro y oscuro, con la misma interfaz en el móvil y en el escritorio.

Editar tarea en Flux Task — al elegir el día avisa de que ese día ya va cargado

Pantalla Hoy de Flux Task con el tema oscuro

Stack y arquitectura

  • Frontend: Angular 20 con componentes standalone, Signals y OnPush, e Ionic 8 para la interfaz móvil. PWA con el service worker de Angular. Español e inglés con un diccionario tipado propio.
  • Backend: Supabase. Postgres con seguridad a nivel de fila (RLS) en todas las tablas, Auth con Google (OAuth con PKCE), Storage y Realtime. El esquema evoluciona con más de 70 migraciones versionadas.
  • Tareas programadas: Edge Functions para el aviso diario por web push y la limpieza nocturna, lanzadas con pg_cron.
  • IA: workflow de n8n autoalojado con la API de OpenAI para transcribir y clasificar.
  • Despliegue: VPS propio con Coolify, cabeceras de seguridad con CSP, copias de seguridad cifradas semanales y pruebas automáticas (Karma y Jasmine).

Retos técnicos

  • Datos compartidos sin fugas: workspaces compartidos con roles, protegidos en la base de datos con RLS y no solo en la interfaz.
  • Un pipeline de voz fiable: reintentar una nota no duplica lo que ya creó, las capturas que se quedan colgadas se rescatan solas y hay grabación sin conexión con cola de envío.
  • Coste de IA bajo control: cupo mensual de notas de voz por plan y un tope global de gasto que pausa el procesamiento si se supera.
  • PWA de verdad en iPhone y Android: grabación en el formato de cada sistema, inicio de sesión con Google desde la app instalada y avisos de versión nueva.

Repaso semanal de Flux Task — tareas por hacer frente al ritmo real, semana a semana

Resultado

  • Producto completo de principio a fin, de la idea al despliegue, mantenido por una sola persona.
  • En producción en flux-task.javierm.es, en beta privada con activación manual de cuentas.
  • La evolución de mis automatizaciones con n8n: lo que empezó como flujos para uso personal es hoy una app multiusuario con su propia base de datos, seguridad y control de costes.