Cuatro herramientas públicas en este blog. Un generador de llms.txt. Un sistema de imágenes generativas. Un buscador de grafo. Un juego de cartas interactivo con conceptos de GEO. Ninguna fue planeada como producto. Todas empezaron como algo que necesitaba resolver para mí mismo.

La diferencia entre construir para otros y construir para ti es que cuando construyes para ti no necesitas justificar la existencia de lo que haces. Lo necesitas. Lo construyes. Si después resulta útil para otros, lo publicas. Si no, sigue resolviendo tu problema.

llms.txt Generator: la hipocresía como motor

Estaba escribiendo posts sobre GEO y llms.txt cuando me di cuenta de algo incómodo: estaba hablando de un estándar que no sabía si funcionaba. Lo recomendaba sin haberlo implementado. Lo explicaba sin entender sus limitaciones reales.

Me sentí hipócrita. Así que dejé de escribir y me puse a construir.

El primer llms.txt que generé no se parece en nada al actual. Fue una pelea por ver hasta dónde podíamos lograr enviar datos en un formato que las IAs pudieran parsear. Probamos estructuras. Rompimos cosas. Descubrimos que lo que decía la especificación y lo que los modelos realmente leían no siempre coincidía.

Cuando el archivo funcionó en mi propio blog, lo siguiente fue natural: si yo tuve que resolver todo esto a mano, otros también van a tener que hacerlo. Así nació el generador. Una interfaz donde pones tu URL y te genera el archivo. Sin registro. Sin costo. Porque el valor no está en la herramienta. Está en no tener que pasar por las mismas peleas que yo pasé.

La herramienta existe porque me negué a hablar de algo que no había probado. Cogitare Debes aplicado a mi propio contenido.

Generative Identity: las fotos de stock están muertas

Cada blog necesita imágenes. Y cada blog termina en el mismo lugar: bancos de fotos de stock donde las mismas imágenes aparecen en miles de sitios. Un lector que ve una foto de stock que ya vio en otra web piensa "esto ya lo conozco" aunque nunca haya leído tu contenido. La imagen dice "genérico" antes de que el texto diga "original."

Quería algo que se sintiera vivo. Algo que fuera único por post, rápido de cargar, y que no dependiera de buscar imágenes manualmente para cada artículo.

La solución fue hacer que el contenido genere su propia imagen. El título se hashea con MD5. El hash llena una grilla de 32x32. La longitud del contenido determina el color. El resultado es un patrón visual único para cada post. Cambias una palabra en el título y el patrón completo cambia. Cada imagen pesa entre 2 y 8KB en SVG.

No empezó como un proyecto de generative art. Empezó como frustración con las fotos de stock. La función generate-image.php resolvía mi problema. Cuando la puse en GitHub como demo interactiva, descubrí que otros tenían el mismo problema.

Graph Search: los buscadores están mal hechos

Esto es personal. No entiendo los buscadores. Los uso porque no hay alternativa, pero siento que están mal hechos. Escribes un término, obtienes una lista ordenada por relevancia textual. Si el término no aparece literalmente en un post, ese post no existe para el buscador. Aunque esté profundamente relacionado.

Yo no pienso así. Pienso en conexiones. Un post sobre JSON-LD está conectado con un post sobre Cloudflare Agent Readiness que está conectado con un post sobre llms.txt. Cuando busco "JSON-LD", quiero ver esa cadena, no solo los posts que contienen la palabra.

El buscador de grafo empezó como la tabla post_connections que alimenta al auto-linker. 80 conexiones entre 52 posts. Esas conexiones existían para que un script de cron agregara links internos cada mañana a las 6AM. Nunca fueron pensadas como navegación visible.

Cuando conecté esas relaciones con una CTE recursiva en MariaDB y le puse una interfaz encima, lo que apareció fue un buscador que busca como yo pienso. No está completo. Pero es más cercano a cómo conecto ideas que cualquier caja de búsqueda tradicional.

GEO Tarot: quería jugar al GEO

Tenía 22 conceptos de Generative Engine Optimization que necesitaba explicar. Definiciones técnicas. Implementaciones específicas. Datos de respaldo. La forma obvia era una lista o una guía larga. Pero no quería escribir otra guía larga que nadie termina de leer.

Estaba pensando en cómo explicar conceptos complejos de forma simple cuando encontré que los juegos de cartas son una de las formas más antiguas de transmitir conocimiento en la historia humana. Las cartas del tarot no son solo un juego. Son un sistema de arquetipos que codifica ideas complejas en imágenes simples.

Conecté las dos cosas. 22 conceptos de GEO. 22 arcanos mayores. Cada carta mapea un concepto a un arquetipo. El Hierofante es llms.txt (el guardián del conocimiento). El Emperador es el Knowledge Graph (la estructura que organiza). Los Amantes son Content Negotiation (la relación entre formatos).

No es una herramienta de productividad. Es una forma de jugar con conceptos técnicos. De explorarlos de a uno en vez de leerlos todos de corrido. Nació porque quería hacer que aprender GEO fuera divertido. Primero para mí. Después para quien lo encuentre.

El patrón

Las cuatro herramientas siguen el mismo camino. Un problema personal que me frustra. Una solución construida para resolverlo. Un momento donde descubro que el problema no es solo mío. Una decisión de publicar la solución sin cobrar ni pedir registro.

Ninguna tuvo un business plan. Ninguna tuvo un estudio de mercado. Ninguna fue validada con usuarios antes de construirse. Fueron construidas porque yo las necesitaba. Que otros las usen es un efecto secundario, no un objetivo.

Creo que las mejores herramientas nacen así. No de "¿qué puedo vender?" sino de "¿qué necesito que no existe?" La diferencia es que la primera pregunta requiere validación externa antes de construir. La segunda requiere solo que el problema sea real. Y si el problema es real para ti, probablemente es real para alguien más.

Lo que todavía no es herramienta

Hay funciones en este blog que siguen siendo internas. El AI Radar que registra qué bots visitan el sitio. El auto-linker que conecta posts cada mañana. El sistema de contenido adaptativo que muestra versiones diferentes según quién lee. El endpoint WebMCP que devuelve el grafo en JSON-RPC 2.0.

Todas son funciones internas que resuelven problemas míos. Algunas se convertirán en herramientas públicas. Cuáles y cuándo depende de si el problema que resuelven es solo mío o de alguien más. No tengo prisa por averiguarlo.

Las herramientas que valen la pena no se planean. Se descubren. Construyes para ti. Si funciona, lo publicas. Si no, aprendiste algo. En los dos casos, el problema se resolvió.