Blog

En mi blog, comparto conocimientos sobre desarrollo de software, arquitecturas orientadas a servicios y mejores prácticas en tecnología.

UI Effect: Sonar Wave Animation

UI Effect: Sonar Wave Animation

Cómo crear una animación de ondas de sonar para destacar avatares usando CSS puro y keyframes.

CSS Avanzado: Bordes con Flujo de Energía Secuencial

CSS Avanzado: Bordes con Flujo de Energía Secuencial

Cómo crear un efecto de 'corriente eléctrica' que viaja por los bordes de un contenedor utilizando 4 animaciones coordinadas y linear-gradients.

UI Component: Electric Neon Cards

UI Component: Electric Neon Cards

Implementación de tarjetas con bordes de energía giratorios utilizando Conic Gradients, Inset y efectos de brillo neón.

Cómo darte de baja de boletines en Gmail (uno por uno o en lote)

Cómo darte de baja de boletines en Gmail (uno por uno o en lote)

Paso a paso para limpiar tu bandeja con «Gestionar suscripciones» de Gmail: dónde está, cómo decidir qué se queda y un script para dar de baja decenas de boletines de una sola vez.

Hermes Desktop: «The in-app browser only takes actions in the session the user is looking at» — por qué pasa y cómo lo arreglé

Hermes Desktop: «The in-app browser only takes actions in the session the user is looking at» — por qué pasa y cómo lo arreglé

El agente de Hermes podía LEER la página del navegador integrado pero se negaba a hacer clic o llenar formularios cuando el chat estaba abierto como pestaña lateral (tile). La causa es un filtro que mira la sesión principal y no la que tienes enfocada. Te cuento cómo lo diagnostiqué, el parche de 20 líneas con sus pruebas y el atajo para salir del paso sin tocar código.

Me quedé sin créditos en Netlify y migré mi blog a Cloudflare Pages gratis (en una tarde)

Me quedé sin créditos en Netlify y migré mi blog a Cloudflare Pages gratis (en una tarde)

Netlify Free agotó sus 300 créditos y dejó de publicar mi blog. Lo pasé a Cloudflare Pages sin pagar nada: funciones, paywall cifrado, formularios con WhatsApp y dominio, probando todo antes de tocar producción. Te cuento el paso a paso y las trampas en las que caí.

Qwen local sin censura dentro de Claude Code y Hermes

Qwen local sin censura dentro de Claude Code y Hermes

Cómo instalé Qwen3.5-35B-A3B sin censura en una RTX 5070 Ti de 16 GB con llama.cpp y un router de 150 líneas que lo pone en el /model de Claude Code junto a Opus, y como proveedor en Hermes. 53 tokens/s, sin cuota.

Cómo hice la mascota de mi marca con Claude Code y Gemini: del logo a un personaje que te sigue con la mirada

Cómo hice la mascota de mi marca con Claude Code y Gemini: del logo a un personaje que te sigue con la mirada

Convertí el logo de WeSoft en Manta, una mantarraya 3D estilo película animada, con Gemini (Nano Banana) manejado por Claude Code. Te enseño los prompts exactos, cómo conseguir 11 tomas idénticas del mismo personaje, cómo recortarlas para la web, hacer que miren al cursor y animarlas en video sin pagar nada.

Google Analytics 4 en mi sitio: quién me visita, desde qué país y qué secciones ve

Google Analytics 4 en mi sitio: quién me visita, desde qué país y qué secciones ve

Cómo conecté Google Analytics 4 a un blog en Hugo y a una landing en React + Vite: una propiedad por sitio, la etiqueta solo en producción y un evento propio para saber cuánta gente llega a cada sección.

Atajos de una palabra para crear contenido de redes con mi GPU: post, clip, semana

Atajos de una palabra para crear contenido de redes con mi GPU: post, clip, semana

Cómo organicé la generación de contenido por red social y por proyecto con atajos para mi agente de IA: escribo 'post miproyecto ig: idea' o 'clip miproyecto tiktok: idea' y en segundos tengo imágenes o un video con voz, con el estilo de la marca y en el formato de cada red.

raul@wesoft: ~/ficha