Colofon
Hoe dit is gebouwd
De meeste websites leggen zichzelf niet uit. Deze wel, want hoe hij is gemaakt is deel van wat hij is: een bewust experiment in goed bouwen, met ongebruikelijke medewerkers, en een overzicht dat het bewaren waard is.
CONCORD
Deze site is ontworpen en gebouwd via een protocol genaamd CONCORD: een gestructureerde samenwerking tussen één persoon en drie verschillende AI-systemen, elk in een aparte rol. Het is geen gimmick. Het is een werkende methode, met een eigen governance, een eigen besluitenoverzicht, en één mens verantwoordelijk voor elke keuze die werd opgeleverd.
Het uitgangspunt is eenvoudig. Verschillende AI-modellen hebben verschillende sterktes, en een moeilijk probleem is gebaat bij meer dan één perspectief, in spanning gehouden. Het werk werd daarom verdeeld naar rol, en één persoon zat in het midden, schakelend tussen hen, bekrachtigend wat deugdelijk was en verwerpend wat dat niet was.
CONCORD is nergens vandaan overgenomen. Het is door Rodolfo Nützmann voor dit project ontworpen, vanuit een praktische behoefte: hoe je tegelijk een beroep doet op meerdere AI-systemen, elk echt sterk in iets anders, zonder de ene draad van menselijke verantwoordelijkheid op te geven die echt werk vereist. Het antwoord was om elk systeem een vaste zetel te geven, te voorkomen dat ze onderling onderhandelden en elke uitwisseling via één persoon te leiden die het geheel overzag. Die opzet heeft een oudere naam. De AI-systemen zijn agenten: ze handelen op aanwijzing en namens iemand anders. PRIME is de opdrachtgever: degene die werkelijk beslist, die het oordeel velt en die zowel de gevolgen als de naam draagt.
De hefboom ligt bij de agenten. De verantwoordelijkheid ligt bij de opdrachtgever, en die gaat niet over.
Het begon informeel – als een manier om het werk te verdelen – en verhardde gaandeweg de bouw tot een benoemde methode: vaste zetels, één overkoepelende regel dat er niets live gaat zonder dat PRIME het bekrachtigt, en een schriftelijke vastlegging van waarom elke beslissing is genomen. De naam benoemt het doel: eendracht, een bewust via een proces bereikte overeenstemming, en niet wat een onbeheerd hulpmiddel toevallig oplevert.
De werking, helder uitgelegd
De zetels
- PRIMERodolfo NützmannMens
De enige bekrachtiger. Elke beslissing, elke opgeleverde regel ging door één mens die het volledige beeld had en de eindverantwoordelijkheid droeg. De AI's stelden voor; PRIME beschikte.
- ANVILEngineeringAnthropic · Claude Opus 4.8
De zetel van hoofdengineer. Architectuur, code, inhoudsstructuur, en de build zelf, omgezet van intentie naar een werkende, geteste, implementeerbare site.
- SCOUTStrategie en merkOpenAI · ChatGPT 5.5
De zetel van strategie en positionering. De vragen van wat dit is, voor wie het is, en hoe het zich aan de wereld moet presenteren.
- PRISMDesignGoogle · Gemini 3.1 Pro
De zetel van design. De visuele taal, de typografie, de kleur en het gevoel van het geheel, gevormd tot een coherent systeem.
AI-modelversies per juni 2026.
Hoe het is gemaakt
Een paar principes golden van begin tot eind, en ze zijn zichtbaar als je weet waar je moet kijken.
Berekenen, nooit gokken
De tools op deze site berekenen antwoorden lokaal en deterministisch. Ze roepen geen server aan met je invoer, en ze benaderen niets. Wat in je browser draait, blijft in je browser.
Open in de kern
De deterministische logica die elke tool uitvoert, is de hele tool: er is geen verborgen serverstap, geen account en geen telemetrie. Alles draait in je browser.
Gedocumenteerd door constructie
Elk deel van de codebase is becommentarieerd en gedocumenteerd, niet als bijzaak maar als staande regel. De build is bedoeld om leesbaar te zijn, voor zijn onderhouder en voor iedereen die hem erft.
Gebouwd om te blijven en te reizen
De site is een statische export: snel, cachebaar, en op runtime van niets afhankelijk. Hij is vanaf de grond gestructureerd voor vele talen, zodat hij een wereldwijd publiek kan aanspreken zonder opnieuw te worden gebouwd.
De stack
Voor wie dat soort dingen belangrijk vindt, het technische fundament, helder benoemd.
- Framework
- Next.js 15 en React 19, geëxporteerd als volledig statische site
- Internationalisatie
- next-intl, met 16 talen en ondersteuning voor rechts-naar-links
- Designsysteem
- Een skin-bare, token-gebaseerde thema-engine; het standaardthema is Obsidian
- Typografie
- Inter voor tekst, JetBrains Mono voor data en codes
- Tool-engine
- Een deterministische rekenlaag die volledig in de browser draait
- Zoeken
- Statische full-text-zoekfunctie aan de clientzijde; geen zoekserver
Hoe vertalingen worden gemarkeerd
Engels en Braziliaans Portugees worden door een persoon geschreven en gecontroleerd. De meeste andere talen zijn machinaal vertaald en gemarkeerd op basis van hoe ver ze zijn: amber zodra een taal de hele site dekt, geel zolang nieuwere inhoud nog in het Engels is en wordt bijgewerkt. Talen die rood zijn gemarkeerd, hebben nog geen vertaling en worden voorlopig in het Engels getoond. Machinaal vertaalde pagina's bevatten ook een korte melding, en je bent welkom om ze te helpen verbeteren.
- Door een mens nagekeken
- Machinaal, compleet
- Machinaal, in uitvoering
- Nog niet vertaald
Standaarden en frameworks
Elk tool hier implementeert een gepubliceerde specificatie, geen gok. De decoders en rekenmachines zijn gebouwd op de documenten die hun formaten definiëren en vastgezet op de testvectoren die die documenten publiceren, zodat elk antwoord wordt getoetst aan de bron van waarheid en niet aan zichzelf.
De specificaties
JSON Web Tokens volgen RFC 7519, met handtekeningen en algoritmen in RFC 7515 en 7518; PKCE is RFC 7636; Base64 en zijn varianten zijn RFC 4648; UUID's zijn RFC 9562 (die RFC 4122 in 2024 verving en eigen testvectoren bevat); HMAC is RFC 2104, over de in FIPS 180-4 en FIPS 202 gestandaardiseerde SHA-familie; X.509-certificaten zijn RFC 5280; IPv4 en de CIDR-notatie zijn RFC 4632; IPv6-adressering en de canonieke tekstvorm zijn RFC 4291 en RFC 5952; en de cipher-suite-decoder steunt op de officiële IANA TLS Cipher Suites-registry, vergeleken met de TLS 1.3- en 1.2-specificaties (RFC 8446 en 5246), de registry-updateregels die de kolom “Recommended” vastleggen (RFC 8447) en het RC4-verbod (RFC 7465). Waar een registry de autoriteit is, worden de gegevens rechtstreeks overgenomen in plaats van overgetypt.
Referentievectoren
Elk tool wordt geleverd met een set referentievectoren: bekende invoer gekoppeld aan bekend-correcte uitvoer, ontleend aan de relevante RFC's en normalisatie-instanties. Ze draaien bij elke build, zodat een refactor die stilletjes een antwoord verandert de build laat mislukken in plaats van uit te brengen.
OWASP
De beveiligingstools zijn gedefinieerd op de frameworks van OWASP, niet ad hoc samengesteld. De crypto- en TLS-tools sluiten aan op de onderdelen Cryptographic Failures en Security Misconfiguration van de OWASP Top 10 en op de bijbehorende controles van de Application Security Verification Standard; het token-tool volgt OWASP's richtlijn voor het inspecteren en valideren van JWT's. OWASP's prevention cheat sheets leggen ook harde regels vast voor wat hierna komt: elke XML- of SAML-verwerking die hier wordt toegevoegd, moet vóór uitlevering tegen XXE gehard zijn.
Rood en blauw
Hetzelfde decoderen-en-uitleggen waarmee een red-teamer een onderschept token leest, laat een blue-teamer begrijpen wat de eigen stack uitzendt. Het platform staat bewust aan de analysekant van die lijn: het identificeert, decodeert, converteert en legt uit, en gaat niet zover om te vervalsen, te injecteren of controles te omzeilen. Die grens is een ontwerpkeuze, geen vergissing; deze tools bestaan om te onderwijzen en te diagnosticeren, niet om een wapen te worden.
Lokaal en deterministisch
Alles draait in de browser. De tool roept een pure functie aan: bij dezelfde invoer geeft die dezelfde uitvoer, houdt geen toestand bij en stuurt niets naar een server. Geen cookies, geen analytics, zoals de Privacypagina volledig uiteenzet.
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.
Is dit vibe coding?
De code is 100% gesynthetiseerd door Claude.
Het is een terechte vraag, die een helder antwoord verdient. Vibe coding is een term die de AI-onderzoeker Andrej Karpathy begin 2025 bedacht voor een manier van software bouwen waarbij je aan een taalmodel beschrijft wat je wilt, aanneemt wat het schrijft zonder het nauwkeurig te lezen, en stuurt op resultaten in plaats van op de code zelf. Hij omschreef het als je laten meevoeren door de vibes en vergeten dat de code überhaupt bestaat, en was duidelijk dat het meer geschikt is voor snelle wegwerpprojecten dan voor systemen waarvan mensen afhankelijk zijn.
Volgens die definitie is een deel van deze site zo gebouwd, en dat kun je beter toegeven dan verbergen. De buitenkant van de applicatie, de bedrading van het framework, de componenten, de styling, het leidingwerk dat de pagina's bijeenhoudt, is snel tot stand gekomen met een AI-engineer en gestuurd op uitkomst en op een vaste set interne regels, niet regel voor regel met de hand getypt. Voor die laag, waar een fout zichtbaar en makkelijk te herstellen is, was snelheid het punt.
De delen die er het meest toe doen, worden aan een andere maatstaf gehouden. Alles wat je gegevens berekent, wordt geverifieerd, niet op gevoel gedaan: de kern van elk hulpmiddel wordt getoetst aan de gepubliceerde standaard die het implementeert, de relevante RFC's en specificaties, en de uitvoer ervan wordt vóór publicatie bevestigd aan de hand van onafhankelijke referenties. Zoals een veelgeciteerde uitspraak van de programmeur Simon Willison luidt, is code die je hebt nagekeken, getest en begrepen helemaal geen vibe coding. Karpathy zelf noemt de gedisciplineerde versie inmiddels agentic engineering: de hefboom van AI behouden zonder de kwaliteit van het resultaat op te geven. Dat is de lijn die dit project trekt. Snel waar snelheid gratis is, grondig waar het telt, en één mens verantwoordelijk voor het geheel.
Speciale dank
Mariana, Ulli, Richard, Ocyrema, Felisberto, Regine, Eduardo, Ricardo, Pedro, Liliane, Tereza, Cezar, Leonardo, Eduardo, Victor, Miu, Nina, Luna, Tux, Kiki, Greg and Theo.
Een noot over de methode
Software bouwen met AI-medewerkers is nieuw genoeg dat het eerlijke is om er transparant over te zijn. Niets hier is gepubliceerd zonder dat een mens besloot dat het zo moest zijn. De AI's waren instrumenten, capabele, maar instrumenten. Het oordeel, de verantwoordelijkheid en de naam op het werk zijn menselijk.