mail.atlas.example ↗info@atlas.example••••••••••Doble factor en el móvil de la oficina.
Se despliega en tu propia infraestructura
Devotion (devotionapp) reúne espacios personales o compartidos y, dentro de cada uno, proyectos con su documentación, sus tareas, sus reuniones y sus credenciales, todo sincronizado al instante. Devotion no es un SaaS: se instala en la infraestructura de tu empresa y tus datos nunca salen de ella.
Docker Compose On-premise GitHub OAuth AES-256-GCM Tiempo real
Demo interactiva
Un recorrido guiado por lo esencial, sobre la propia interfaz de la app: un espacio compartido, el proyecto Atlas y sus secciones. Toma el mando cuando quieras: pulsa en cualquier sección, arrastra una tarjeta o abre la paleta.
El equipo de producto: Atlas, Orion y el portal de clientes. Compartido con 3 personas.
Plataforma de reservas para el equipo comercial.
Quedamos en volver a hablarlo el jueves; si no hay respuesta, tiramos con la opción B.
const reserva = await api.post("/api/reservas", { salaId, inicio, fin });
Documentación
Plataforma de reservas para el equipo comercial.
La estructura del repositorio: qué vive en cada carpeta.
Stack1 documentoTecnologías, versiones y el papel de cada una.
Endpoints
POST/api/reservas
Crea una reserva de una sala en la franja indicada. Falla con 409 si la franja está ocupada.
| Parámetro | Tipo | Descripción |
|---|---|---|
salaId | uuid | Sala que se reserva |
inicio | datetime | Inicio de la franja (ISO 8601) |
fin | datetime | Fin de la franja |
Respuesta · 201
{
"id": "c1f2…",
"salaId": "7ab0…",
"estado": "confirmada"
}
Modelo de datos
Un usuario reserva una sala en una franja. Las reservas de una misma sala no pueden solaparse; el estado pasa de pendiente a confirmada o cancelada.
Clave primariaClave foráneaUnoMuchos
| Entidad | Campos | Descripción |
|---|---|---|
reserva | 6 | Franja reservada por un usuario en una sala |
sala | 4 | Sala reservable con aforo y planta |
usuario | 4 | Persona que reserva; el rol limita lo que puede hacer |
Arquitectura
Una SPA habla con la API en la misma origin. La API es dueña de todas las escrituras; las lecturas se sincronizan en tiempo real vía Electric desde PostgreSQL.
Guías
Atlas corre con Docker Compose. La API aplica las migraciones al arrancar, así que desplegar es un pull y un reinicio.
# En el servidor de pre
git pull origin main
docker compose -f docker-compose.prod.yml up -d --build
docker compose logs -f api
Accesos del proyecto (paneles, servidores, cuentas de prueba…), visibles para los miembros del espacio.
Nuevo loginmail.atlas.example ↗info@atlas.example••••••••••Doble factor en el móvil de la oficina.
grafana.pre.atlas.example ↗admin••••••••admin.atlas.example ↗demo-comercial••••••••••Cuenta de pruebas: los datos se reinician cada noche.
Snippets del proyecto organizados por grupos, listos para copiar.
Nuevo grupo… Crear grupogit pull origin main
docker compose -f docker-compose.prod.yml up -d --build
docker compose logs -f api
DATABASE_URL=postgresql://user:pass@db:5432/atlas
REDIS_URL=redis://redis:6379
SESSION_SECRET=cámbiame
await fetch("/api/cache/home", { method: "DELETE" });
pg_dump -Fc atlas | mc pipe minio/backups/atlas-$(date +%F).dump
Vista en miniatura: para probarla, abre esta página en un ordenador.
Datos simulados. La interfaz, los atajos y el comportamiento son los de la app real.
Producto
Todo se organiza en espacios: uno personal para tus cosas y otros compartidos por equipo o por cliente, a los que se entra por invitación. Dentro, cada proyecto tiene su resumen, sus tareas, su documentación, sus reuniones, sus credenciales y su actividad.
Un editor Markdown a varias manos, con los cursores de los demás a la vista, bloques de código, tablas editables, diagramas y enlaces entre páginas. Se exporta a PDF o a Word.
Cada espacio define sus propios estados. Subtareas que cierran la tarea principal al terminar, adjuntos y una vista «Mis tareas» con todo lo que tienes pendiente.
Reuniones con orden del día y enlace a la videollamada, los días que cada uno está fuera y sincronización con el Calendario de Apple.
Logins compartidos y ficheros .env cifrados con una clave por proyecto, y un registro de quién ha consultado cada cosa.
Con ⌘P llegas a cualquier sitio. Pestañas dentro de la app, varias ventanas y aplicación nativa para macOS.
Tokens de acceso y una API pensada para agentes: Claude Code puede documentar tu proyecto a partir del repositorio, retocar la documentación sin pisar el trabajo de nadie o proponer mejoras. Las skills vienen listas para descargar.
Tiempo real
Cada cambio llega a todas las ventanas abiertas en milisegundos. Sin recargar, sin «espera, que lo tengo abierto yo», sin perder ediciones.
12:04:01 ✓ ana ha movido "Revisar permisos por rol" → En curso
12:04:02 ✓ marta ha creado la reunión "Demo con el cliente"
12:04:03 ✓ jorge editando "Guía de despliegue"▍
12:04:03 ⟳ sincronizado · 3 clientes conectados · 12 ms
Despliegue
Devotion no se vende por usuario ni vive en la nube de otro. Se instala en tus servidores, con tu dominio y tu sistema de identidad, y se amolda a tu equipo: si os falta algo, lo construimos.
Nos cuentas cómo es tu equipo, cómo trabajáis y dónde queréis tenerlo: en vuestros servidores, en una máquina virtual de vuestro proveedor o en una que preparamos nosotros.
Docker Compose en vuestra infraestructura: base de datos relacional, caché, almacenamiento de objetos compatible con S3 y TLS en vuestro dominio. Si ya tenéis proxy inverso o S3 propios, nos integramos con ellos. Las migraciones se aplican solas con cada actualización.
Con GitHub OAuth (o con el proveedor de tu organización) y una lista de quién tiene acceso. Sin contraseñas que gestionar ni registro abierto.
Actualizaciones, copias de seguridad y soporte, tal y como lo acordemos. ¿Os hace falta una función nueva, una integración con vuestras herramientas o que algo funcione de otra manera? Lo hacemos sobre vuestra instalación. Y si algún día preferís llevarlo por vuestra cuenta, la instalación es vuestra.
Todo dentro de tu red. Nada sale de ella.
Cada pieza se puede cambiar por la que ya tengáis: vuestro proxy inverso, vuestra base de datos, vuestro S3.
Seguridad
Solo se entra con OAuth. No hay contraseñas que recordar ni que se puedan filtrar.
Una lista de permitidos decide quién entra. Sin registro abierto ni cuentas anónimas.
Tokens, credenciales compartidas y secretos se guardan cifrados con AES-256-GCM, con una clave distinta por proyecto.
Funciona dentro de tu red, con TLS. Tus datos no están en la nube de nadie más.
Contacto
Cuéntanos cuántos sois y dónde lo instalaríais. Te contamos cómo encaja Devotion en vuestro caso y preparamos un plan de despliegue a la medida de vuestra infraestructura.
Despliegues
Organizaciones que ya tienen Devotion desplegado en su propia infraestructura y lo usan a diario.
Vicerrectorado de Estrategia Digital e Inteligencia Artificial
Gestionan con Devotion todos los proyectos que desarrolla el equipo: documentación, tareas, reuniones y credenciales, en los servidores de la propia universidad.
En producción