Exact: el framework de Expo que un agente de IA puede construir y testear
El equipo de Expo publicó Exact, un runtime de aplicaciones multiplataforma que promete escribir la interfaz una sola vez y verla correr de forma nativa en web, macOS, iOS y Linux. La diferencia con lo que ya existe no está solo en el alcance: el framework está diseñado para que un agente de IA construya la app, la ejecute, la mire y la testee en las cuatro plataformas sin una persona en el medio. En la prueba que documenta el propio repositorio, un agente sobre un clon limpio terminó una app de lista de tareas en unos 57 minutos y sus tests pasaron en las tres plataformas que verificó.
Para un founder, la traducción es directa: mantener tres versiones de una misma app (web, iOS, Android) es uno de los costos fijos más difíciles de recortar. Exact apunta a ese gasto, y lo hace en un momento en que buena parte del código lo escriben agentes, no humanos.
Qué es Exact y en qué se diferencia de React Native
Expo es la empresa detrás de las herramientas más usadas para construir apps con React Native. Exact es otra cosa. No hay React, no hay webview y no hay puente de JavaScript en la interfaz.
Leíste lo que hace la IA. ¿Y en tu negocio?
Un agente de IA puede quedarse con parte de tu día: ordenar lo pendiente y pedirte el OK antes de actuar. El Kit «tu mano derecha con IA» trae un video de 11 minutos y una ficha para dejar al tuyo trabajando. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →El planteo del repositorio es simple de enunciar: describes la interfaz en Contract, un lenguaje declarativo chico, y escribes la lógica de datos en TypeScript o Rust. El compilador de Contract convierte la interfaz en un plan compacto. En la web, ese plan se transforma en un único módulo ES sobre un runtime de unos 20 KB que maneja el DOM real del navegador. En macOS, iOS y Linux, un runner escrito en Rust ejecuta el mismo plan, un kernel de layout calcula cada caja con reglas CSS y cada plataforma dibuja con sus propias herramientas: AppKit, UIKit o un pintor por GPU.
Según el propio repositorio, no hay JavaScript de la app ejecutándose antes del primer píxel. Es una diferencia de arquitectura, no de marketing: el arranque no compila ni ejecuta nada.
Cómo funciona Contract: la interfaz como plan compilado
Contract se compila en cuatro pasadas: sintaxis, tipos, análisis y lowering. En tiempo de build el plan queda horneado: los datos constantes se evalúan dentro, de modo que el primer frame no necesita nada más.
Tres decisiones de diseño vale la pena mirar de cerca:
- Los nombres son los de CSS. El compilador rechaza un alias y nombra la forma correcta de la web:
font-size,object-fit,text-overflow,line-clamp,light-dark(). Si tu equipo ya sabe CSS, la curva de aprendizaje es más corta de lo que parece. - Lo que no escribes lo pone la plataforma. El texto usa el color y el tamaño del sistema (17 puntos en un iPhone, 13 en una Mac), un botón es el botón del sistema y una pantalla apilada tiene el Back nativo. La regla que resuelve disputas, según el repositorio: ¿lo notaría alguien que conoce la plataforma?
- El navegador es el oráculo. El layout nativo, el Canvas 2D, los SVG, los gradientes y el movimiento se comparan contra lo que dibuja Chrome. Cualquier desvío inevitable de layout se declara con su motivo.
Por qué Expo lo llama agent native
La parte más interesante para un equipo chico es cómo está pensado el ciclo de trabajo. Exact expone diez operaciones iguales en todos los hosts: tree, screenshot, tap, type, state, layout, logs, clock, prefer y perf, todas manejadas por un mismo script, scripts/agent.mjs. Son diez a propósito: el repositorio argumenta que una API de agente crece de a una adición razonable hasta que nadie puede tenerla entera en la cabeza.
Dos detalles cambian la práctica del testing:
- El reloj le pertenece al agente. Entre dos operaciones nada se mueve. En lugar de esperar a que termine una animación, el agente pide
clock +60000oclock settley lee el resultado. Eso elimina los tests que fallan por timing. - Los tests son guiones de esas operaciones. Un archivo
app.test.contractcorre igual en cualquier host, sin un segundo evaluador. Los tests de Caltrain, la app de ejemplo del repo, tardan unos dos segundos en el host web.
Además, el driver se niega a operar sobre un build más viejo que sus fuentes y dice qué hay que reconstruir. Y contract build --json devuelve diagnósticos con identificadores estables y rangos de origen, pensados para que los lea una máquina, no un humano.
Los presupuestos de velocidad que promete el equipo
Exact publica sus metas de rendimiento y las rastrea en cada commit. Un retroceso, dice el repositorio, es un P0 con nombre y apellido.
- 100 ms p50 desde el arranque en frío hasta el primer frame interactivo.
- 100 ms p50 desde guardar un cambio hasta verlo en pantalla en el ciclo de desarrollo.
- Cero JavaScript de la app ejecutado antes del primer píxel.
- 30 segundos para tocar una línea y reconstruir ese crate.
- 65 segundos para toda la suite de verificación bloqueante.
Los números concretos que acompañan esos presupuestos: en el benchmark RealWorld (Conduit), el runtime de Exact estaba arriba unos 300 ms antes de que el build de React con SSR hubiera hidratado, y usó 26 KB de código contra los 81 KB de React. En una app nueva creada con exact new, un cambio guardado en Contract o TypeScript se reconstruyó y apareció en la página en 99 ms.
Qué tan maduro está Exact hoy
Poco, y el repositorio lo dice sin vueltas: Exact es pre-1.0 y cambia todos los días. No hay estabilidad de API, no hay compatibilidad hacia atrás y no hay guía de migración, por diseño. El repositorio tiene 13 commits, y el último, del 9 de noviembre, aparece firmado por ccheever y por un usuario llamado claude.
Los requisitos tampoco son triviales: Rust (vía rustup), Bun 1.4.2, Google Chrome para que el agente maneje la web, Xcode para los hosts de Apple y Hermes solo si usas TypeScript en hosts nativos. Un primer build nativo toma entre diez y quince minutos en una laptop; los siguientes reutilizan el trabajo y tardan uno o dos minutos. En Linux, el host pinta sobre DRM/KMS o en un buffer fuera de pantalla, y un build de desarrollo puede servir su pantalla por VNC.
Vale la pena ubicar esto en el contexto de la empresa: SiliconANGLE reportó en abril de 2026 que Expo levantó US$45 millones en una ronda Serie B liderada por Georgian, con Leadout Capital, A Capital y Red Swan, y que en ese anuncio presentó Expo Agent, un asistente de programación con IA que estaba en beta pública. Exact es la continuación natural de esa apuesta: infraestructura propia para apps móviles, con el agente incorporado en el ciclo de desarrollo.
Qué significa esto para tu startup
Si tu producto depende de una app móvil, Exact toca dos de tus costos más caros: el mantenimiento de varias bases de código y las horas de QA entre plataformas. Pero es pre-1.0, así que la jugada no es migrar, es evaluar con bajo riesgo.
- Mide tu propio ciclo antes de creer el benchmark ajeno. Clona el repositorio, corre
bun scripts/exact.mjs setupuna vez y crea una app conexact new. Escribe unapp.test.contractque replique un flujo real de tu producto y córrelo en web y en iOS. Si el tiempo de iteración no te convence, ya tienes la respuesta por el costo de una tarde. - Prototipa en una rama, no en producción. Usa Exact para una herramienta interna o un flujo secundario, y deja tu app React Native como está. Sin compatibilidad hacia atrás garantizada, mover código crítico hoy es asumir un riesgo que no te pagan.
- Separa vista y datos desde ahora. El corte que propone Exact —Contract para la interfaz, TypeScript o Rust para los datos— es buena arquitectura aunque nunca lo adoptes. Si tu código ya tiene esa separación, una migración futura es mucho más barata; si la lógica de negocio vive dentro de tus componentes de UI, es el momento de sacarla.
- Prueba el testing dirigido por agente en tu CI. Las diez operaciones y el reloj controlado por el agente son portables a otros stacks como idea. Un pipeline donde el agente navega la app, saca capturas y verifica estado sin esperas fijas reduce los tests inestables, que es un problema que ya tienes hoy.
Conclusión
Exact no es un framework para adoptar esta semana: es un experimento público de Expo sobre cómo se construyen apps cuando el que escribe el código es un agente. Lo que sí es accionable hoy es la arquitectura que propone: una interfaz declarativa y compilada, cero JavaScript antes del primer píxel, un reloj que controla el agente y presupuestos de velocidad medidos en cada commit. Aun si nunca escribes una línea de Contract, esas cuatro ideas sirven para revisar cómo está construido tu producto.
Fuentes
- Expo/Exact en GitHub (fuente original)
- Developer tooling startup Expo nabs $45M investment - SiliconANGLE
Leíste lo que hace la IA. ¿Y en tu negocio?
Un agente de IA puede quedarse con parte de tu día: ordenar lo pendiente y pedirte el OK antes de actuar. El Kit «tu mano derecha con IA» trae un video de 11 minutos y una ficha para dejar al tuyo trabajando. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →













