Tailwind vs Vanilla CSS en Desarrollo Web con IA: Cómo Ahorrar hasta un 80% de Tokens y Optimizar tu Web App

Hace unos días, mientras programaba codo con codo con mi asistente de IA en una aplicación web, me topé con un detalle curioso. En plena fase de desarrollo, la IA decidió estructurar el diseño utilizando CSS convencional (Vanilla CSS) de toda la vida, ignorando por completo que el resto del proyecto estaba construido sobre Tailwind CSS.

¿Te ha pasado alguna vez que tu programador de IA empieza a escribir código que parece sacado de hace diez años? 

Esto pasa muchísimo en la programación con inteligencia artificial, una corriente que ahora muchos llaman vibe coding en español. En este nuevo escenario, la IA decide gran parte de la maquetación, pero si no la guías bien, te puede salir caro.

Cuando le pregunté por qué había tomado esa decisión, su respuesta me hizo clic. Me di cuenta de cómo las directivas por defecto de los modelos de IA a veces chocan de frente con las necesidades del desarrollo en el mundo real. Pero lo verdaderamente interesante no fue ese choque de criterios, sino lo que descubrí al analizar el trasfondo: la forma en que decides maquetar tu web no solo influye en cómo se ve, sino en cómo ahorrar tokens en IA, reducir los costes del desarrollo y aumentar la velocidad a la que avanza tu asistente.

Si estás utilizando asistentes de IA como Gemini, Claude o GitHub Copilot para el desarrollo web con IA, este análisis te interesa. Especialmente si eres CEO, director de tecnología o un profesional con perfil semi-técnico que busca optimizar recursos y acelerar sus proyectos.

REGLA DE ORO DE ABILIO:
Cuando programas con IA, no solo diseñas para tus usuarios finales; también diseñas para optimizar la «memoria de trabajo» (el contexto) de la propia Inteligencia Artificial. Menos ruido en el contexto equivale a respuestas más rápidas y baratas.


📋 Resumen Ejecutivo (Contexto para IA / GEO)

  • Tema Principal: Comparativa entre Tailwind vs Vanilla CSS en el desarrollo asistido por Inteligencia Artificial y su impacto en la ventana de contexto (tokens).
  • El Problema: Vanilla CSS requiere que la IA procese archivos globales masivos en cada interacción, incrementando los costes y ralentizando el desarrollo.
  • El Riesgo: Usar Tailwind mediante CDN en producción daña las métricas de rendimiento (FOUC, Core Web Vitals) y vulnera políticas de seguridad (CSP).
  • La Solución: Usar Tailwind CSS compilado localmente con un watcher. Esto reduce hasta un 80% el consumo de tokens y genera un archivo estático y seguro para producción.
  • Entidades Relacionadas: Google Antigravity, Tailwind CSS, Vanilla CSS, Content Security Policy (CSP), Core Web Vitals, Token de Contexto, JIT Compiler.

Tailwind vs Vanilla CSS: ¿Por qué la IA prefiere CSS clásico por defecto?

Cuando dejas que una IA programe libremente desde cero, su tendencia natural es utilizar Vanilla CSS (CSS a medida). Esto responde a dos razones lógicas de su propia programación:

  1. Cero dependencias externas: La IA quiere asegurarse de que el código que te entrega funcione de inmediato en cualquier navegador, sin obligarte a instalar herramientas de compilación (PostCSSnpm, etc.).
  2. Precisión teórica: Para un LLM, es más predecible sugerir propiedades CSS nativas directas como width: 100% que arriesgarse a usar una clase utilitaria de Tailwind que podría estar desconfigurada en tu archivo local tailwind.config.js.

El problema es que, en el día a día de un negocio, esta elección por defecto es ineficiente y muy costosa a medida que el proyecto crece.


Cómo ahorrar tokens en IA al programar con Tailwind CSS

A primera vista, Tailwind CSS parece más «sucio» para una IA. El HTML se llena de clases utilitarias largas como flex items-center justify-between px-4 py-2 bg-white rounded-lg shadow-md. Para un modelo de lenguaje que procesa texto, esto te deja el HTML lleno de clases larguísimas que se repiten una y otra vez.

Pero aquí viene la paradoja: con Tailwind CSS consumes muchísimos menos tokens de contexto a la larga.

