Een adviesraad die laat zien wat hij bereikt
Van pdf's om te downloaden naar een site waarop 75 adviezen samenkomen in acht dossiers, met wat ze in de stad veranderden.
- Documenten en data
- Open data
- Interface ontwerp

- Opdrachtgever
- Website
- Platform
- Jaar
Sportraad Amsterdam in twee minuten
De Sportraad Amsterdam adviseert het stadsbestuur sinds 1952 over sport en bewegen, gevraagd en ongevraagd. De raad organiseert ook debatten, zoals de Hot Games in De Balie, en reikt elk jaar de Penning uit. Wij bouwden de nieuwe site. Daarop lees je alle 75 adviezen, en acht dossiers laten zien wat ze in de stad veranderden.
- Astro
- Content Collections
- Markdown
- Tesseract OCR
- pdftotext
- face-api
- llms.txt
- Cloudflare Pages
In het kort
- 75
- 73
- 8
- 142
- 808
Wat er lag
Negentien jaar adviezen stonden op de oude site als pdf om te downloaden, en zeven waren alleen een scan zonder tekst. Wat een advies daarna in de stad teweegbracht, stond nergens bij elkaar. In 2027 bestaat de raad 75 jaar, en dan wil hij laten zien wat hij bereikt. De opdracht: maak elk advies leesbaar zonder één woord te veranderen. En laat zien hoe adviezen door de jaren samenhangen met wat de stad besloot.
Drie details die het verschil maken



Het product in zes schermen

De homepage: wie de raad is als kop, en de raad zelf direct eronder. 
Het archief: 75 adviezen, drie filters en één zoekveld. 
Een scan uit 2009 als lopende tekst, met leestijd en paginatelling, dicht tot je hem opent. 
De dossiers op de homepage, elk met sinds wanneer en hoeveel adviezen. 
Waar een dossier nu staat, met de getallen die uit zijn tijdlijn volgen. 
Onder de podcast: het dossier en het advies waar de aflevering over gaat.
Van losse pdf's naar acht dossiers
75 adviezen die je gewoon leest
Zoek je nu Het Grote Amsterdamse Buitenspeeladvies, dan opent het op de site, ook op je telefoon. Bovenaan staat de kern in één zin, daaronder de punten in het kort. Die twee staan bij alle 75 adviezen.
Bij 73 adviezen volgt de volledige tekst, dicht tot je hem opent, met de leestijd en het aantal pagina's. Een paneel naast de tekst schuift mee. Het laat zien waar je bent, met de pdf, vergelijkbare adviezen en het dossier waar het advies bij hoort.
Wie het uit heeft, vindt onderaan het volgende advies. De achttien thema's en tweeëndertig subthema's van de oude site gingen terug naar vijf.

692.457 letters, en geen woord veranderd
Zeven adviezen bestonden alleen als scan. Een script maakt van elke pagina een beeld op 300 dpi en kijkt eerst hoe die ligt. In een advies uit 2009 lagen drie pagina's op hun kant. Pas als een pagina recht staat, leest Tesseract hem met het Nederlandse taalmodel.
OCR maakt van Aanleiding soms Aanteiding. Zo'n fout verbeteren we niet stil. Elke correctie staat zichtbaar in de tekst, fout en goed naast elkaar, en bij de zeven scans zijn het er 96.
Daarna legt een controle elke tekst op de site naast de pdf, letter voor letter. Opbouw en leestekens mogen verschillen, elk woord moet gelijk zijn. Pas als hij slaagt, staat de tekst als gecontroleerd op de site. Zo zijn 73 teksten en 504 pagina's nagelopen, zonder één afwijking.
Een zichtbare kop kan nooit tekst toevoegen die niet in de pdf staat.

