
Rinze Buunk CMS
Rinze op jouw feestje?
Rinze Buunk is an 18-year-old party singer who plays everything from birthday parties to festival tents. He needed a site that books him, and a CMS he could run himself between two gigs.
I designed and built the site on my own, from the first conversation to launch. The public site turned out nicely, but the part I’m proudest of is the CMS behind it.
From brainstorm to launch
We started with brainstorm sessions together: who books Rinze, what do they want to know, and what does he want to stop doing by hand? Organisers want to see what he costs and whether he’s free. Rinze wanted to stop keeping his calendar, photos and booking requests in three different places.
From there I made a moodboard with references from other Dutch party artists and their booking pages. We went through it together and kept what felt like Rinze: big condensed type, real stage photos and a calm navy instead of loud colours.

The moodboard: navy swatches, type tests and reference sites.
That became a small design language. Wireframes then fixed the big moves, like the full-screen hero with the logo and the header that turns into the logo once you scroll.
Rinze Buunk
Barlow Condensed for headings, DM Sans for everything else.The public site
Four pages: home, bookings, agenda and media. The bookings page shows packages and prices up front, the agenda can be subscribed to, and the media page fills itself with the photos of past shows.


Bookings on desktop, and “Boek nu!” always one tap away on mobile.


The CMS
This is where most of the work went. Rinze isn’t technical and does most things from his phone, often right after a show. So instead of an off-the-shelf CMS, I built one for exactly his work, in Dutch, where every screen does one job. On the site it’s simply called Beheer.

One calendar for everything
The agenda is a real CalDAV calendar. Rinze and his team see it in the calendar app on their phones, and the website reads from the same calendar. An item is either a public show or an internal note like a rehearsal. A show can also be a private party: it appears on the site as “besloten”, but visitors can’t add it to their calendar.





Shows in navy, internal items striped, options dashed.
Edit a show in place, including publiek or besloten.
Each photo is a tile; its details open in a modal.
Credit one photographer on a whole selection at once.
Drag to reorder. The first item, even a video, becomes the cover.
Uploads that can’t break the budget
The whole site runs on Cloudflare’s free tier, so storage matters. Rinze can drop in anything his phone makes, and the browser shrinks it before it’s uploaded. Location data is stripped, and videos are re-encoded with WebCodecs. He never thinks about file sizes, and the bucket stays small.
Booking requests that run themselves
A request from the site becomes a booking and an option in the calendar straight away. Changing the status updates the calendar item too, so the agenda and the inbox can’t drift apart.
Nieuw Evenement blijft onder voorbehoud
Gecontacteerd Evenement blijft onder voorbehoud
Bevestigd Evenement wordt Normaal, nog verborgen op de site
Afgewezen Evenement wordt Geannuleerd

Built for a phone first
Login is a magic link by email, with no passwords to forget. Team members get one of four roles, from owner down to view-only. And every screen works on a phone, because that’s where Rinze actually uses it.




CMS screenshots use demo data, not Rinze’s real agenda or customers.
Result
Rinze now runs his own site: he adds shows, uploads photos the same night, and answers booking requests from one inbox that keeps his calendar in sync. For me, the best part was doing the whole thing with him, from the first brainstorm to the last round of small fixes before launch.