El «Impuesto del Contexto Global» en Vanilla CSS

Cuando maquetas con CSS tradicional, tu archivo global de estilos (styles.css) va creciendo con cada nueva funcionalidad. En proyectos medianos, este archivo alcanza fácilmente las 3,000 líneas (lo que equivale a unos 30,000 tokens).

Para que la IA modifique o cree un nuevo componente manteniendo la coherencia visual (colores, espaciados, fuentes), necesita leer todo el archivo styles.css en cada turno de la conversación. Si no lo hace, empezará a inventar clases o duplicar estilos. Esto significa pagar miles de tokens de entrada adicionales en cada pregunta.

Imagina esto como el alquiler de una oficina: Con CSS tradicional, cada vez que le pides a la IA que cuelgue un cuadro en una habitación, tienes que enviarle el plano completo del edificio de 50 plantas para que entienda el contexto. Eso devora memoria y presupuesto. Con Tailwind, es como si cada habitación llevara sus propios planos pegados en la puerta: la IA lee solo el archivo del componente que está editando y actúa al instante.

TRUCO DE AHORRO:
Dado que Tailwind es un framework universal, la IA «se lo sabe de memoria». No necesita abrir ninguna hoja de estilos para saber qué aspecto o espaciado tiene una clase como flex o rounded-2xl. Esto ahorra hasta un 80% de tokens de contexto en proyectos grandes.

La localización y «autodocumentación» en Tailwind

Con Tailwind CSS, los estilos están localizados y son autoexplicativos. Si le pides a la IA modificar un archivo header.html, la IA solo tiene que leer ese archivo específico. No necesita cargar una hoja de estilos global porque las clases del HTML ya le describen exactamente el aspecto y diseño del elemento.

  • Con Vanilla CSS: Pagas el «impuesto» de leer el archivo CSS global masivo en cada interacción.
  • Con Tailwind: Solo pagas los tokens adicionales locales del HTML de la página en la que estás trabajando.

El peligro del CDN de Tailwind CSS en producción: ¿Cómo afecta al SEO y a tu web?

Para avanzar rápido en el desarrollo con IA, es muy común colocar el script del CDN de Tailwind en la cabecera:

<script src="https://cdn.tailwindcss.com"></script>

Esto funciona de maravilla en fase de desarrollo, pero es un grave error para tu negocio si lo dejas en producción por tres motivos:

  1. Velocidad y Core Web Vitals (SEO): El navegador del usuario tiene que descargar el compilador de Tailwind, escanear el HTML y generar el CSS en tiempo de ejecución. Esto provoca el indeseado efecto FOUC (Flash of Unstyled Content): la web se ve rota y sin estilos durante una fracción de segundo, lo que destruye la experiencia de usuario y penaliza tu posicionamiento orgánico en Google.
  2. Políticas de Seguridad (CSP): Al inyectar estilos directamente en el DOM mediante JS, estás obligado a relajar las políticas de seguridad del servidor (unsafe-inline y unsafe-eval). En entornos corporativos, esto es meter una vulnerabilidad en tu propia web sin necesidad (ataques XSS).
  3. Peso innecesario: El CDN descarga unos 350 KB de librería de desarrollo. El Tailwind compilado para producción suele pesar menos de 10 KB, ya que solo incluye las clases utilizadas.

CUIDADO:
El script de CDN de Tailwind está diseñado exclusivamente para prototipado rápido. Usarlo en un entorno real de producción daña tus métricas web Core Web Vitals, abre agujeros de seguridad en el navegador y puede dejar tu web sin estilos si el servidor del CDN externo se cae.


Paso a paso: Cómo configurar Tailwind CSS en local para tu desarrollo web con IA

Para obtener el máximo ahorro de tokens con la IA y tener una web optimizada y segura, debemos implementar Tailwind compilado localmente. No te preocupes, que tiene solución y además es muy fácil. Solo requiere tres pasos sencillos sin dependencias raras:

Paso 1: Configuración básica (tailwind.config.js)

Crea un archivo de configuración en la raíz del proyecto para indicarle a Tailwind dónde buscar tus clases utilitarias:

module.exports = {
  content: ["./*.{html,php}"],
  theme: {
    extend: {},
  },
  plugins: [],
}

Paso 2: Crear el archivo CSS de entrada (src/input.css)

