Naar de inhoud
Terug naar alle cases

AI-CASE

Dit portfolio

De site die je nu leest is zelf de case. Hij begon als template uit Lovable, ontwerp en code komen inmiddels uit Claude Code, het logo is gegenereerd, en het werk gaat pas na review naar productie. Het beheerscherm waarmee ik hem bijwerk hoort er ook bij.

Gepubliceerd op Geüpdate op

PERIODE
2026 - heden
GEBRUIKT
ClaudeVS CodeCanva

Het probleem

Een portfolio waarop staat dat ik met AI bouw, bewijst niets. Iedereen kan dat opschrijven. Het enige dat het onderscheid maakt tussen iemand die het doet en iemand die erover praat, is of het ding waar je naar kijkt zelf zo gemaakt is en of je kunt navertellen waar het misging.

De aanpak

De site begon op een template uit Lovable, en sinds de rebrand komen ontwerp en code uit Claude Code. Het logo is gegenereerd. Elke verhouding, van de schuinte van de letters tot de breedte van de steel, is een parameter in een script. Wil je iets veranderen, dan pas je de parameter aan en draai je het opnieuw, en dan kloppen de favicon en de social preview meteen mee.

De site doet nul verzoeken naar externe hosts. Lettertypen, iconen en logo's staan lokaal, en de bezoekersstatistiek is cookieloos en laadt vanaf het eigen domein. Daardoor is er geen cookiebanner nodig.

Al het werk aan de site gebeurt op een testomgeving en gaat pas na review naar productie. Wijzigingen aan het beheerscherm gaan sinds 26 augustus live na de eigen tests en een code review van Claude Code.

Hoe het ging

  1. Stap 01 ·

    Start op een template uit Lovable

    De site begon op 27 juli als template uit Lovable. Twee dagen later zette de bot van Lovable er op één dag zo'n 23 commits bovenop.

  2. Stap 02 ·

    Eigen merk, met de hand in code

    Elke prompt in Lovable begon opnieuw over kleur en indeling, en elke prompt kostte credits. Daarom legde ik mijn eigen merkidentiteit vast en schreef ik de rebrand met de hand in code, met nul Lovable-credits. Het logo komt sindsdien uit een script dat ik opnieuw draai als ik iets wil aanpassen.

  3. Stap 03 ·

    Naar Vercel en live op eigen domein

    Op 30 juli nam ik afscheid van de hosting van Lovable en verhuisde de site naar Vercel. Dezelfde dag stond hij live op het eigen domein. In dezelfde ronde verwerkte ik feedback op het portfolio en kwamen de tijdlijn, foto's, sliders voor mobiel, SEO en bezoekersstatistiek erbij.

  1. Stap 04 ·

    Casepagina's in twee talen

    Op 5 en 6 augustus haalde ik de content los van de code, in bestanden die tijdens de build gecontroleerd worden, zodat een beheerscherm later de tekst kon schrijven. Op 7 augustus kregen de cases eigen pagina's in twee talen en kwam er een vierde case bij. Claude Code herschreef de sitecopy in mijn stem, en in een blinde ronde koos ik vier van de vijf herschreven fragmenten.

  2. Stap 05 ·

    Mobiele ronde en een security review

    Onder de 768 pixels kreeg de site een uitklapmenu, secties werden accordeons en knoppen kregen grotere aanraakvlakken. In dezelfde ronde ging de site door een security review.

  1. Stap 06 ·

    Eigen beheerscherm live

    Op deze site staat dat werk pas na review live gaat, dus dat moest ook voor mijn eigen beheerscherm gelden. Een kant-en-klaar CMS viel af, omdat dat als portfoliowerk niets bewijst. Sinds 13 augustus staat het eigen beheerscherm op /admin, en niets daaruit gaat live zonder review.

  2. Stap 07 ·

    Een illustratie bij elke case

    Tot half augustus had geen enkele case een beeld, alleen kleine toolicoontjes. Op 16 augustus kreeg elke case een illustratie in een getekende stijl, op het overzicht en in de teaser op de homepage.

  3. Stap 08 ·

    Van beheerscherm naar editor en paginabouwer

    Tussen 16 en 26 augustus groeide het beheerscherm uit tot een editor met live voorvertoning, een bibliotheek met blokken en een paginabouwer. Sinds 26 augustus gaan wijzigingen aan het beheerscherm naar productie na de eigen tests en een code review van Claude Code.

  1. Stap 09 ·

    Herontwerp, teruggedraaid en opnieuw live

    Op 30 augustus ging een volledig herontwerp van site en beheerscherm live voordat ik het gezien had. Dezelfde dag ging het op mijn aanwijzing weer van productie af, en volgden de ontwerprondes alsnog op de testomgeving. Ik wilde de klassieke header terug, gaf daarna de go op versie 6, en op 1 september ging die naar productie.

Het resultaat

Twee talen, geen externe verzoeken, en de content staat los van de code. Alle tekst zit in een apart bestand dat tijdens de build gecontroleerd wordt tegen een model. Klopt er iets niet aan de inhoud, dan is er geen build en dus geen deploy. Sinds 13 augustus werk ik de site bij via een eigen beheerscherm, zonder dat dat een codewijziging is, en inmiddels is dat een editor met live voorvertoning, een bibliotheek met blokken en een paginabouwer. Site en beheerscherm draaien sinds 1 september op een volledig nieuw ontwerp.

Wat er misging

Drie fouten zijn het navertellen waard, en ze zijn precies het punt van deze case.

Bij het lostrekken van de content bouwde ik de controle in op de plek waar de pagina zijn tekst inleest. Netjes bedacht, en fout, want die code draait ook in de browser. Zo reisde de complete validatiebibliotheek mee naar elke bezoeker. 58 kilobyte om gegevens te controleren die op dat moment allang goedgekeurd waren, op een site waarvan de hele opzet is dat hij geen byte te veel laadt.

Hij kwam boven doordat ik na de build in de uitvoer keek wat er daadwerkelijk in zat.

En precies daarom vond ik dezelfde fout een dag later nog een keer, in een andere vorm. De casepagina's waren nieuw, en om de lijst op de voorpagina te vullen laadde ik alle cases in. Dus stond de volledige tekst van elke case, in beide talen, in het bestand dat je binnenhaalt als je alleen de voorpagina opent. Dat was 68 kilobyte, waarvan 89 procent daar nooit op het scherm kwam. Met elke case die er nog bij zou komen, zou dat verder oplopen. Nu haalt de voorpagina alleen de titels en de samenvattingen op, en komt de tekst van een case pas binnen als je hem opent.

De eerste keer was een misser. De tweede keer, binnen een week, was een patroon. Ik stuur standaard te veel mee omdat het in de code netter oogt.

De derde fout is van 30 augustus. Een volledig herontwerp van site en beheerscherm ging live voordat ik het gezien had, terwijl de afspraak is dat zoiets eerst op de testomgeving staat en aan mij wordt voorgelegd. Dezelfde dag ging het op mijn aanwijzing weer van productie af. Na een paar ontwerprondes, waarin ik onder meer de klassieke header terug wilde, gaf ik de go op versie 6, en die staat sinds 1 september live.

Andere cases