Ik deel dit graag — maar ik ga niet doen alsof je dit portaal even in een avond namaakt met vijf prompts. Dat zou oneerlijk zijn. Hieronder een eerlijk beeld: wat het écht kost, wat het bij mij snel máákt, en hoe je zelf kunt beginnen én toetsen of het de moeite waard is.
Een eerste schets staat er snel. Maar een portaal dat mensen écht gebruiken — veilig, gedeployed en onderhouden — is iteratief werk over meerdere sessies. De lastige delen zitten niet in de mooie schermen:
Wie mag wat zien? Row Level Security waterdicht krijgen is het echte werk — niet de mooie schermen. Eén fout en de verkeerde persoon ziet data.
Inloggen, uitnodigen, en per samenwerking netjes afschermen. Klinkt simpel, zit vol randgevallen.
Live zetten op een eigen adres, met keys, zonder secrets te lekken. En het moet blijven draaien.
Moneybird, agenda — elke koppeling is een eigen uitzoekklus met eigen API en foutafhandeling.
Updates, back-ups en meebewegen als wensen veranderen. Dit stopt nooit helemaal — reken erop.
Mijn snelheid komt niet uit een handjevol prompts, maar uit een werkwijze die ik over veel projecten heb opgebouwd:
Claude Code met vaste conventies — conventional commits, SemVer, changelog, en 'eerst testen, dan pas claimen dat het werkt'.
Een eigen server (Docker), Cloudflare Tunnel en Caddy. Een nieuw project hangt in minuten aan een eigen subdomein.
Een vaste stack (Next.js + Supabase) en bouwstenen die ik telkens opnieuw inzet in plaats van elke keer opnieuw beginnen.
De agent kent mijn voorkeuren en werkwijze. PRD vooraf, kleine commits, alles gedocumenteerd — zo blijft het snel én overzichtelijk.
Zonder die basis kost hetzelfde werk gewoon meer tijd. Dat is geen schande — wel eerlijk om te weten voordat je begint.
Claude Code of vergelijkbaar. Die doet het bouwwerk; jij regisseert en beslist.
Next.js + React voor de app, Supabase voor database, inloggen en opslag.
Vercel (simpelst), of Docker op een server die je zelf beheert.
Supabase, en per koppeling die je wilt (Moneybird, mail, agenda) een eigen key.
Reken op meerdere sessies, niet één avond. Een eerste schets is snel; af en veilig is werk.
Conventies, testen en de rust om het stap voor stap te doen. Dát maakt het verschil op lange termijn.
Wil je het proberen? Begin hier. Deze prompts zijn gespreksstarters voor je agent — geen bouwscript. Verwacht per stap heen-en-weer, eigen keuzes en iteratie.
Ik overweeg een besloten klantenportaal (projecten, status, roadmap, updates, reacties en urenregistratie). Mijn situatie: [beschrijf je klanten, hoeveel, en wat je nu gebruikt — mail, appjes, Excel]. Stel me eerst de ontbrekende vragen, en geef dan een eerlijk oordeel: lost een portaal mijn probleem echt op, of is een bestaand tool beter? Noem de 3 grootste voordelen en 2 valkuilen voor mijn geval.
Begin hier. Vaak is een bestaande tool sneller en goedkoper — en dat mag de uitkomst zijn.
Ontwerp het datamodel voor een klantenportaal op Supabase (Postgres): profiles (rol employee/owner), projects, roadmap_items, updates, requests + replies, comments, attachments, time_entries. Zet Row Level Security aan: iedereen die is ingelogd leest de gedeelde tier, alleen de owner schrijft én ziet de urenregistratie. Lever de SQL-migratie met uitleg, en loop de RLS-policies één voor één met me na.
Hier zit het echte werk. Neem de tijd voor de beveiliging en test elke policy — dit is waar het misgaat.
Bouw met Next.js (App Router) + Supabase Auth (magic link, geen wachtwoorden) de portaal-UI: een dashboard met projecten en een duidelijke status, een projectdetail met roadmap, nieuws/updates en een eenvoudig reactie-venster, plus een pagina om een vraag of verzoek te plaatsen met bijlage. Nederlands, toegankelijk en mobiel-first.
De schermen gaan het snelst. Houd het simpel — de verleiding om te veel te bouwen is groot.
Voeg één integratie toe. Begin met facturatie: laat uren en kosten uit het portaal doorstromen naar Moneybird via hun API, met nette foutafhandeling en zonder dubbele facturen. Beschrijf eerst het plan en de randgevallen, daarna de code.
Elke koppeling (Moneybird, agenda-planning) is een eigen project. Begin met één en maak die echt af.
Zet dit live: containeriseer met Docker (Next.js standalone) en beschrijf hoe ik het op een eigen subdomein krijg via [Cloudflare Tunnel / Vercel / eigen server], met de keys als omgevingsvariabelen. Geef een concrete checklist, een rollback-plan, en hoe ik back-ups en updates regel.
Live is niet klaar. Reken op updates, back-ups en meebewegen — dat hoort erbij.
Wél de moeite waard als je meerdere doorlopende samenwerkingen hebt, echt maatwerk wilt, koppelingen (facturatie, agenda) nodig hebt en het zelf wilt beheren.
Waarschijnlijk niet als je één klant hebt of gewoon wat meer overzicht zoekt — dan ben je met een bestaand tool (Notion, Trello, een kant-en-klare SaaS) sneller én goedkoper klaar. Bouw het niet omdat het kan, maar omdat het je echt iets oplevert.
Ik deel dit open — om te laten zien hoe het werkt en om kennis te delen. Niet als kant-en-klaar recept, wél als eerlijk startpunt. Bekijk de demo voor inspiratie en pas het aan naar je eigen situatie.
Bekijk de demo →