Crea una hoja de estilos mínima con las directivas básicas de Tailwind:

@tailwind base;
@tailwind components;
@tailwind utilities;

Paso 3: Compilar y vigilar cambios (Watch)

Ejecuta el compilador oficial de Tailwind desde la terminal. No necesitas configurar Webpack o Vite; basta con usar npx (que descarga y ejecuta la herramienta al vuelo):

npx tailwindcss -i ./src/input.css -o ./styles_tailwind.css --watch

Este comando vigilará cada cambio que hagas en tus archivos HTML/PHP y compilará al instante un archivo styles_tailwind.cssoptimizado y purgado. Luego, en tu header.html (o el equivalente de tu plantilla), sustituyes la etiqueta script del CDN por la hoja de estilos compilada:

<link rel="stylesheet" href="styles_tailwind.css">

Tabla Comparativa: Impacto en el Desarrollo y Rendimiento

CriterioVanilla CSSTailwind CSS (CDN)Tailwind CSS (Compilado Local)
Consumo de Tokens de IAAlto (crece indefinidamente)Bajo (estilos en el HTML)Bajo (estilos en el HTML)
Velocidad de Carga WebAltaMuy Baja (compila en cliente)Ultra Alta (CSS estático mínimo)
Seguridad (CSP)Alta (seguro)Vulnerable (unsafe-inline)Alta (seguro)
Esfuerzo de MantenimientoAlto (CSS duplicado)BajoBajo
Apto para ProducciónNoSí (Excelente)

Conclusión

El uso de Inteligencia Artificial para el desarrollo de software cambia las reglas del juego. Ya no solo optimizamos código para el usuario final o el navegador, sino también para el propio motor de la IA que nos asiste.

Adoptar Tailwind CSS compilado localmente es la decisión estratégica más inteligente: mantienes tu web rápida para Google, segura para tus clientes, y reduces drásticamente el consumo de tokens y los costes de desarrollo con la IA.

Si has estado utilizando el CDN de Tailwind en tus prototipos o delegando todo el diseño en CSS tradicional a tu IA, te animo a configurar el flujo local. Tu flujo de trabajo y tu presupuesto te lo agradecerán.

¿Y tú? ¿Has notado cómo se disparan los costes o se satura el chat de tu IA cuando los archivos CSS crecen? ¿Qué problemas te has encontrado al maquetar con IA? Déjame tu experiencia en los comentarios, te leo. 

Si te ha sido de ayuda, déjame un «Gracias» en forma de comentario 😉 ¡Feliz programación!

Como migrar un diseño de Figma a Google Stitch

Abre tu proyecto en Figma tipo «Make»

  • Haz click en el icono de código < >
  • Para cada una de las carpetas, haz click con el boton derecho y –> Descargar
  • Mueve todo el código a una carpeta, por ejemplo:
    /Users/admin/Documents/antigravity_workspaces/landing_page/figma_draft

Genera un screenshot de cada parte de la pagina del diseño en figma.
para eso dale al botón PLAY que esta en la esquina superior derecha

y cuando te aparezca la página entera, ve haciendo capturas a medida que bajas. (yo he reducido el zoom al 50% para que me quepa más en cada screenshot)

Ahora, mueve todos los screenshots a la carpeta /Users/admin/Documents/antigravity_workspaces/keruve_landing_page/figma_landing_page_screenshots

y numera las imagenes por orden

  • Abre Google antigravity
  • abre el workspace en la carpeta:
    /Users/admin/Documents/antigravity_workspaces/landing_page/
  • entra en la carpeta:
    /Users/admin/Documents/antigravity_workspaces/keruve_landing_page/figma_landing_page/src/app/components/ui
    y deja solo estos componentes básicos (el resto no son críticos y mareará a Gemini).

    Si en tu diseño hay algun elemento muy especial y critico, déjalo también en los componentes de la carpeta ui/

Ahora en Google Antigravity

abre el workspace /Users/admin/Documents/antigravity_workspaces/landing_page/

en Agent Manager, escribe este prompt:

Tengo este código principal de una landing page en React en la carpeta figma_landing_page/ (Utiliza varios componentes externos como iconos de lucide-react, un acordeón, etc.).