Acht dossiers, van advies tot besluit
Wat een raad bereikt, zie je pas over jaren. Daarom kregen acht onderwerpen die steeds terugkomen een dossier, van Buitenspelen en Zwemmen tot Vechtsport en Topsport. Samen gaan ze over 45 adviezen.
Elk dossier is een tijdlijn. Tussen de adviezen staan 142 momenten van buiten, uit 26 bronnen. Het zijn artikelen uit Het Parool, NRC en AT5, besluiten van de gemeente en stukken uit de gemeenteraad. Staat een artikel achter een betaalmuur, dan krijgt het een label.
Bij een besluit staat wat er daardoor veranderde, maar alleen als een bron het zegt. In 2014 noemde de stuurgroep vechtsport het advies Vechten voor ringsporten als aanleiding voor haar aanpak: regulering in plaats van verbanning.
Bovenaan elk dossier staat waar het onderwerp nu staat. Drie getallen uit de tijdlijn vatten het samen: het eerste advies, het aantal adviezen en de jaren op de agenda.

Van een advies naar het dossier, en verder
Een advies noemt zelf zijn dossier, in één regel bovenin het bestand. Daarna staat het vanzelf op de tijdlijn, met een tag op zijn kaart en in het paneel naast de tekst. Een tikfout in die regel laat de site niet bouwen.
Zo lees je door. Vanuit een advies kom je in het dossier, en vanuit het dossier bij de andere adviezen en het volgende dossier. Zoek je op zwem, dan staat het dossier Zwemmen boven de losse adviezen.
Voor wie beleid maakt of erover schrijft, heeft elk dossier vier vragen, zoals wat de Sportraad bereikte op het gebied van topsport. Een eigen pagina, Sportbeleid in Amsterdam, zet ernaast wie waarover gaat. Het college maakt het beleid, de Sportraad adviseert en de gemeenteraad besluit.

Zeven Hot Games, weer te zien
De Hot Games zijn de debatavonden van de Sportraad in De Balie, sinds 2015. De opnames stonden verspreid over de YouTube-kanalen van De Balie en de Sportraad. We zochten ze bij elkaar: zes livestreams en drie samenvattingen.
Op Opinie & Debat heeft elke avond met een opname nu een eigen pagina, met het thema en de video. Die video laadt pas na een klik, in de privacyvriendelijke speler van YouTube. Tot die klik gaat er niets naar YouTube.
Elke pagina draagt gegevens voor zoekmachines als evenement en als video, met de datum en De Balie als plek. Twee Hot Games staan ook op een tijdlijn: de eerste bij Vechtsport, de laatste bij Bewegen op school.

Een podcast die op de tijdlijn landt
Op 14 oktober 2026 begon de Sportraad een podcast, Studio Sportraad. Aflevering 1 gaat over vechtsport in Amsterdam. En over het advies dat de raad gaf toen burgemeester Van der Laan de vechtgala's uit de stad wilde weren.
De aflevering kreeg een eigen pagina, met YouTube, Spotify en Apple Podcasts. Onder de aflevering staan het dossier Vechtsport en het advies uit 2011. Op de tijdlijn van dat dossier staat hij als moment, tussen de besluiten en de pers.
Zo komt nieuw werk vanzelf op de goede plek terecht, ook als het geen advies is.

Drie oude sites, en hun links werken nog
Van drie oude sites stonden nog adressen in Google: de WordPress-site, een site van rond 2009 en een van 2012 tot 2017. We haalden ze uit de sitemaps, de WordPress-API, de pdf-links en het Internet Archive.
Daaruit kwamen 808 vaste doorverwijzingen en 71 patronen, elk doel getoetst tegen de nieuwe site. Oude WordPress-links met alleen een nummer erin vangt een kleine functie op de server op, 188 stuks.
Voor AI-assistenten staat alles er nog een keer in platte tekst, in llms.txt. Elk advies draagt gegevens voor zoekmachines als rapport van de Sportraad. De 40 vragen bij de dossiers en op Sportbeleid staan als FAQ in diezelfde gegevens.
Een nieuw advies, en de rest gaat vanzelf
Een nieuw advies is één bestand plus de pdf. Is het een scan, dan leest één opdracht hem in. Pas als de controle slaagt, staat de tekst als gecontroleerd op de site.
Daarna verschijnt het advies vanzelf in het archief, op zijn dossier, bij de vergelijkbare adviezen, in llms.txt en in de sitemap. Ook de deelkaart voor LinkedIn of WhatsApp maakt een script, in de huisstijl. De foto erop wordt uitgesneden rond de gezichten. Gezichtsherkenning vond die in 100 van de 203 beelden.
Niets wordt twee keer ingevoerd. Wat de raad in zijn jubileumjaar schrijft, is straks ook gewoon één bestand en een pdf.

