Ik bouwde de ene tool die mijn studio nodig had. Nu wordt het een product.
Millstream is de gedeelde werkplek waar je team, je klanten en de studio's waarmee je samenwerkt werken vanuit dezelfde projecten, bestanden en gesprekken. Het begon als 'Maximized Portal', de interne tool waar mijn studio op draaide. Vandaag is het een multi-tenant product in besloten bèta op millstream.app.
Het probleem
Een studio runnen betekent klanten, projecten, tickets, tijd, reizen en content beheren. Ik deed dat allemaal in een lappendeken aan tools, en iedereen met wie ik werkte zag een andere versie van de waarheid.
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.
Iedereen op een andere versie
Briefings stonden in e-mail. Feedback lag verspreid over DM's en reactiethreads. Vroeg een klant om een status-update, dan moest ik die bij elkaar puzzelen uit losse tools. Geen enkele plek vertelde het volledige verhaal.
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.
Millstream groeide organisch vanuit echte behoeften. Elke module bestaat omdat de studio 'm nodig had, niet omdat een feature-lijstje het voorschreef. Het resultaat: twaalf 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, notities en een gespreksthread aan vast. Alles ligt op één klik afstand, voor iedereen met wie jij het wilt delen.
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, notities en gesprekken, 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 per bedrijf
Beheer contacten per bedrijf met een primair contact als hoofdpersoon, zodat de juiste persoon altijd één klik verderop zit.
Drielaags tariefstructuur
Tarieven cascaderen: klantstandaard, project-override, per-boeking-override. Flexibel zonder ingewikkeld te worden.
Een tijdlijn van elke interactie
Telefoontjes, meetings en mails per klant vastgelegd. De volledige historie van een relatie in één feed.
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. En omdat klanten het bord kunnen volgen, zien ze voortgang zonder ernaar te vragen.

Volledige drag-and-drop
Gebouwd op Pragmatic drag and drop voor soepel, toegankelijk slepen 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.
Gebouwd voor samenwerking
Wat Portal in Millstream veranderde was één terugkerende vraag: waarom moet de klant mij hiervoor mailen? Het antwoord werd het product. Eén bron van waarheid, gedeeld met de drie kringen waarmee je werkt: je team, je klanten en de studio's waarmee je partnert.
Klanten doen mee als externe leden. Ze beoordelen media, volgen het bord en dienen verzoeken in, terwijl interne tools, tarieven en het CRM privé blijven. Partnerstudio's en freelancers werken met je mee in gedeelde projectruimtes zonder je hele werkruimte in handen te krijgen. En realtime gesprekken leven op elke werkruimte, elk project, elk bestand en elk ticket, zodat feedback landt waar het werk is.
De nieuwste laag is een AI-assistent die meekijkt terwijl het werk gebeurt. Hij leest een gespreksverslag en stelt een ticket voor. Hij ziet twee uur aan commits en stelt een tijdboeking voor. Hij merkt dat een offerte de deur uit is en stelt voor de dealfase bij te werken. Elk voorstel is goedkeuren of afwijzen, dus jij houdt de regie.
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, Auth, Storage, Realtime en Row-Level Security.
Tailwind CSS
Utility-first styling met Tailwind CSS 4.
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 andere teams aanhaakten, werd elke aanname onder druk gezet. Hun projecten lopen anders. Hun teamstructuur is anders. Hun permissies moeten anders zijn. En hun klanten horen precies genoeg te zien, en niets meer.
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
Millstream is live, in dagelijks gebruik en onboardt zijn eerste externe teams. Wat begon als feedbacktool voor klanten werd het besturingssysteem van mijn studio, en wordt dat nu ook voor andere studio's.
12 geïntegreerde modules
CRM, projecten, kanban, mediabeoordeling, notities, gesprekken, tijdregistratie, reizen, social planning, een AI-assistent, teambeheer en een live activiteitenfeed. Allemaal verbonden.
Multi-tenant in productie
Echte werkruimtes met volledige data-isolatie via RLS, gedetailleerde permissies per gebruiker en klanten die meedoen als externe leden.
Dagelijks gebruik, nu in besloten bèta
Dit is geen demo. Het is de tool waar mijn studio elke dag op draait, en de eerste teams werken er nu in via de besloten bèta op millstream.app.
Solo end-to-end gebouwd
Design, frontend, backend, database-schema, RLS-policies, AI-integratie, deployment, allemaal door één persoon.