Ik bouwde DE tool waarmee ik mijn hele bedrijf run.
'Maximized Portal' is een alles-in-één platform om de business mee te runnen, ontworpen en gebouwd voor mijn eigen studio. Het vervangt een versnipperde stack van Notion, Jira, spreadsheets en docs door één centrale bron van waarheid waar alles met elkaar in verbinding staat.
Het probleem
Een studio runnen betekent klanten, projecten, tickets, tijd, reizen, content en automatiseringen beheren. Ik deed dat allemaal in een lappendeken aan tools die niet echt goed met elkaar samenwerkten.
Tools overal, niets verbonden
Klantgegevens stonden in een spreadsheet. Taken in Jira. Notities in Notion. Tijdregistratie in alweer een andere app. Elke tool had z'n eigen login, z'n eigen data-silo en z'n eigen werkwijze.
Handmatig schakelen tussen systemen
Tijd boeken op een ticket betekende drie apps naast elkaar openen. Een klant factureren betekende data uit vijf plekken bij elkaar trekken. Niets stond met elkaar in verbinding.
Geen enkele bron van waarheid
Vroeg een klant een status-update, dan moest ik die bij elkaar puzzelen uit losse tools. Er was geen plek waar het volledige verhaal van een project samenkwam.
De visie
Het begon simpel. Ik wilde een plek waar klanten bestanden konden bekijken, feedback achterlaten en verzoeken indienen — een gedeeld portaal tussen ons. Feedback werd tickets. Tickets vroegen om sprint planning. Sprints om tijdregistratie. Tijdregistratie om facturatie. En ineens was ik iets veel groters aan het bouwen.
Portal groeide organisch vanuit echte behoeften. Elke module bestaat omdat ik 'm nodig had, niet omdat een feature-lijstje het voorschreef. Het resultaat: 12 modules die allemaal met elkaar verbonden zijn. Een ticket linkt aan een project, dat linkt aan een klant, en daar hangen geboekte tijd, reizen, media en notities aan vast. Alles ligt op één klik afstand.
CRM
Het CRM is de ruggengraat. Elke andere module komt hier op uit. Open je een klant, dan zie je hun projecten, tickets, geboekte tijd, reizen, media en notities — alles op één plek. Geen spreadsheets meer naast elkaar.

Bedrijfsbeheer
Volg klanten met logo's, status en eigen uurtarieven. Elk bedrijf is het ankerpunt voor de rest.
Contacten & interacties
Beheer contacten per bedrijf met een primair contact als hoofdpersoon. Leg telefoontjes, meetings en mails vast met volledige historie.
Drielaags tariefstructuur
Tarieven cascaderen: klantstandaard, project-override, per-boeking-override. Flexibel zonder ingewikkeld te worden.
Offertes & bijlagen
Genereer en volg offertes per klant. Hang bestanden direct aan klantrecords voor een complete projecthistorie.
Kanban
Klantfeedback wordt een ticket. Tickets staan op het kanban-bord. Sleep ze door je workflow. Omdat tickets gekoppeld zijn aan projecten, klanten en media, weet het hele systeem wat er gebeurt zodra je een kaartje verplaatst.

Volledige drag-and-drop
Gebouwd met @dnd-kit voor soepele, toegankelijke drag-and-drop over statuskolommen. Kaartjes snappen netjes op hun plek met visuele feedback.
Ticket-koppelingen
Elk ticket is verbonden met een project en klant. Hang media-assets direct aan tickets voor volledige context.
Slim filteren
Filter op klant, assignee of status. Het bord past zich direct aan en toont alleen wat nu telt.
Assignee-tracking
Wijs teamleden toe met avatar-indicatoren. Zie in één oogopslag wie waarvan eigenaar is.
Automatisering
Ik draai tientallen n8n-workflows voor klanten: data-syncs, lead enrichment, content-pipelines. Het probleem: n8n vertelt je dát een workflow bestaat. Niet of 'ie ook echt werkt. Portal wel.
De automation-module trekt execution-data uit n8n en classificeert per workflow de gezondheid. Een workflow die gisteren succesvol draaide is "healthy." Een met recente fouten is "failing." Eentje die actief is maar al dagen niet heeft gedraaid? Die is "silent" — en potentieel het gevaarlijkst, want niemand merkt het tot een klant zich afvraagt waarom iets gestopt is.
Naast health-monitoring volgt Portal execution-tijdlijnen (24u- en 72u-weergaven), tokenverbruik bij LLM-workflows en matcht het workflows aan klanten via tags. De email-module (Resend-integratie) voegt delivery-tracking toe (sent, delivered, bounced, opened) en de mogelijkheid om geplande verzendingen te annuleren.
Tech stack
Gebouwd op dezelfde stack die ik gebruik voor klantwerk. Modern, typed, production-grade.
Next.js
App Router met Server Components en Server Actions.
React
React 19 voor de complete interactieve UI-laag.
Supabase
PostgreSQL-database, Auth, Storage en Row-Level Security.
Tailwind CSS
Utility-first styling met Tailwind CSS 4.
n8n
Workflow-automatisering met health-monitoring via API.
Vercel
Hosting en deployment met edge functions.
Uitdagingen
Het zwaarst was nooit één specifieke feature. Het was de boel simpel houden en tegelijk flexibel genoeg maken voor anderen.
Ik bouwde Portal voor mijn eigen studio-workflow. Maar zodra ik een tweede tenant ging onboarden, werd elke aanname onder druk gezet. Hun projecten lopen anders. Hun teamstructuur is anders. Hun permissies moeten anders zijn.
De uitdaging was de tool opinionated houden (snel in gebruik, geen onnodige configuratie) en tegelijk genoeg ruimte geven aan anderen om 'm naar hun hand te zetten. Die spanning vormde elke ontwerpkeuze: het permissiesysteem, de tariefcascade, de modulestructuur. Sterke defaults, maar op elk niveau te overschrijven.
Scope was de andere constante strijd. Elke module die ik toevoegde verbond zich met al het andere, en daarmee was elke uitbreiding complexer dan ze leek. Een "simpele" trips-feature had klantkoppeling, projectkoppeling, ticketkoppeling, tariefberekeningen, intelligente autocomplete en permission-checks nodig. Twaalf keer over.
Resultaten
Portal is live, in dagelijks gebruik en groeit. Wat begon als feedbacktool voor klanten is nu het besturingssysteem van mijn studio.
12 geïntegreerde modules
CRM, projecten, kanban, media, notities, tijdregistratie, reizen, social planner, automatiseringen, e-mail, gebruikers en instellingen — allemaal verbonden.
Multi-tenant in productie
Draait met echte tenants. Volledige data-isolatie via RLS. Per-gebruiker permissies in elke module.
Actief dagelijks gebruik
Dit is geen demo of portfolio-stuk. Het is de tool waarmee ik mijn studio dagelijks run, voor echt werk.
Solo end-to-end gebouwd
Design, frontend, backend, database-schema, RLS-policies, API-integraties, deployment — allemaal door één persoon.