Wat we eruit hebben geleerd
- 01
Een adviesraad beoordeel je op wat hij bereikt. Losse adviezen zeggen wat de raad vond, en een dossier met wat er daarna gebeurde zegt wat hij bereikte. Daarom hangt het dossier naast elk advies, en staan de dossiers op de homepage.
- 02
Bouw de controle voordat je gaat opschonen. Tekst opmaken is honderden kleine beslissingen, en achteraf weet je niet meer welke goed gingen. Draait de controle mee vanaf de eerste tekst, dan weet je het na elke wijziging. Bij OCR geldt hetzelfde: een correctie die je ziet kun je nalopen, en een correctie die je niet ziet is een woord dat je hebt veranderd.
- 03
Zet bij impact alleen wat een bron zegt. Een raad leeft van vertrouwen, dus de regel Wat er veranderde staat er alleen met een bron erbij. Oorzaak en gevolg verzinnen we niet, ook als het verhaal er mooier van zou worden.
Letters en kleuren
- Koppen
- RBNo2.1a Black Italic
- Lopende tekst
- Inter
- #ff0000het enige accent: vlakken, lijnen, koppen
- #e60000links en labels op wit, voor genoeg contrast
- #1a1613tekst en donkere vlakken
- #f4f4f5de basis, om en om met wit per sectie
- #eeeef0alleen voor inzetjes binnen een sectie
- #ffffffkaarten en de andere helft van de afwisseling
- Eén accentkleur: rood, met zwart, grijs en wit. Geen tweede kleur, ook niet voor onderscheid.
- Rechte lijnen. Een rood vak met een ronde hoek krijgt bovenin een grijze kopstrook, met een rechte rode lijn eronder.
- Portretten altijd in zwart-wit, in één maat.
- Waarden uit de tokens en de ontwerpafspraken in de repo van de site, 30 september 2026.
Onder de motorkap
- Content
- Astro Content Collections
- Markdown
- Schema per collectie
- Eén woordenboek voor vaste tekst
- Inlezen
- pdftoppm op 300 dpi
- Tesseract (nld)
- Tesseract-OSD
- Controle
- pdftotext
- rapport-check
- Zichtbare OCR-correcties
- Beeld
- face-api
- sharp
- WebP
- Deelkaarten in headless Chrome
- Vindbaarheid
- llms.txt
- JSON-LD
- Sitemap met lastmod
- 808 redirects en 71 patronen
- Site en hosting
- Astro 4
- Lenis
- Cloudflare Pages
- Pages Functions
- GitHub
Voor wie verder wil lezen
Hoe het precies werkt
De controle vergelijkt alleen letters en cijfers in Unicode-normaalvorm.
De controle vergelijkt alleen letters en cijfers in Unicode-normaalvorm. Een andere spatie, een ander aanhalingsteken of een regelafbreking telt dus niet mee. Een ander woord laat de controle falen. Terugkerende voetregels van de oude pdf-sjablonen haalt hij er vooraf uit, net als losse paginanummers. Paginaversiering die per document verschilt, staat in dat document zelf als regel om weg te laten. Een halve regel weglaten kan niet.
Bij een scan past de controle eerst de gedocumenteerde correcties toe op de OCR-tekst. Staat de fout uit een correctie er niet letterlijk in, dan faalt de controle. Zo kan een correctie nooit ongemerkt iets anders raken.
De tijdlijn van een dossier bouwt zichzelf uit drie bronnen: de adviezen en berichten die het dossier noemen, en de momenten van buiten in het dossier zelf, van oud naar nieuw. Een dossier dat nog niet af is, zet je op concept. Dan verdwijnt het overal, en worden links ernaar gewone tekst.
Een script schrijft de doorverwijzingen uit de inventaris van de oude sites. Het weigert een regel waarvan het doel niet in de build bestaat. Ook zet het geen regel op een adres dat de nieuwe site zelf heeft, want op Cloudflare Pages gaat een doorverwijzing vóór een pagina.
Het script draait de gezichtsherkenning op een verkleinde versie van elk beeld. Gezichten die veel kleiner zijn dan het grootste slaat het over, zodat publiek op de achtergrond de uitsnede niet bepaalt. Heeft het script het mis, dan zet je in de uitvoer een eigen punt. Dat laat het daarna met rust.
Wat er open staat
Sinds 14 oktober 2026 draait de nieuwe site op sportraadamsterdam.nl, het adres van de oude.
Sinds 14 oktober 2026 draait de nieuwe site op sportraadamsterdam.nl, het adres van de oude. De adviezen, de dossiers en de doorverwijzingen gingen mee.
Publiceren gaat nu via bestanden in Git, die wij met Claude Code bijwerken. Na de oplevering krijgt de raad een eigen tool waarin hij tegen zijn site praat. Die proberen we nu uit op deze site.
Een idee voor daarna, nog niet gebouwd: Vraag het de Sportraad, een assistent die antwoordt uit de 73 gecontroleerde teksten, met de bron erbij. Omdat elke tekst aantoonbaar gelijk is aan de pdf, klopt de bron waar zo'n assistent uit citeert.
Wat is de Sportraad Amsterdam?
De onafhankelijke adviesraad voor sport en bewegen in Amsterdam. De Sportraad adviseert het stadsbestuur sinds 1952, gevraagd en ongevraagd. Hij organiseert debatten zoals de Hot Games in De Balie en reikt elk jaar de Penning uit.
Waarom verving de Sportraad Amsterdam zijn WordPress-site door een eigen platform?
In de WordPress-site was in de loop der jaren flink wat technische schuld gekomen, en de adviezen stonden er als pdf om te downloaden. Met het jubileum van 2027 in zicht moest de site laten zien wat de raad bereikt. Daarvoor was een update niet genoeg.
Wat is een dossier op de site van de Sportraad Amsterdam?
Een tijdlijn per onderwerp dat jaren terugkomt. Daarop staan de adviezen van de Sportraad, met daartussen besluiten van de gemeente, stukken uit de gemeenteraad en wat de pers schreef. Bij een besluit staat wat er veranderde, alleen met een bron. Er zijn acht dossiers: Buitenspelen, Zwemmen, Voetbalscholen, Sportnorm, Ruimte voor sport, Vechtsport, Bewegen op school en Topsport.
Is er iets veranderd aan de teksten van de adviezen van de Sportraad Amsterdam?
Nee. Een controle legt de tekst op de site letter voor letter naast de pdf. Opbouw, spaties en leestekens mogen verschillen, elk woord moet gelijk zijn. Pas als de controle slaagt krijgt een tekst het stempel gecontroleerd. Zo zijn 73 teksten en 504 pagina's gecontroleerd.
Kun je de Hot Games van de Sportraad Amsterdam terugkijken?
Ja. Op Opinie & Debat staan de Hot Games uit De Balie sinds 2015. Zes zijn terug te kijken, elk op een eigen pagina. De video laadt pas na een klik, en tot die klik gaat er niets naar YouTube.
Blijven oude links naar de sites van de Sportraad Amsterdam werken?
Ja. De adressen van alle drie de oude sites zijn verzameld en doorverwezen, met 808 vaste doorverwijzingen en 71 patronen. Oude WordPress-links met alleen een nummer vangt een functie op de server op. Elk doel is getoetst tegen de nieuwe build.
Kunnen AI-assistenten de adviezen van de Sportraad Amsterdam lezen?
Ja. Een llms.txt zet de raad, de dossiers en alle 75 adviezen met hun kernboodschap in platte tekst. Elk advies draagt structured data als rapport van de Sportraad. Alles komt uit dezelfde bron als de pagina's.
Wat we hier deden
- AI aan het werk zettenRoute
- Documenten en facturen automatisch verwerkenToepassing
- Intranet, CRM of backoffice op maatToepassing
- Maatwerk website laten makenToepassing
- Toegankelijkheid (WCAG)Dienst
- Testen & kwaliteitsbewakingDienst
- SEO, GEO & snelheidDienst
- Taalmodellen in je werkprocesDienst
- Slim zoeken in eigen documentenDienst
- Beeld- en documentherkenningDienst
