Por qué existe Fóir

Ocho años construyendo software para otros, y el mismo vacío en casi todos los proyectos. Un sistema de gestión de contenidos te lleva la mayor parte del camino. La parte que no cubre es donde se va el presupuesto.

Empezó como trabajo para clientes

Fóir nace de un estudio que entrega software a clientes. Los productos cambiaban de un proyecto a otro. Por debajo, cada uno necesitaba las mismas piezas: contenido que un editor pudiera cambiar sin un desarrollador, datos que pertenecían a usuarios concretos, inicio de sesión, almacenamiento de archivos, trabajo programado y reglas sobre quién podía ver qué.

Construimos esas piezas proyecto tras proyecto, y cada una nos enseñó algo sobre cómo debían encajar. Tras suficientes proyectos los patrones dejaron de cambiar, y tenía cada vez menos sentido construirlos de nuevo para cada cliente.

El último diez por ciento

Un CMS listo para usar casi cumple el encargo. Luego llega la parte que nunca iba a hacer: el área con sesión iniciada, el contenido que difiere por cliente, el flujo de trabajo que llega a otro sistema.

En ese punto hay tres caminos y cada uno cuesta. Ejecutar dos sistemas y escribir la integración entre ellos. Construir el backend y acoplar a un lado un CMS de terceros. O construir el backend y reconstruir las herramientas de edición que tu equipo ya sabía usar. Hemos presupuestado las tres más de una vez, y ninguna es lo que alguien quería comprar.

Un agente lo reconstruye cada vez

Un desarrollo más barato debería haber hecho asequible esa última parte. Lo que hizo fue volverla frecuente. Un agente al que se le pide construir una aplicación ensambla las mismas piezas que faltan en cada proyecto: inicio de sesión, una base de datos, almacenamiento de archivos, permisos, una cola de trabajos. La mayoría son críticas para la seguridad, y confías en que las haya unido todas correctamente, cada vez, en un código que nadie ha leído de principio a fin.

Con Fóir esas piezas llegan ya unidas, y las operamos nosotros. El agente escribe lo que es particular de tu producto, sobre un backend cuyas reglas de acceso no puede omitir.

Los errores de ese código son ausencias

Los fallos de un backend ensamblado son silenciosos: una comprobación en una ruta que nadie ejercitó, una consulta a la que le falta una cláusula, una clave que llega más lejos que la persona que la tiene.

No puedes revisar hasta alcanzar la confianza sobre algo que no está. Lo que funciona es un sistema en el que la comprobación no se puede omitir. En Fóir las reglas de acceso se compilan a la row-level security de la propia base de datos, de modo que una consulta que olvida una comprobación devuelve solo lo que su autor puede ver, y una tabla nueva falla nuestras pruebas hasta que alguien decide cómo se protege. El motor que hace la compilación es Demesne, y es de código abierto.

Construimos sobre él nosotros mismos

Fóir es la base desde la que empezamos nuestro propio trabajo. Este sitio funciona sobre él, y ahí se publican nuestros nuevos proyectos de clientes. Las decisiones que antes tomábamos de nuevo en cada construcción, como el modo de modelar el contenido y el de mantener los datos de un usuario como suyos, se toman una vez y se conservan.

Un backend hay que operarlo además de escribirlo, así que Fóir es un servicio gestionado. La parte que decide quién puede ver tus datos está publicada para que cualquiera la lea.

Así que construimos aquello por lo que seguíamos presupuestando

Cada proyecto pagaba por construir de nuevo la misma base.

Fóir es esa base, operada para ti: contenido estructurado y datos de aplicación en un solo runtime, con inicio de sesión alojado, medios, personalización, automatización y una API generada, ya conectados entre sí. Tú empiezas por tu propia lógica de negocio.

Lo que sustituye

Las suscripciones y los proyectos de desarrollo que reemplaza, en un solo lugar y en una sola factura.

Un CMS headless

La interfaz editorial, el esquema, los borradores y el historial de versiones.

Un proveedor de autenticación

Inicio de sesión para tus propios usuarios, en tu propio dominio, con los roles que lo acompañan.

Almacenamiento y una CDN

Subidas, transformaciones de imagen, streaming de vídeo y la entrega que hay delante.

Un servicio de búsqueda

Texto completo sobre tus registros y vectores para recuperar por significado.

Un ejecutor de trabajos

Programaciones, operaciones en segundo plano, reintentos y un lugar adonde vayan los fallos.

Un proveedor de mensajería

Correo transaccional, dentro de la app y push, con las preferencias guardadas por cliente.

La capa de integración

El código que, de otro modo, mantendría unidos esos seis, y la deriva entre ellos.

Las personas que lo parchean

No hay ningún servidor tuyo que mantener al día ni fin de semana de actualización.

Comprueba si se sostiene

Cada capacidad, y las comparaciones en las que decimos con claridad qué herramienta elegiríamos en su lugar.