Saltar al contenido
Proyectos

Tres sistemas, tres dominios.

Tres sistemas construidos internamente, elegidos porque se sitúan en tres partes distintas de la pila: una plataforma de contenido multiinquilino, un sistema de análisis en lenguaje natural, un gestor de pantalla con separación de privilegios. Una superficie de producto, un sistema de datos, un sistema operativo. La misma mano en los tres, que es la amplitud que realmente necesita el desarrollo de un producto completo.

01: Proyectos

Lo que se ha construido.

Lee cada sistema como la respuesta a una pregunta: ¿qué demuestra que se nos puede encargar? Una superficie de producto, un sistema de datos e inferencia y un sistema operativo son tres tipos de dificultad distintos, y lo que importa es la amplitud que cubren entre los tres.

  • / 01
    Superficie de producto

    Tessera

    Una plataforma de contenido multiinquilino

    Una superficie de creación se apoya en un modelo de documento, y lo que manipula un editor no es lo que acaba recibiendo un navegador. Cuando la plataforma es multiinquilino, la misma brecha se abre de nuevo en los permisos, en los dominios y en la facturación, y cada una tiene que cerrarse en el esquema, no en una consulta que alguien se acordó de escribir.

    Lo que exigió

    • Un modelo de bloques en el que el editor y el renderizador no puedan divergir
    • Cada guardado recuperable, no solo el último
    • Permisos decididos en un solo lugar en vez de comprobados en cada punto de llamada
    • Un aislamiento entre inquilinos que una cláusula WHERE olvidada no pueda romper
    TypeScriptNext.jsReactPostgreSQLDrizzle ORMTurborepo
  • / 02
    Datos e inferencia

    QueryFlow

    Un sistema de análisis en lenguaje natural

    Una pregunta en lenguaje natural se convierte en SQL sobre un esquema real, se ejecuta y dibuja un gráfico. La generación es lo de menos: el sistema tiene que ser seguro para apuntarlo a una base de datos de producción, y una respuesta que nadie puede rastrear hasta una consulta no es una respuesta.

    Lo que exigió

    • El SQL generado, comprobado antes de llegar a la base de datos y no después
    • Ejecución de solo lectura, con un límite a lo que puede costar una consulta
    • La consulta mostrada al lector, no oculta detrás del gráfico
    • Un proveedor de modelos que se pueda sustituir sin tocar a quien lo llama
    TypeScriptNext.jsPythonFastAPIPostgreSQLsqlglot
  • / 03
    Sistema operativo

    tda-dm

    Un gestor de pantalla con separación de privilegios

    El inicio de sesión gráfico es el único programa que autentica a un usuario, tiene root mientras lo hace y cede el control a una sesión que nunca debe heredar esa autoridad. También es dueño de la pantalla: cuando falla, a menudo no queda nada en lo que informar del fallo.

    Lo que exigió

    • Una frontera de privilegios que un error de la sesión no pueda atravesar hacia atrás
    • Credenciales que no sobrevivan al momento en que se usan
    • Ningún camino por el que una interfaz comprometida pueda iniciar una sesión
    • Recuperación tras un fallo que no dependa de que la pantalla siga funcionando
    RustPAMX11runitelogindD-Bus
02: Cómo leer esto

Lo que demuestran tres dominios.

Lee los tres en conjunto, no uno por uno. Lo que importa es la amplitud.

  • Sin traspaso entre capas

    Uno funciona por debajo de todo lo demás, otro convierte datos en bruto en una respuesta, otro es una superficie que la gente toca directamente. Ninguno de los tres se pasó de un especialista a otro, así que no hay una costura donde la infraestructura entregue el relevo al producto.

  • El alcance se definió, no se recibió

    Los requisitos de cada sistema se elaboraron aquí, no se entregaron ya hechos. Decidir qué tenía que hacer cada uno, y qué no tenía que hacer, fue parte de la ingeniería en los tres casos.

  • Profundidad del núcleo a la interfaz

    Un sistema operativo llega al nivel más bajo al que puede llegar un proyecto; una superficie de producto llega al más alto. Cubrir ambos, además de la capa de datos e inferencia entre ellos, es la amplitud en la que tiene que saber trabajar una práctica generalista de sistemas.

03: Siguiente paso

Pregúntanos por cualquiera de ellos.

Los detalles no están en esta página. Pídelos directamente, o envíanos el problema que de verdad necesitas resolver.