Ermis
Ermis es una aplicación colaborativa de planificación de viajes, autoalojable. En vez de repartir un viaje en grupo entre chats, hojas de cálculo, carpetas de Drive, documentos sueltos y correos reenviados, reúne transporte, itinerario, gastos y decisiones en un único lienzo que todo el grupo puede ver y editar a la vez, sincronizado en tiempo real.
El problema
Planificar un viaje en grupo acaba repartido entre una decena de herramientas, y nadie tiene nunca la visión completa. Ermis junta toda esa información en un único sitio que todo el grupo puede ver y editar al mismo tiempo.
Qué hace
- Itinerario colaborativo. Todo el grupo edita el mismo lienzo del viaje sobre un mapa y ve los cambios actualizarse en tiempo real.
- Chat de grupo y encuestas. Un chat del grupo de amigos con menciones mantiene la conversación junto al plan, y las encuestas convierten un «¿dónde comemos?» en una decisión real, en lugar de cuarenta mensajes sin leer.
- Gastos compartidos. Repartos flexibles entre los miembros del grupo, con la opción de liquidar los saldos automáticamente en lugar de calcularlos a mano.
- Asistencia con IA. Un asistente dedicado genera propuestas de itinerario, extrae reservas de los correos de confirmación reenviados y avisa de forma proactiva de lo que merece la pena decidir.
- Resumen del viaje. Lo esencial de un vistazo — cuenta atrás, tiempo, presupuesto y balance del grupo — en lugar de tener que rebuscar en un hilo para encontrarlo.
- Grupos e invitaciones. Los viajes se comparten con un grupo de amigos por enlace de invitación, código o QR, con niveles de visibilidad por viaje (privado, solo grupo o público) para decidir quién ve qué.
- Autoalojable. Instalable como app, con soporte sin conexión, para quien prefiera tener su propia instancia antes que ceder los datos del viaje a un tercero.
Cómo está construido
Un monorepo con Angular y Tailwind CSS en el frontend, y Spring Boot para la API transaccional y su propia autenticación — tokens de acceso JWT con refresh tokens rotatorios y con hash, revocación de sesión ante la reutilización de un token, y limitación de peticiones respaldada por Redis en los endpoints de autenticación. PostgreSQL almacena los datos, con Redis haciendo también de broker de WebSocket/STOMP para la colaboración en vivo.
Un microservicio de Python independiente, construido con FastAPI y LangGraph, se encarga de la parte de IA — generación de itinerarios, parseo de correos y sugerencias proactivas — con pgvector para la memoria semántica.
Estado
Proyecto personal en desarrollo activo. El código se mantiene privado por ahora.