adrian@portfolio:~/blog
Blog
Notas sobre Astro, eCommerce, rendimiento y práctica de ingeniería.
19 entradas
- 01Usar Claude Code con cualquier modelo vía OpenRouterClaude Code lee unas variables de entorno que eligen el endpoint y el modelo. Apúntalas a OpenRouter y el modelo pasa a ser un argumento más.9/2026
- 02El rate limiter era la caídaUn rate limiter sobre KV escribía una clave por petición contra un free tier de 1.000 escrituras diarias. Al agotarse la cuota, lo que protegía la API la tumbó.9/2026
- 03Escribir cada componente dos veces para que el preview no mientaUn panel redimensionable hace que los breakpoints de viewport mientan. La solución fue dos ficheros por componente, uno por viewport y otro por contenedor.9/2026
- 04Puntuar una liga fantasy con datos que aún no han llegadoUna liga fantasy de música puntúa según el streaming de una API externa escasa, tardía y revisable. Casi cada decisión del backend sale de ahí.9/2026
- 05Astro Actions y JavaScript vanilla para validar formulariosFormulario de contacto con Astro Actions: validación en el servidor dentro de la Action, JavaScript vanilla para la interfaz y cero frameworks en el cliente.8/2025
- 06Automatiza tu feed de Google Merchant Center con Node.jsSincroniza un catálogo eCommerce con Google Merchant Center desde la Content API: cuenta de servicio, inserciones por lotes y un cron diario controlado.8/2025
- 07Búsqueda de producto con IA en eCommerce: Orama y OpenAICómo la búsqueda híbrida con Orama y embeddings de OpenAI cambió el descubrimiento de producto en una tienda de pádel: indexado, fallbacks y mejoras de CRO.5/2025
- 08Redsys con Next.js 15, parte 2: notificaciones de pagoGestionar notificaciones de Redsys en Next.js 15: la ruta de notificación, validación de firma, idempotencia y por qué el pedido sale de tu base de datos.3/2025
- 09Extraer productos a Sanity CMS con Cheerio y cronPasar un catálogo de WordPress a Sanity CMS: scrapear fichas con Cheerio, validar y enriquecer los datos y mantener la sincronización con cron.3/2025
- 10Pagos con Redsys en Next.js 15 usando Server ActionsIntegrar Redsys en Next.js 15: variables de entorno, cliente de firma, una Server Action y el formulario de redirección que arranca el pago.2/2025
- 11TinaCMS: un CMS headless con control de versiones en GitTinaCMS guarda el contenido como Markdown y JSON en Git, con edición en vivo encima. Cómo funciona, cuándo encaja y qué implica montarlo de verdad.1/2025
- 12Usar Notion para gestionar proyectos web freelanceEl montaje de Notion que uso como desarrollador freelance: una base de datos por proyecto, embudo de clientes y plantillas que acortan propuestas y entregas.1/2025
- 13Qué cambia Astro de verdad para el SEOAstro no posiciona por sí solo. HTML estático, islas opcionales y una capa de contenido tipada son lo que recibe el crawler. Dónde gana y dónde no.12/2024
- 148 consejos para optimizar tu página de productoOcho ajustes en la página de producto que suben la conversión: claridad, fotografía, variantes, copy, confianza y los detalles que casi todas olvidan.2/2024
- 15Narrativa de marca para webs: estructura y ejemplosCómo construir una narrativa de marca que una web pueda usar: mensaje, promesa en la portada, pruebas a lo largo del recorrido y tests que la mantienen honesta.9/2023
- 16Scrum para proyectos web: sprints, roles y estimaciónCómo funciona Scrum en un proyecto web de cliente: duración del sprint, historias de usuario, story points, los dos roles que importan y dónde suele romperse.9/2023
- 17Diseño gráfico para marketing digital: qué importa de verdadIdentidad visual, formatos por canal y peso de las imágenes: las decisiones de diseño gráfico que afectan a la atención, la confianza y la velocidad.8/2023
- 18Checklist de SEO técnico para un sitio web nuevoChecklist de SEO técnico para un sitio nuevo: rastreo, arquitectura de la información, enlaces internos, metadatos y las auditorías que detectan regresiones.7/2023
- 19Diseño responsive y Core Web Vitals: guía prácticaEl diseño responsive es un presupuesto de rendimiento, no una lista de breakpoints: layout mobile-first, estrategia de imágenes y cómo mueve LCP y CLS.6/2023