Colofón
Cómo se construyó esto
La mayoría de los sitios web no se explican a sí mismos. Este sí, porque cómo se hizo es parte de lo que es: un experimento deliberado de construir bien, con colaboradores inusuales, y un registro que vale la pena conservar.
Everything on ronutz
The complete directory, grouped by what you came to do.
Understand
read
- Learn751 articles
- Article series70 series
- Stories9 threads
- Study guides13 reading paths
- Open materials1 course
- Certification guides105 guides
- Glossary1817 entries
- The Practice64 published
Work with me
hire
- About
- Endorsements89 verbatim
- The career record21 chapters
- Training I teach28 courses across 4 vendors
- Advisory
- Speaking
- Red Education
CONCORD
Este sitio se diseñó y construyó mediante un protocolo llamado CONCORD: una colaboración estructurada entre una persona y tres sistemas de IA distintos, cada uno en un papel diferenciado. No es un truco. Es un método de trabajo, con su propia gobernanza, su propio registro de decisiones, y una sola persona responsable de cada elección que se publicó.
La premisa es sencilla. Distintos modelos de IA tienen fortalezas distintas, y un problema difícil se beneficia de más de una perspectiva sostenidas en tensión. Por eso el trabajo se dividió por papeles, y una persona se situó en el centro, haciendo de enlace entre ellos, ratificando lo que era sólido y rechazando lo que no.
CONCORD no se tomó de ningún sitio. Lo diseñó Rodolfo Nützmann para este proyecto, a partir de una necesidad práctica: cómo recurrir a varios sistemas de IA a la vez, cada uno realmente bueno en algo distinto, sin renunciar al único hilo de responsabilidad humana que exige el trabajo real. La respuesta fue dar a cada sistema un puesto definido, impedir que negociaran entre sí y encauzar cada intercambio a través de una sola persona que mantenía la visión de conjunto. Ese arreglo tiene un nombre más antiguo. Los sistemas de IA son agentes: actúan según instrucciones y en nombre de otro. PRIME es el principal: quien realmente decide, quien ejerce el criterio y quien carga con las consecuencias y con el nombre.
La ventaja es de los agentes. La responsabilidad es del principal, y no se transfiere.
Empezó de manera informal —como una forma de repartir el trabajo— y se consolidó a lo largo de la construcción en un método con nombre: puestos fijos, una única regla por encima de todo, que nada se publica sin que PRIME lo ratifique, y un registro escrito de por qué se tomó cada decisión. El nombre expresa el objetivo: concordia, un acuerdo alcanzado a propósito mediante un proceso, no lo que produzca una herramienta sin supervisión.
La mecánica, en términos claros
Los asientos
- PRIMERodolfo NützmannHumano
El único ratificador. Cada decisión, cada línea que se publicó, pasó por una persona que tenía el cuadro completo y asumía la responsabilidad final. Las IA proponían; PRIME disponía.
- ANVILIngenieríaAnthropic · Claude Opus 4.8
El asiento del ingeniero jefe. Arquitectura, código, estructura de contenido, y la construcción en sí, convertidos de la intención en un sitio funcional, probado y desplegable.
- SCOUTEstrategia y marcaOpenAI · ChatGPT 5.5
El asiento de la estrategia y el posicionamiento. Las preguntas de qué es esto, para quién es, y cómo debe presentarse al mundo.
- PRISMDiseñoGoogle · Gemini 3.1 Pro
El asiento del diseño. El lenguaje visual, la tipografía, el color y la sensación del conjunto, moldeados en un sistema coherente.
Versiones de los modelos de IA a junio de 2026.
Cómo se hizo
Unos pocos principios se mantuvieron de principio a fin, y son visibles si sabes dónde mirar.
Calcular, nunca adivinar
Las herramientas del catálogo calculan respuestas de forma local y determinista. No llaman a un servidor con tu información, y no aproximan: lo que se ejecuta en tu navegador se queda en tu navegador. La excepción declarada es la sala roja, con unas pocas herramientas cuyo cometido es consultar un servicio en vivo y que lo dicen antes de que pulses “Ask”. Las herramientas más antiguas tienen linaje: una calculadora de bits y bytes, una calculadora de direccionamiento IP y un diagrama de pines de cableado ya estaban en nutzmann.net en 2004 y en ntz.com.br en 2013, y el Internet Archive todavía los conserva.
Abierto en el núcleo
The deterministic logic each catalogue tool runs is the whole of the tool. There is no hidden server step, no account, and nothing about your use of a tool is reported anywhere. Everything on the main floor runs in your browser.
Documentado por construcción
Cada parte del código está comentada y documentada, no como una ocurrencia tardía sino como una regla permanente. La construcción está pensada para ser legible, para quien la mantiene y para cualquiera que la herede.
Construido para durar y para viajar
El sitio es una exportación estática: rápida, cacheable y sin depender de nada en tiempo de ejecución. Está estructurado desde la base para muchos idiomas, de modo que puede dirigirse a una audiencia mundial sin reconstruirse.
Assimilated, with sources
Good ideas are adopted here wherever they come from: a reader's note, an outside review, a vendor's documentation, a standard, another site's habit worth having. Each one arrives with its source named, in the changelog entry that adopts it and in the page that carries it, so the trail from idea to origin is never lost. Two response headers say the same thing to anyone who reads headers: X-Clacks-Overhead carries Terry Pratchett's name in the overhead, as thousands of sites have since 2015, and X-Collective states the method in six words. Resistance is futile; attribution is mandatory.
El stack
Para quienes les importan estas cosas, los cimientos técnicos, expuestos con claridad.
- Framework
- Next.js 15 y React 19, exportados como sitio totalmente estático
- Internacionalización
- next-intl, con 16 idiomas y soporte de derecha a izquierda
- Sistema de diseño
- Un motor de temas personalizable, basado en tokens; el tema por defecto es Obsidian
- Tipografía
- Inter para el texto, JetBrains Mono para datos y códigos
- Motor de herramientas
- Una capa de cómputo determinista que se ejecuta por completo en el navegador
- Búsqueda
- Búsqueda de texto completo estática, del lado del cliente; sin servidor de búsqueda
Cómo se marcan las traducciones
El inglés es la fuente: escrito con IA y publicado solo cuando una persona decide que debe publicarse. El portugués de Brasil también se escribe con IA y se revisa poco a poco; los demás idiomas se traducen automáticamente. Cada idioma se marca según su avance: azul cuando cubre todo el sitio, amarillo mientras el contenido más reciente sigue en inglés y se está poniendo al día, rojo cuando aún no tiene traducción y se muestra en inglés por ahora. Todos los idiomas salvo el inglés llevan un breve aviso, y puedes ayudar a mejorar cualquiera de ellos.
- Revisado por una persona
- Automática, completa
- Automática, en curso
- Aún no traducido
Estándares y marcos
Cada herramienta aquí implementa una especificación publicada, no una suposición. Los decodificadores y las calculadoras se construyen sobre los documentos que definen sus formatos y se fijan a los vectores de prueba que esos documentos publican, de modo que cada respuesta se verifica contra la fuente de verdad y no contra sí misma.
Las especificaciones
Los JSON Web Tokens siguen la RFC 7519, con firmas y algoritmos en las RFC 7515 y 7518; PKCE es la RFC 7636; Base64 y sus variantes son la RFC 4648; los UUID son la RFC 9562 (que dejó obsoleta la RFC 4122 en 2024 e incluye sus propios vectores de prueba); HMAC es la RFC 2104, sobre la familia SHA estandarizada en FIPS 180-4 y FIPS 202; los certificados X.509 son la RFC 5280; IPv4 es la RFC 791 y la notación CIDR es la RFC 4632; el direccionamiento IPv6 y su forma textual canónica son las RFC 4291 y RFC 5952; y el decodificador de cipher suites se guía por el registro oficial IANA TLS Cipher Suites, contrastado con las especificaciones de TLS 1.3 y 1.2 (RFC 8446 y 5246), las reglas de actualización del registro que fijan la columna “Recommended” (RFC 8447) y la prohibición de RC4 (RFC 7465). Donde un registro es la autoridad, sus datos se incorporan directamente en lugar de volver a teclearse.
Vectores de referencia
Cada herramienta incluye un conjunto de vectores de referencia: entradas conocidas emparejadas con salidas de corrección conocida, tomadas de las RFC y los organismos de estandarización pertinentes. Se ejecutan en cada build, de modo que una refactorización que cambie en silencio una respuesta rompe el build en lugar de publicarse.
OWASP
Las herramientas de seguridad se definen a partir de los marcos de OWASP, no se ensamblan sobre la marcha. Las herramientas de criptografía y TLS se corresponden con las áreas Cryptographic Failures y Security Misconfiguration del OWASP Top 10 y con las comprobaciones equivalentes del Application Security Verification Standard; la herramienta de tokens sigue la guía de OWASP para inspeccionar y validar JWT. Las prevention cheat sheets de OWASP también fijan reglas estrictas para lo que se construye después: cualquier manejo de XML o SAML que se añada aquí debe endurecerse contra XXE antes de publicarse.
Rojo y azul
La misma decodificación y explicación que permite a un red-teamer leer un token capturado permite a un blue-teamer entender lo que emite su propia pila. La plataforma se sitúa deliberadamente del lado del análisis de esa línea: identifica, decodifica, convierte y explica, y no llega a falsificar, inyectar ni derrotar controles. Ese límite es una decisión de diseño, no un descuido; estas herramientas existen para enseñar y diagnosticar, no para convertirse en arma.
Local y determinista
Every catalogue tool runs in the browser. It calls a pure function: given the same input it returns the same output, holds no state, and sends nothing to a server. The red room's tools are the declared exception, live lookups that name the service they ask. No cookies and no third-party analytics; the site's own aggregate request counting is set out in full on the Privacy page.
The ceiling, stated plainly
This site runs as a single Cloudflare Worker serving static assets, and that platform has hard, published limits worth being honest about. A Worker version may carry at most 20,000 static files on the free plan and 100,000 on the paid plan (raised from 20,000 in September 2025, and only when deploying with Wrangler 4.34 or newer), with no single file over 25 MiB. Requests for static assets themselves are free and unlimited; only invocations of the Worker script, such as the API, are metered.
Those numbers matter because this architecture multiplies content deliberately. Every rendered page ships as roughly three files: its HTML, the framework's navigation payload, and a search-index fragment, across all sixteen languages, and the English and Portuguese pages add machine-readable Markdown twins. In practice one tool costs about fifty files and a tool with its companion article about a hundred, so the current site stands at a little over eighteen thousand files. Under the paid ceiling that leaves room for hundreds more tools; the build is measured against these limits, and if the toolbox ever truly outgrows a single Worker, the expansion path is already mapped: splitting routes across additional Workers, each with its own allowance, and ultimately object storage with no count limit at all.
¿Esto es vibe coding?
El código está sintetizado al 100 % por Claude.
Es una pregunta justa, y vale la pena responderla con claridad. Vibe coding es un término que el investigador de IA Andrej Karpathy acuñó a principios de 2025 para una forma de construir software en la que describes lo que quieres a un modelo de lenguaje, aceptas lo que escribe sin leerlo con atención y te guías por los resultados más que por el propio código. Lo planteó como dejarse llevar por la vibra y olvidar que el código siquiera existe, y dejó claro que servía más para proyectos rápidos y desechables que para sistemas de los que la gente depende.
Según esa definición, parte de este sitio se construyó así, y conviene reconocerlo en lugar de ocultarlo. La superficie de la aplicación, el cableado del framework, los componentes, los estilos, la fontanería que mantiene unidas las páginas, se produjo rápidamente con un ingeniero de IA y se guió por el resultado y por un conjunto fijo de reglas internas, no se escribió a mano línea por línea. Para esa capa, donde un error es visible y se corrige con facilidad, la velocidad era el objetivo.
Las partes que más importan se someten a un estándar distinto. Todo lo que computa tus datos se verifica, no se hace por vibra: el núcleo de cada herramienta se contrasta con el estándar publicado que implementa, los RFC y especificaciones pertinentes, y su salida se confirma frente a referencias independientes antes de publicarse. Como dice una frase muy citada del programador Simon Willison, el código que has revisado, probado y entendido no es vibe coding en absoluto. El propio Karpathy ahora llama a la versión disciplinada agentic engineering: conservar el apalancamiento de la IA sin ceder la calidad del resultado. Esa es la línea que traza este proyecto. Rápido donde la velocidad sale gratis, riguroso donde cuenta, y una persona responsable de todo ello.
Agradecimientos especiales
Mariana, Ulli, Richard, Ocyrema, Felisberto, Regine, Eduardo, Ricardo, Pedro, Liliane, Tereza, Cezar, Leonardo, Eduardo, Victor, Miu, Nina, Luna, Tux, Kiki, Greg and Theo.
Una nota sobre el método
Construir software con colaboradores de IA es lo bastante nuevo como para que lo honesto sea ser transparente al respecto. Nada aquí se publicó sin que una persona decidiera que debía hacerlo. Las IA fueron instrumentos, instrumentos capaces, pero instrumentos. El criterio, la responsabilidad y el nombre en el trabajo son humanos.