Nuestro blog

Ideas, tutoriales y buenas prácticas de nuestro equipo de desarrolladores con experiencia.

dxpdf 0.5.0: enseñar a un conversor de DOCX a leer el resto del mundo
Ingeniería de software

dxpdf 0.5.0: enseñar a un conversor de DOCX a leer el resto del mundo

dxpdf convierte documentos de Word a PDF sin Office, sin LibreOffice y sin API en la nube. La versión 0.5.0 es aquella en la que dejó de dar por hecho que todo documento está escrito en inglés: saltos de línea según UAX #14, texto bidireccional según UAX #9 y números y fechas de CLDR que siguen el idioma del propio documento. Esto es lo que trae, las decisiones de diseño detrás y las cifras medidas.

11 de agosto de 2026
Orosu: por qué sustituimos las claves SSH de despliegue por tareas WebSocket firmadas
DevOps

Orosu: por qué sustituimos las claves SSH de despliegue por tareas WebSocket firmadas

Tarde o temprano, todo pipeline de CI necesita llevar una compilación a un servidor, y la mayoría de equipos lo resuelve con una clave SSH en los secretos y un script de rsync copiado y pegado. Nosotros hicimos otra cosa: escribimos Orosu, una herramienta open source en Rust que convierte el despliegue en una tarea WebSocket autenticada y acotada en lugar de una sesión de shell abierta. En este artículo explicamos qué problema resuelve, cómo funciona y dónde están sus límites.

8 de agosto de 2026
Por qué los agentes de IA se atascan con Flutter: 7 huecos que la experiencia sigue cerrando
Ingeniería de software

Por qué los agentes de IA se atascan con Flutter: 7 huecos que la experiencia sigue cerrando

Dejamos que los agentes escriban buena parte de nuestro código Flutter, y revisamos mucho Flutter escrito por agentes que nadie supervisó. La diferencia no es la velocidad de tecleo: son siete decisiones que un agente sin supervisión falla siempre. Recalcula el estado derivado en vez de mantener una única fuente de verdad, no escribe tests ni benchmarks, monta la lógica asíncrona compleja en pirámides de if en vez de streams, trata los tokens de diseño como constantes en lugar de un Theme, inventa un vocabulario de UX nuevo en cada pantalla, concatena cadenas donde hace falta ICU y simplifica de forma uniforme en vez de saber dónde la complejidad tiene que quedarse. Aquí está el aspecto de cada uno en Dart, por qué el agente acaba ahí y qué hacemos nosotros.

26 de julio de 2026
Cómo publicamos más de 20 apps de marca desde una base de código Flutter y sobrevivimos a la 4.2.6 de Apple
Para fundadores

Cómo publicamos más de 20 apps de marca desde una base de código Flutter y sobrevivimos a la 4.2.6 de Apple

La mayoría de las agencias de «marca blanca» se limitan a repintar un binario, y la directriz 4.2.6 de Apple rechaza exactamente eso. Esta es la arquitectura que usamos para publicar más de 20 apps de marca genuinamente distintas desde una única base de código Flutter: autenticación por tenant y contenido servido desde el backend que hacen de cada app un producto independiente de verdad, no un duplicado.

10 de julio de 2026
Cómo construimos con IA: arquitectura y flexibilidad por encima de las pulsaciones
Ingeniería de software

Cómo construimos con IA: arquitectura y flexibilidad por encima de las pulsaciones

La IA escribe ya buena parte del código de cualquier agencia seria: el 84 % de los desarrolladores la usa a diario. Nos apoyamos en eso a propósito. Dejar que los agentes produzcan el código libera a nuestros ingenieros para el trabajo en el que la IA es peor: arquitectura, flexibilidad y las decisiones de sistema completo que determinan si el software sobrevive a su segundo año. Así construimos de verdad en 2026, por qué movimos el esfuerzo humano hacia arriba y cómo evitamos que el código escrito por IA se convierta en las bases de código enredadas que auditamos cada semana.

19 de junio de 2026
Hallazgos de auditorías de código IA: 11 problemas en casi toda base de código construida con IA
Ingeniería de software

Hallazgos de auditorías de código IA: 11 problemas en casi toda base de código construida con IA

Puede que tu app construida con IA ya esté en producción, y los agujeros de seguridad son solo parte de la historia. Auditamos decenas de bases de código construidas con Cursor, Claude Code, Bolt, Lovable y sesiones largas de ChatGPT, y casi siempre se repiten los mismos once problemas: secretos incrustados en el código, sin validación de entrada, autenticación que marca la casilla pero no verifica la petición, cero tests, sin gestión de errores en el camino infeliz, consultas N+1, dependencias obsoletas con CVEs conocidas, duplicación por todas partes, sin arquitectura coherente, infierno de callbacks en lugar de patrones asíncronos adecuados, y ninguna conciencia del entorno de despliegue. Aquí está el aspecto de cada uno, por qué lo produce la IA y cómo lo arreglamos.

18 de junio de 2026