En la carpeta figma_landing_page_screenshots/ tienes screenshots de la landing page (en modo escritorio), para que veas el diseño. Son varios screenshots de la pagina haciendo scroll, desde el Hero que empieza por el numero "1", hasta el footer que termina por el numero "10". Si tienes dudas sobre a que seccion corresponde cada imagen, solo tienes que comprobar el texto.

Necesito que conviertas este código en un único archivo HTML5 index.html que use Tailwind CSS vía CDN.

Simplifica el código: sustituye los componentes importados por HTML estándar equivalente y recrea el diseño visual usando las clases de Tailwind que ya están en el código. No quiero dependencias de React, solo un index.html funcional.

En la carpeta ui tienes los componentes principales, si crees que necesitas algún componente crítico, dímelo y te lo añado a la carpeta.

Los 7 tipos de contenido en redes sociales para empresas

REGLA DE HORO:
Antes de publicar, piensa: «si yo fuera un potencial cliente que me estuviera siguiendo, ¿me parecería interesante este post?»

La reina de las categorías es contenido de ENTRETENIMIENTO, y es para lo que están principalmente optimizado los algoritmos de ranking/promoción de publicaciones de las redes sociales. El resto de categorías que también funcionan tienen igualmente una componente de entretenimiento.

TRUCO:
Mientras más embobado dejes a al que vea tu post, mejor te valorará el algoritmo de la red social, y más enseñará tu post.

Estos son las principales categorías de posts que podías publicar en tus redes sociales:

Entretenimiento – multimedia:
videos virales, chistes, memes, cómics, rompecabezas y concursos/regalos1.

Entretenimiento – juegos:
Incluye preguntas, espacios en blanco para completar, subtítulos para fotos y encuestas1.

Entretenimiento – reality:
Trastienda, videos del equipo, reuniones del equipo, videos de almuerzos del equipo, características de empleados o clientes1.

Inspiracional: Aquí se encuentran las citas, datos interesantes, historias personales y características de empleados o clientes1.

IMPORTANTE:
Dile a tu expectador que es lo que quieres que haga. ¿Quieres que te sigan? díselo. ¿Quieres que te dejen un comentario? díselo. No le digas que haga más de dos cosas, ponle las cosas fáciles, que no tenga que pensar que hacer.

Educacional:
Enseña/forma sobre temas que tus potenciales clientes seguramente están interesados. Normalmente relacionado con tu sector, pero pudiera ser también sobre de interés para tu perfil de cliente objetivo.
Ejemplos: Tutoriales, como hacer …., consejos y trucos.

Promocional:
Cualquier publicación que sea de un producto que vendes. Siempre que puedas, deben de ser publicaciones interesantes para tus potenciales clientes.
webinars, productos, descuentos y servicios1.

Testimonios:
Testimonios de clientes, reseñas de productos

Get Instagram Access Token for PHP

In this Article I will explain how I successfully migrated a forum from PHPbb to BBpress in 5 minutes. It was easiest than I ever thought. After migrating to BBpress I just add few lines of code in a template file of phpBB to make a clean SEO redirect to the new forum. All worked like charm.

Be careful: Why to move from phpBB to BBpress?

I supose you already spend some time taking this decision, but remember this quick comparison phpBB Vs BBpress:

«bbpress is SIMPLICITY», «PHPbb is POWERFUL».

if you want to migrate a small starting community from phpBB to BBpress, it’s OK, if you want to migrate a large big community, maybe users will not understand the lack of functionality they are used to have in your phpBB forum.

In my case, I did a migration of a phpBB forum to wordpress BBpress because it was a in the early days of the creation of a community, the simplicity benefit of bbpress, worpress blogging integration, and the flexibility to add and mould the website towards the needs of the future community.

The migration from phpBB to BBpress:

STEP 1.- Installation of bbpress (Skip if you already installed it):

  • Install wordpress,
  • settings–> permalinks –>select post name

Captura de pantalla 2016-02-27 17.45.30

settings to migrate phpbb to bbpress

 

  • install bbpress
  • settings–> forums –>configure as I show in the screenshot

bbpress configuration

migrate phpbb to bbpress: configure bbpress like this

STEP 2.- And the only one step to migrate from phpbb to bbpress is:

TIPS:
1.- choose a different URL for the new forum. for example, if you used /forum/ in phpBB, use /forums/ in bbpress
2.- don’t delete your phpBB forum.
3.- as an extra, in phpbb you could disable registration of new users, and add a message in the /styles/prosilver/template/overall_header.html   file.

