Ideas & Insights
Explorando desarrollo AI-first, guardrails de código y la arquitectura de la descartabilidad.
La pila de seguridad para AI: types, contracts, property tests y mutation gates
Si quieres que el código generado con AI sobreviva en producción, code review no basta. Necesitas una pila por capas desde type constraints hasta mutation testing y runtime containment.
Lo peligroso del código generado con AI no es que siempre esté mal. Lo peligroso es que a menudo parece lo bastante correcto como para hacer merge. Ahí está el…
Por qué las grandes ideas de ingeniería siguieron siendo de nicho hasta que la AI las volvió viables
Design by contract, property-based testing, mutation testing y model checking no eran malas ideas. Eran demasiado intensivas en expertise para sostenerlas. La AI cambia esa ecuación.
La ingeniería de software está llena de ideas que parecen obviamente correctas en cuanto las lees. Claro que los contracts deberían definir qué puede aceptar y…
La guía del vibe coder para el ciclo de vida de apps React Native
Tu app funciona bien en dev, pero los usuarios ven una pantalla en blanco cuando vuelven después de comer. Este es el patrón de resume status que maneja correctamente el ciclo de vida nativo.
Construiste una app Expo preciosa en Cursor. Claude Code generó el flujo de auth, el dashboard, la pantalla de settings. La lanzaste. Los usuarios la…
Por qué tu app React Native hecha con vibe coding se cae al arrancar (y cómo evitarlo)
Si los SDK opcionales se inicializan igual que la infraestructura core, pueden hacer crash a tu app en el arranque. Este es el sistema de niveles de dependencias que evita que herramientas no críticas tumben producción.
Un fallo de lanzamiento muy común en apps móviles hechas con vibe coding es que analytics, attribution o crash reporting se inicializan junto con los servicios…
Por qué hacer vibe coding con NativeWind en Cursor romperá tu app React Native cuando escale
Lanzaste un MVP en un fin de semana con Cursor, pero ahora cambiar un color rompe 47 archivos. Este es el contrato de estilos que detiene la hemorragia.
Abriste Cursor, escribiste un prompt y viste cómo Claude Code generaba una UI completa de React Native en segundos. Layouts con flex, botones redondeados,…
Por qué Claude Code no debería revisar tu código (y qué usar en su lugar)
La revisión de código con LLM es no determinista, lenta y no detecta violaciones arquitectónicas. Este es el stack de guardas O(1) que sí mantiene limpio tu código.
Un desarrollador de mi red configuró Claude Code como reviewer de código en su CI. "Haz que Claude revise el PR", me dijo. "Detecta cosas que yo no vería." Le…
Borra, no migres: la estrategia de refactorización para apps React Native hechas con vibe coding
Refactorizar código generado por IA significa hacer ingeniería inversa de una intención que nunca fue tuya. Este es el patrón de reemplazo guiado por interfaces que hace seguras las eliminaciones.
En biología, la autotomía es cuando un animal se desprende de una parte del cuerpo que ya no le sirve. Un lagarto suelta su cola para escapar de un depredador.…
Cómo Cursor y Claude Code destruyen tu arquitectura React Native (y cómo arreglarla)
El auth generado por IA parece ir bien hasta que una feature nueva mete la mano en el servicio equivocado. Esta es la arquitectura guiada por interfaces que evita que los cambios de vendor y el trabajo de producto rompan el login.
Un fallo recurrente en apps React Native hechas con vibe coding es que una feature nueva importa un servicio existente directamente, toca estado que no le…
Por qué los deep links hacen crash a las apps React Native hechas con vibe coding (y cómo validarlos con Zod)
Los deep links, los payloads de push y las URLs compartidas son input no confiable. Así se validan en el boundary de Expo Router antes de que unos params malos lleguen a tus pantallas.
Los bugs de deep links en apps hechas con vibe coding suelen empezar con problemas de input aburridos: un ID de usuario malformado, una URL de campaña…
`useSyncExternalStore`: el hook de React que salva tu app hecha con vibe coding de bugs de estado
Deja de escribir suscripciones con `useEffect` que filtran memoria y pierden actualizaciones de estado. Este es el patrón de React 18 para un estado externo a prueba de balas.
Yo solía escribir hooks de detección de red como lo hacen la mayoría de los vibe coders: un que se suscribe a NetInfo, actualiza el estado cuando cambia la…
De vibe code a producción: por qué tu app React Native codificada con IA necesita guardrails para escalar
La IA puede sacar tu MVP de React Native muy rápido, pero sin guardrails cada cambio pequeño puede romper flujos que no tienen nada que ver. Así es como las restricciones declarativas evitan que la velocidad se convierta en fragilidad.
La primera etapa del vibe coding se siente absurdamente productiva. Cursor y Claude Code pueden generar login, dashboard, settings y push notifications tan…