Recruiters in Amsterdam openen geen GitHub-profiel met veertig forks van tutorials. Zij openen een repo die start, die een keuze uitlegt, en die niet rookt van lorem ipsum. NLCodeCraft Frontend Academy rondt cohorts af met een portfoliochecklist; dit artikel is de toelichting die Mark van Leeuwen naast de Checklists legt, zodat u weet waarom wij een cryptocurrency-dashboard als enige stuk werk weigeren.

Minimale lat: één applicatie met echte staten (laden, leeg, fout), Nederlandstalige of nette tweetalige UI, TypeScript strict in úw bestanden, en een README die installatie, scripts en compromissen noemt. Compromissen zijn geen zwakte. “Ik heb geen backend, dus de API is gemockt met dit contract” is seniorer dan een fake-login die alles groen kleurt.
Wat recruiters scannen in de eerste dertig seconden: startcommando, mapstructuur, of er tests zijn voor de kritieke flow, of toegankelijke namen in de UI zitten. Wat zij niet scannen: uw commit-grafiek als groen vuurwerk. De Testing-module bestaat zodat die dertig seconden niet in stilte eindigen.
Schrijf 400 woorden alsof u een PR toelicht aan een lead die geen tijd heeft. Waarom deze state-unie? Waarom geen context voor thema? Wat zou u volgende sprint refactoren? Die laatste zin is goud. Mensen die geen volgende sprint zien, hebben een huiswerkstuk, geen vak.
## Keuzes
- UI-staat als unie, geen isLoading+error naast elkaar
- Mock-API achter /api met hetzelfde type als productie zou hebben
- E2E alleen op de intake-reis
Publiceer niet wat u niet mag publiceren. Bedrijfscode hoort niet in een portfolio, ook niet “even geanonimiseerd” met nog herkenbare interne routes. Bouw de academy-briefing of een eigen mini-dienst. Craft is ook weten waar het eigendom ligt.
Als u na dit stuk denkt: ik heb drie demo’s en geen toelichting — begin bij de toelichting, niet bij een vierde demo. De intake aan de Wibautstraat duurt korter als het bewijs spreekt. Dat is het punt van een academy die portfolio als review ziet, niet als Instagram. Recruiters in Amsterdam hebben weinig tijd en veel vergelijkbare juniors. Wat u onderscheidt is niet een extra library in package.json, maar of u een lege staat en een foutgrens als vanzelfsprekend hebt gebouwd.
Oefen de toelichting hardop. Twee minuten. Als u blijft hangen op “het is gewoon React”, was de keuze toevallig. Toevallige keuzes zijn geen portfolio. Zij zijn huiswerk dat nog een review nodig heeft — precies waar NLCodeCraft Frontend Academy de afronding op legt.