Notes from building, operating, and improving products.

Practical writing on software, applied AI, and the systems behind useful work.

RAG en producción: lo que se rompe al salir del prototipo

Un prototipo de RAG funciona en una tarde. Sostenerlo en producción es otro problema: recuperación, frescura, costos y evaluación.

Read article

Cómo evaluar un sistema con LLM sin engañarte

Probar tres ejemplos a mano no es evaluar. Cómo montar una medición honesta de un sistema con modelos de lenguaje.

Read article

Agentes de IA: cuándo sirven y cuándo son un rodeo caro

No todo flujo con IA necesita un agente. Cómo distinguir los casos donde la autonomía aporta de los que solo agregan latencia y costo.

Read article

Fine-tuning, RAG o prompting: cómo decidir

Tres formas de adaptar un modelo a tu dominio, con costos y límites distintos. Un marco para elegir sin probar a ciegas.

Read article

Costos de LLM en producción: dónde se va el presupuesto

El precio por token rara vez es el problema. Las fugas reales están en el contexto inflado, los reintentos y el reprocesamiento.

Read article

Guardrails en aplicaciones con LLM: qué proteger y cómo

Inyección de instrucciones, fuga de datos y acciones no autorizadas. Controles concretos para sistemas con modelos de lenguaje.

Read article

IA en flujos internos: automatizar sin romper el proceso

Los mejores casos de IA aplicada no son de cara al cliente. Cómo identificarlos e integrarlos sin generar trabajo nuevo.

Read article

Bases de datos vectoriales: cuándo las necesitas de verdad

Antes de sumar una pieza de infraestructura, revisa si tu base de datos actual ya resuelve el problema. Muchas veces lo hace.

Read article

De piloto a producción: por qué mueren los proyectos de IA

El piloto impresiona y el proyecto se detiene. Las causas se repiten y casi ninguna es técnica.

Read article

Observabilidad: qué medir antes de que se caiga

Métricas, trazas y registros no son lo mismo que observabilidad. Qué instrumentar para poder responder preguntas que no anticipaste.

Read article

Deuda técnica: cómo priorizarla con criterio de negocio

No toda deuda hay que pagarla. Un marco para decidir qué arreglar, qué aislar y qué dejar en paz.

Read article

Idempotencia y reintentos en sistemas distribuidos

Todo reintento asume que repetir la operación es seguro. Cómo diseñar para que lo sea, y qué se rompe cuando no lo es.

Read article

Migraciones de base de datos sin downtime

Renombrar una columna puede tumbar el servicio. El patrón de expansión y contracción, paso a paso.

Read article

Estrategias de caché: invalidación sin dolor

Cachear es fácil; invalidar es donde aparecen los errores raros. Patrones que funcionan y los que producen datos rancios.

Read article

Multi-tenancy: aislamiento de datos por diseño

Tres modelos de aislamiento con costos muy distintos. Cómo elegir y qué controles hacen falta en cada uno.

Read article

Construir o comprar: un marco de decisión honesto

La comparación de precios es la parte fácil y la menos importante. Qué mirar antes de decidir si construyes.

Read article

Medir productividad de ingeniería sin métricas tóxicas

Contar líneas o tickets cerrados degrada el trabajo que pretende medir. Qué medir para mejorar en lugar de vigilar.

Read article

Capacitar equipos no técnicos en herramientas digitales

La adopción no falla por falta de capacitación, sino por capacitación desconectada del trabajo real.

Read article

Contratos de API que sobreviven al cambio

Versionar no es la primera respuesta. Cómo diseñar interfaces que evolucionan sin romper a quien las consume.

Read article

Feature flags como herramienta de producto, no solo técnica

Separar despliegue de lanzamiento cambia cómo se trabaja. También genera una deuda propia si no se gestiona.

Read article

CI/CD que no bloquea al equipo

Una tubería lenta o inestable enseña a la gente a ignorarla. Cómo mantenerla rápida y confiable.

Read article

Arquitectura orientada a eventos: cuándo vale la complejidad

Desacoplar con eventos resuelve problemas reales y crea otros. Cuándo el intercambio conviene y cómo no equivocarse.

Read article

Infraestructura como código: los errores que más cuestan

Escribir la infraestructura en archivos no es el logro. Lo difícil es el estado, los secretos y la deriva.

Read article

Discovery de producto para equipos técnicos

Construir bien algo que nadie necesita sigue siendo desperdicio. Cómo validar antes de comprometer meses de desarrollo.

Read article

Edge computing: qué conviene mover al borde y qué no

Ejecutar cerca del usuario reduce latencia pero cambia las reglas sobre datos y estado. Un criterio para decidir.

Read article

Microservicios vs Monolitos: Guía para Elegir Sabiamente

Un análisis detallado sobre cuándo y por qué elegir arquitecturas de microservicios o monolíticas, comparando sus características y casos de uso.

Read article

Introducción práctica a los Transformers en NLP

Una guía paso a paso para comprender y aplicar modelos de transformers en procesamiento de lenguaje natural, incluyendo el mecanismo de atención y ejemplos.

Read article

Clean Code: Principios Fundamentales para un Desarrollo Sostenible

Explora los principios esenciales para escribir código limpio, mantenible y eficiente, con ejemplos antes/después y mejores prácticas.

Read article

Arquitectura Hexagonal: Diseñando sistemas mantenibles

Aprende cómo la arquitectura hexagonal puede mejorar la mantenibilidad y testabilidad de tus aplicaciones. Exploramos sus componentes, ventajas y un caso práctico.

Read article