Desde el estudio
Apuntes
Lo que aprendemos construyendo productos.
Recientes
Cloudflare AI Gateway: qué hace y cuándo conviene pasar por él
Un endpoint delante de 24 proveedores de IA, con caché, topes de gasto en dólares y registro de coste por modelo. Qué cubre Cloudflare AI Gateway y qué no.Página de precios SaaS: 6 arreglos para no perder clientes
Gartner sitúa en el 67% los compradores B2B que compran sin comercial, y su arrepentimiento sube un 23%. Seis arreglos para una página que decide.Cómo auditar un design system en 5 días: la checklist
La checklist día a día para auditar un design system: inventaría componentes, mide cuatro tipos de deriva, prueba la accesibilidad y entrega el plan.Dirección de arte SaaS: cómo dejar de parecer una plantilla
La dirección de arte SaaS es el punto de vista visual deliberado que separa un producto de la plantilla en la que nació. Aquí dónde empujar y dónde no tocar las convenciones.SOW y MSA: qué contrato protege tu proyecto SaaS
El MSA fija los términos legales una vez; el SOW define cada proyecto. Erra el orden de prelación y el scope creep (15 a 27% del presupuesto) acaba en disputa.
Escala tipográfica para UI de producto: tamaños que aguantan en cada pantalla
Crea una escala tipográfica de 7 a 9 tamaños, nombrados como tokens, que aguanta del móvil de 320px al monitor de 1440px y sobrevive al zoom del 200%. Los números exactos y los límites.Server Actions de Next.js en producción: qué usamos y qué evitamos
Cada Server Action que exportas es un endpoint POST público sin autenticación. Estos son los patrones de Next.js 16 que llevamos a producción y los que rechazamos.UX de onboarding: patrones que reducen el abandono inicial
La activación media de un SaaS se queda en el 37,5%. Seis patrones de onboarding, del empty state a las checklists, para llegar antes al primer valor.Coste de tokens en funciones de IA: gestiónalo antes de perder margen
El SaaS clásico ronda el 80% de margen; los productos con IA, el 52%. La diferencia son los tokens. Así presupuestamos las funciones de IA sin perder margen.Contratos con agencias de software: 8 cláusulas a revisar en 2026
Ocho cláusulas deciden quién es dueño del código, cuándo pagas y cómo sales. Las señales de alerta a detectar en un contrato con una agencia de software antes de firmar.llms-full.txt y llms.txt: qué hace cada uno y cuándo añadirlo
llms-full.txt es la exportación completa de tu sitio; llms.txt es solo un índice. Aquí ves en qué se diferencian, qué muestran los datos de 2026 y cuándo usar cada uno.El compilador en Go de TypeScript 7: qué cambia el 10x de velocidad
TypeScript 7 reescribe tsc en Go y comprueba los tipos del repo de VS Code (1,5 millones de líneas) en 7,5s en lugar de 78. Qué cambia para el equipo.Todos los artículos
2026
Agencia de diseño SaaS en España: qué mirar antes de firmar
Jerarquía visual sin color: 7 recursos en vez del acento
Diseño de estados vacíos: los 4 que toda pantalla necesita
Fotografía para la web de un producto software: 7 pasos
Partner de desarrollo de software industrial: qué mirar en 2026
Agencia de desarrollo SaaS en Italia: cómo elegirla en 2026
Cuándo contratar una agencia para el design system (y cuándo esperar)
Estudio de desarrollo fintech: qué verificar en KYC, PSD3 y DORA
Alineación óptica: 7 ajustes que los números no ven
Diferencia entre GEO y AEO: qué cambia de verdad en 2026
Agent DevTools de Next.js: depurar con IA en 2026
Gobernanza de MCP en 2026: qué cambió con la Linux Foundation
Cloudflare AI Gateway: qué hace y cuándo conviene pasar por él
Página de precios SaaS: 6 arreglos para no perder clientes
Cómo auditar un design system en 5 días: la checklist
Dirección de arte SaaS: cómo dejar de parecer una plantilla
SOW y MSA: qué contrato protege tu proyecto SaaS
Escala tipográfica para UI de producto: tamaños que aguantan en cada pantalla
Server Actions de Next.js en producción: qué usamos y qué evitamos
UX de onboarding: patrones que reducen el abandono inicial
Coste de tokens en funciones de IA: gestiónalo antes de perder margen
Contratos con agencias de software: 8 cláusulas a revisar en 2026
llms-full.txt y llms.txt: qué hace cada uno y cuándo añadirlo
El compilador en Go de TypeScript 7: qué cambia el 10x de velocidad
Blindar un servidor MCP para empresas: SSO, auditoría, gateway
Design system interno o con agencia: cuándo gana cada uno
Agencia o freelance para un MVP: como elegir en 2026
Cómo redactar el brief para una agencia de desarrollo software
10 errores de los fundadores al elegir un estudio SaaS en 2026
El tráfico de búsqueda con IA convierte 4,4 veces más que el orgánico
Qué entrega realmente una fase de discovery (y qué no)
Partial Prerendering estable en Next.js 16: cómo estructurar rutas
Craft híbrido: IA y criterio humano en el diseño en 2026
Ventana de contexto de Claude Code: gestiónala como un presupuesto
AI Overviews vs AI Mode: por qué citan fuentes distintas en 2026
Métrica de activación SaaS: la regla de los 2.000 mensajes de Slack
Proliferación de dependencias npm: coste real y cómo reducirla
Precios del retainer de product design en 2026: rangos reales
API de Anthropic en Next.js: streaming, caché y control de costes
Menciones de marca y backlinks: qué predice las citas de la IA
i18n en Next.js sin librería: el patrón del App Router
Abuso de contenido a escala: la pipeline de IA que sobrevive
Cuánto cuesta la fase de discovery en 2026: qué pagar y qué no
Stripe Checkout vs Customer Portal: qué hace cada uno (2026)
TanStack en 2026: Query, Router, Start y qué resuelve cada uno
Estrategia de sitemap para un sitio con mucho contenido en 2026
Cuánto cuesta integrar IA en un SaaS en 2026: rangos reales
Coste y plazos de una integración con Stripe para un SaaS en 2026
Cuánto cuesta el diseño de un sitio SaaS en 2026: guía de precios
Cuánto cuesta un design system en 2026: proyecto, retainer o copropiedad
ROI de un design system: medirlo como cuenta de resultados
WebGL o animaciones CSS: cuándo usar cada una (2026)
Diseno de dashboards SaaS: mostrar datos sin saturar al usuario
Cómo escribir un archivo CLAUDE.md que guíe de verdad a Claude Code
Cómo añadir JSON-LD a un artículo de blog en 2026
Rendimiento de fuentes web en 2026: subset, self-host, swap
Convenciones de nombres de design tokens: sistema de 3 niveles
Diseñar para agentes de IA: la interfaz que lee el usuario no humano
Cuánto cuesta desarrollar un MVP en 2026: cifras por alcance
Checklist de SEO técnico para lanzar un SaaS B2B en 2026
6 errores de frontend que hunden tu puntuación de Lighthouse en 2026
Component drift: como se degrada un design system y como detectarlo
Docker o Vercel para Next.js: cuándo conviene el self-hosting
Cómo contratar un estudio de product engineering en 2026
RPC con tipos en Server Actions de Next.js: sin capa de API
Estructura de un design system: las 7 categorías y el orden
Frescura de contenidos en 2026: la regla de 90 días para SEO y GEO
¿Cuánto cuesta desarrollar un SaaS en 2026? Cifras por escenario
Consultora de IA o estudio de IA: cuál elegir en 2026
Qué es un Claude Code studio en 2026 (y cómo elegir uno)
Cómo elegir un studio de product engineering en 2026: la guía del comprador
Arquitectura web en 2026: home como app, el resto estático
Por qué quitamos componentes en vez de añadirlos: la dieta del design system
URLs MCP efímeras: el patrón TTL para agentes de IA en 2026
KPIs de GEO en 2026: citation rate, mention rate, position
Cómo redactar un RFP de software que atraiga al proveedor adecuado
Core Web Vitals en Next.js en 2026: cómo llegar al verde
Animación funcional UI en 2026: el checklist antes de publicar
Skills de Claude Code: cuándo usarlas y cuándo cuestan tokens
Dónde encontrar un estudio de diseño SaaS en 2026: 6 canales reales
Cloudflare R2 vs Supabase Storage: cuándo añadir R2 en 2026
Stack web inmersivo en 2026: Lenis, GSAP, y qué dejar fuera
Upstash Redis: 5 patrones para rate limiting, sesiones, locks
TypeScript strict mode: los 8 ajustes que nunca apagamos
Agencia de integración de IA en 2026: qué debe contener realmente su pitch
12 errores que vemos cometer a los equipos en su primer sistema ops multi-agente
Cloudflare R2 vs Supabase Storage vs S3 (2026): cuál elegir
Supabase Supavisor: cuándo el pooler de conexiones suma 80ms
Agencia Next.js o equipo interno: cuándo gana cada uno en 2026
Design system as a service: 6 modelos de agencia comparados en 2026
Integrar Claude: qué pedir a un socio antes de firmar
Cómo elegir una agencia de diseño SaaS B2B en 2026
Partner de integracion Stripe o DIY: quien gana en 2026
Agencia de desarrollo MVP en 2026: cómo elegir la que entrega
Mejores agencias de diseño SaaS en 2026: cómo compararlas de verdad
Qué significa realmente un estudio AI-native en 2026
Seguridad de Server Actions Next.js: 13 fallos y arreglos 2026
El modo oscuro no es un toggle: theming contextual en 2026
Patrones de diseño de sistemas multi-agente en producción
Supabase RLS a escala: 7 patrones contra ralentización 11x
Deterioro post-lanzamiento: por qué un sitio falla 6 meses después
Edge runtime o Node runtime: qué cambia en Next.js 16
Diseño accesible tras la EU Accessibility Act
Hooks de Claude Code: PreToolUse, PostToolUse y los patrones que escalan
Cloudflare bloquea crawlers IA: permite GPTBot y ClaudeBot
Multi-tenant desde el primer día: por qué el SaaS single-tenant es un error de 5 años
Por qué quitamos Tailwind de producción: un design system solo CSS
Calm UI en 2026: el fin de los teatros de animación
AI-native vs IA pegada encima: cómo distinguirlos en 60 segundos
Los 7 tipos de schema markup que todo blog necesita en 2026
RevenueCat o Stripe Billing en 2026: 1% frente a 0,7%
CSS moderno 2026: cascade layers, container queries, :has()
Cómo gobernar un design system en 10+ proyectos consumidores
Patrones de flujo de trabajo de Claude Code que usamos para enviar código a producción cada día
llms.txt: qué es, qué poner dentro y si lo necesitas
Medición de uso en SaaS: los 6 pasos con Stripe Billing
Por qué seguimos eligiendo Next.js sobre Astro para SaaS en 2026
10 errores de design system que arruinan la coherencia a escala
Servidor MCP gestionado o propio: los 6 criterios clave
Cómo escribir los primeros 200 tokens para que los motores de IA citen tu artículo
Un equipo, una factura: dejar de acumular vendors SaaS
React Compiler 1.0: cuándo aún necesitas useMemo y useCallback
Design tokens vs variables CSS vs Tailwind, explicado (2026)
Cómo crear un servidor MCP en un SaaS Next.js existente (2026)
Las 12 mejores prácticas de GEO que suben las citas en 2026
Estudio vs freelance vs agencia en 2026: quién encaja en cada presupuesto
Server Components vs Client Components: el árbol de decisión que seguimos
Bibliotecas de componentes externas: un atajo caro
Qué es MCP y por qué tu SaaS necesita un servidor MCP en 2026
Qué es Generative Engine Optimization (GEO) frente al SEO
El impuesto de agencia: por qué las empresas mid-market pagan de más por lo digital
Next.js 16 y React 19: los 3 breaking changes para SaaS en 2026
Qué es una auditoría de design system y cuándo la necesitas
7 errores en apps con Claude que cuestan tokens, dinero o la empresa