Direct naar de inhoud

Dingen die ik heb gebouwd

Open-source tools en experimenten, meestal ontstaan uit een echt probleem op werk of thuis. Van elk project heb ik iets geleerd dat het opschrijven waard was.

Branch Manager

Een webapp om Azure DevOps-branches in veel repositories tegelijk te beheren. Gebouwd omdat vijftig keer doorklikken in de portal geen workflow is.

Probleem
Azure DevOps heeft geen ingebouwde manier om branches in meerdere repositories tegelijk op te ruimen. Teams blijven zitten met honderden verouderde branches die ze met de hand moeten verwijderen.
Wat ik bouwde
Een self-hosted Node.js-webapp die verbinding maakt met Azure DevOps. Je filtert en bekijkt de branches van alle repositories en verwijdert ze in bulk, met één bevestiging.
Stack
  • Node.js
  • Express
  • Azure DevOps API
  • Entra ID
Branch Manager: A Web UI for Cleaning Up Stale Azure DevOps Branches

Custom AI Chat

Een volledig self-hosted AI-chatstack met lokale modellen, beeldgeneratie en webzoeken. Standaard privé, zonder abonnement.

Probleem
Ik gebruik ChatGPT, Copilot en Claude door elkaar, maar ze draaien allemaal op andermans infrastructuur en werken niet offline. Voor gevoelig werk wilde ik een model op mijn eigen hardware, zonder los abonnement per leverancier.
Wat ik bouwde
CustomAIChat, één Docker Compose-stack: Open WebUI als chat, LiteLLM voor lokale en cloudmodellen, SearXNG om privé op het web te zoeken en Langfuse voor tracing. GPU-diensten start ik één voor één, zodat alles past op mijn kaart van 8 GB.
Stack
  • Open WebUI
  • Docker
  • Self-hosted LLMs
My Ultimate Self-Hosted AI Chat Stack

Shelly MCP Server

Een MCP-server waarmee AI-assistenten Shelly smart home-apparaten direct kunnen aansturen. Praten met je huis, maar dan in een gestructureerd protocol.

Probleem
Er was geen betrouwbare Shelly MCP-server waarmee ik apparaten consequent kon vinden, inspecteren en bedienen terwijl ik de overstap naar Home Assistant voorbereidde.
Wat ik bouwde
Ik bouwde en publiceerde shelly-mcp-server. Daarmee vind ik apparaten, verrijk ik hun metadata en bedien ik Shelly-hardware vanuit MCP-clients, als onderdeel van mijn migratie.
Stack
  • MCP
  • TypeScript
  • Home Assistant
Why I Built a Shelly MCP Server (So I Could Migrate to Home Assistant)

Deze website

De site die je nu bekijkt. Nuxt 4, Nuxt Content en Tailwind 4, statisch gegenereerd en geserveerd vanaf de edge van Cloudflare. Ontworpen en vibe coded in de openbaarheid.

Probleem
Mijn blog draaide op Hugo. Zodra ik meer wilde, zoals thema's, transities of een RSS-feed, vocht ik tegen het framework. En AI-modellen kenden de templates van Hugo maar oppervlakkig.
Wat ik bouwde
Een Nuxt-site met mijn Markdown-posts in Nuxt Content, live zoeken, tagpagina's, een RSS-feed en een licht en donker thema. In korte rondes gebouwd met AI, in een codebase die ik goed genoeg begrijp om hem te blijven aanpassen.
Stack
  • Nuxt 4
  • Tailwind 4
  • Cloudflare Pages
From Hugo to Nuxt: Why I Switched to Vibe Code My Blog

De rest van mijn openbare code staat op GitHub (opent in een nieuw tabblad).