Preserving the SEO after moving from PHPbb to BBpress

It’s very easy!!!

and this is very important, not only to avoid penalizations, but to correctly direct potential users that come from SERP results in google to the new forum and don’t loose or frustrate visitors after the phpBB to BBpress migration.

STEP 3.- SEO 301 redirect

Open/edit:
/styles/prosilver/template/overall_header.html

search for:

// Send vars to template
$template->assign_vars(array(
‘FORUM_ID’ => $forum_id,

and just above this lines add this piece of code:

##################################
$titleac = trim($topic_data[‘topic_title’]);
$relativeurl = str_replace(‘ ‘,’-‘,$titleac);
$relativeurl = strtolower($relativeurl);
header(«HTTP/1.1 301 Moved Permanently»);
header(«Location: http://www.YOURDOMAIN.com/forums/topic/».$relativeurl.»/»);
#####################################

Links:
Comparison from the bbpress comunity point of view: https://bbpress.org/forums/topic/bbpress-vs-phpbb/
If this tutorial mof moving phpBB to BBpress was useful for you, please just let me know with a comment
Very very easy proven method.
I struggle a bit at the beginning,
search on Google and find the solution.

Sign up in Instagram api web

manage clients

captura-de-pantalla-2016-11-22-00-39-52

enable implicit OAuth
if you dont enable this you will get the error: «implicit authentication is disabled»

captura-de-pantalla-2016-11-22-00-36-05

 

open the URL :

https://api.instagram.com/oauth/authorize/?client_id=xxxxxxx5734135866xxxxxxxx&redirect_uri=http://abiliocaetano.com/instagram-redirect/&response_type=token

replace client_id with the client id you can find in «manage clients»

replace redirect_uri with the redirect_uri you can find in «manage clients»

 

captura-de-pantalla-2016-11-22-00-38-17

this web page will open

captura-de-pantalla-2016-11-22-00-37-52

Authorize

and it redirect to your web site with the token in the URL as a GET parameter.

http://abiliocaetano.com/instagram-redirect/#access_token=xxxxxxxx69a82fda4e2xxxxxxxx

copy the parameter value and you will have the Access Token.

 

Now you can use the Access Token inside your PHP script, or wherever you want to do your first tests.

SMD Capacitor Sizes

size of case capacitorsome smd capacitor sizesHere you have a list of available SMD capacitor sizes with respective codes.

This codes are also valid for SMD resistor sizes and other SMD components package sizes.

SMD Capacitor sizes in Inches

EIA CODE SMD Capacitor Size
1005 footprint 0.0157 in × 0.0079 in
0201 footprint 0.024 in × 0.012 in
0402 footprint 0.039 in × 0.020 in
0603 footprint 0.063 in × 0.031 in
0805 footprint 0.079 in × 0.049 in
1008 footprint 0.098 in × 0.079 in
1206 footprint 0.126 in × 0.063 in
1210 footprint 0.126 in × 0.098 in
1806 footprint 0.177 in × 0.063 in
1812 footprint 0.18 in × 0.13 in
1825 footprint 0.18 in × 0.25 in
2010 footprint 0.197 in × 0.098 in
2512 footprint 0.25 in × 0.13 in
2920 footprint 0.29 in × 0.20 in

SMD Capacitor sizes in Millimeters

EIA CODE Package size metric code (not used)
1005 smd 0.4 mm × 0.2 mm 402
0201 smd 0.6 mm × 0.3 mm 603
0402 smd 1.0 mm × 0.5 mm 1005
0603 smd 1.6 mm × 0.8 mm 1608
0805 smd 2.0 mm × 1.25 mm 2012
1008 smd 2.5 mm × 2.0 mm 2520
1206 smd 3.2 mm × 1.6 mm 3216
1210 smd 3.2 mm × 2.5 mm 3225
1806 smd 4.5 mm × 1.6 mm 4516
1812 smd 4.5 mm × 3.2 mm 4532
1825 smd 4.5 mm × 6.4 mm 4564
2010 smd 5.0 mm × 2.5 mm 5025
2512 smd 6.3 mm × 3.2 mm 6332
2920 smd 7.4 mm × 5.1 mm

 

capacitor sizes

Hope this small post about smd package sizes was useful for you.