Studio Hyra University
Feedback op mijn website
Bouw een echte AI-app van nul. Stap voor stap. Vandaag live.
10 lessen · ~4-6 uur hands-on
Les 01
Zet het project op
Een nieuw Next.js-project met Claude Code erin. Klaar in tien minuten.
Open VS Code en de terminal
Open VS Code. Klik in de menubalk bovenaan op Terminal → New Terminal. Onderaan verschijnt een paneel. Hier typ je je commando's.
Claude Code installeren
Als je <strong>"npm. command not found"</strong> ziet:
Als je "npm. command not found" ziet:
- Ga naar nodejs.org
- Klik op de groene downloadknop
- Installeer het (klik je door de installer heen)
- In VS Code sluit je het terminalpaneel (klik op de X) en open je een nieuw: Terminal → New Terminal
- Probeer het opnieuw
Claude Code beginnen
Typ claude en druk op Enter. Er opent een browservenster waar je wordt gevraagd in te loggen. Log in, klik op Authorize, en ga terug naar VS Code.
Je zit nu in Claude Code. De terminal ziet er anders uit, hier typ je berichten naar Claude in plaats van commando's. Wait, no em-dash allowed. Let me redo: Je zit nu in Claude Code. De terminal ziet er anders uit. hier typ je berichten naar Claude in plaats van commando's. No colon-split either. One more try: Je zit nu in Claude Code. De terminal ziet er anders uit. Berichten aan Claude typ je hier, geen commando's.
Maak het project aan
Claude werkt dit door. Het kan vragen stellen:
- "Heb je een GitHub-account?" → Zo niet, dan helpt Claude je er een aan te maken. Heb je er al een, dan opent er een browservenster, klik op Autoriseren.
- "Docker Desktop moet actief zijn" → Open Docker Desktop via Programma's (Mac) of het Startmenu (Windows). Wacht tot het walvisicoon verschijnt. Laat Claude weten dat het draait.
Open het project in VS Code
- Klik op Bestand → Nieuw venster (VS Code opent opnieuw, schoon)
- Klik op Bestand → Map openen
- Ga naar je bureaublad, open de map roast-my-website en klik op Openen
Je ziet de projectbestanden in de linker zijbalk.
Claude Code starten in je project
Open de terminal. Terminal → New Terminal. Typ claude, druk op Enter.
Docker starten en het project bekijken
Claude geeft je het adres. Open het in je browser.
Als Claude meldt dat de poort al bezet is:
Hoe je een CLAUDE.md bestand opzet
Alles checken
Note
Bouw dit
Voer het init-commando uit. Open Claude Code. Vraag iets over het project. Komt het antwoord goed uit? Dan ben je klaar.
Les 02
URL-invoer form
De homepage met een URL-invulveld en een verzendknop. Strak, donker, één doel.
Plan mode activeren
Druk op Shift+Tab. Kijk naar de linkeronderhoek van Claude Code. Daar staat nu Plan Mode. In deze modus denkt Claude na en maakt het een plan, maar past geen bestanden aan.
Wat staat er op de homepage?
Claude stelt een plan voor. Lees het door. Wil je iets aanpassen:
Bouw het
Druk nogmaals op Shift+Tab. Linksonder staat niet meer Plan Mode. Nu kan Claude bestanden aanpassen.
Als Claude klaar is:
Open de URL in je browser. Je homepage zou nu zichtbaar moeten zijn.
Beter ontwerp, betere resultaten
Ververs de browser na elke aanpassing. Blijf doorgaan tot het er goed uitziet.
Validatie toevoegen
Test het. klik op de knop zonder iets te typen. Typ dan "asdf" en klik opnieuw.
Opslaan
Bouw dit
Gewoon bouwen. Niet te lang nadenken. Beschrijf het formulier aan Claude, laat het bouwen, doe één iteratie op het design. Zet de homepage live.
Les 03
De AI-roast
Een API-route die een URL ontvangt, naar AI stuurt en een gestructureerde beoordeling met scores teruggeeft.
Zet een roast op de agenda
Druk op Shift+Tab voor planmodus.
Druk op Shift+Tab om de planmodus te verlaten.
De AI-verbinding
Claude vraagt soms om een API key:
Claude legt het je uit. ga naar console.anthropic.com, open API Keys, maak een sleutel aan en kopieer hem. Plak hem wanneer Claude erom vraagt.
Probeer het
Plak een echte website-URL in het formulier. Klik op "Roast it." Wacht even. Je ziet de scores en feedback verschijnen.
Verfijnen
Nog een keer testen. Blijf bijsturen:
Opslaan
Bouw dit
Roast eerst je eigen website. Dan die van een concurrent. Kijk wat de scores zeggen.
Les 04
De roast display
Een verzorgd resultaatcomponent met geanimeerde scores, categoriekaarten en feedback. Het ding dat mensen screenshotten.
Scores opnieuw ontworpen
Model verfijnen met je eigen data
Tweede ronde
Opslaan
Bouw dit
Doe nog een keer een pass over het display component. Pas aan wat Claude aanwijst. Zo begin je met dat tweede-pass-ritme.
Les 05
Sla roasts op in Supabase
Roasts opgeslagen in een echte database. Resultaten blijven bewaard en zijn te delen.
De database inrichten
Claude kan om je Supabase-gegevens vragen:
- Ga naar supabase.com, open je project
- Klik in de linkerzijbalk op Settings, dan API
- Kopieer de Project URL en plak die naar Claude
- Kopieer de Service role key (klik eerst op "Reveal") en plak die naar Claude
Als Claude vraagt "Wil je dat ik een directe verbinding (MCP) met de database opzet?" — zeg ja.
Verbind de app
Test het
Roast een website in je browser. Dan:
Ververs de browserpagina. De roast moet er nog steeds staan.
Opslaan
Bouw dit
Roast een site en check of die in je Supabase dashboard verschijnt. Je eerste feature met een echte database erachter.
Les 06
Deelbare roastpagina's
Elke roast krijgt een eigen URL. Dynamische routes, SEO-metadata, OpenGraph-previews.
Individuele pagina's
Social media previews
Deelknop
Test het
Roast een site. Je landt op de unieke pagina. Klik op "Deel deze roast." Open een privévenster (Cmd+Shift+N op Mac, Ctrl+Shift+N op Windows). Plak de link. De roast laadt.
Opslaan
Bouw dit
Stuur de roast-URL door naar een vriend of collega. Vraag of het laadt en er goed uitziet. Zo heb je meteen iets om te delen.
Les 07
De beste 10 in de ranglijst
De 10 slechtst scorende websites op een publiek scorebord. Waarom mensen telkens terugkomen.
Bouw de ranglijst
Lege toestanden
Vul het
Roast 5-6 verschillende websites om de ranglijst te vullen. Mix: een goede site, een slechte, een zakelijke, een blog. Ververs de homepage. De ranglijst moet ze gerangschikt tonen.
Opslaan
Bouw dit
Roast 3 tot 5 websites om het scorebord te vullen. Zie hoe ze zich verhouden. Door de competitie blijf je er maar op klikken.
Les 08
Een tweede taal toevoegen
Volledige i18n met een tweede taal. De AI-roast output vertaalt ook mee. Jij kiest de taal.
Check op hardcoded tekst
Voeg de taal toe
Kies een taal die bij je doelgroep past.
AI-uitvoer ook in die taal
Test het
Verander in je browser de /en/ in de adresbalk naar /es/ (of jouw taal). De hele interface moet wisselen. Roast een site — de feedback moet terugkomen in die taal.
Opslaan
Bouw dit
Voeg een tweede taal toe en laat dezelfde site roosteren in allebei. Vergelijk het gevoel voor humor. Verschillende talen, verschillende stijl van afbranden.
Les 09
Playwright tests
Geautomatiseerde tests voor beide talen, op desktop en mobiel. Je vangnet.
Vertel Claude wat te testen
Fix fouten
Voor elke fout:
Laatste check
Alles groen? Wanneer je later iets verandert:
Bouw dit
Voer de tests uit. Gaan ze allemaal in één keer groen, gefeliciteerd. Loopt er iets stuk, los het op. Hoe dan ook: je hebt nu geautomatiseerde kwaliteitscontrole.
Les 10
Uitrollen en delen
Live op Vercel met een echte URL. Deel het met de wereld.
Laatste check
Deployen
Claude loopt het met je door. Het opent misschien een browser voor Vercel-login, vraagt je het project te koppelen en vraagt om je API keys (Supabase URL, Supabase key, AI API key). Die worden veilig opgeslagen — niet in je code.
Als het klaar is, geeft Claude je een URL. Dat is je app. Live.
Test de live versie
Open de URL. Probeer alles: roast een website, open een deelbare link in een privévenster, check de ranglijst, wissel van taal, open het op je telefoon.
Als iets niet werkt:
Eigen domein (optioneel)
Opslaan
Tip
Bouw dit
Zet hem live. Stuur de URL naar iemand die je vertrouwt. Vraag om eerlijke feedback op je site. En kijk toe hoe iemand anders iets gebruikt dat je helemaal zelf hebt gebouwd.
Het is live.
Een live, werkende, tweetalige webapplicatie met AI. Van nul af aan gebouwd met Claude Code.