Hé, ik ben Gerroy.

EEN DIGITALEArchitectVAN CODE

Negentien jaar webontwikkeling, en in de avonduren probeer ik nog steeds van alles uit. Een deurbel die gezichten herkent, een aquarium live op YouTube, een bot die vraagt wie er komt gamen.

Mail me→
Portret van GerroyPortret van Gerroy, donkere variant

19+

Jaren ervaring

20

Eigen projecten

9

Draaien live

Wie ik ben

Over mij

Ik ben begonnen met websites bouwen toen Flash nog overal in zat. Negentien jaar later kan ik het nog steeds niet loslaten. In de avonduren probeer ik van alles uit, meestal iets dat thuis of in de vriendengroep een probleem oplost.

Wat ik thuis bouw, gebruik ik ook echt. De meeste projecten draaien op een paar Raspberry Pi's in huis, met Docker, nginx en PM2. Daardoor weet ik ook hoe het voelt als iets 's nachts stopt met werken, en bouw ik het de volgende keer beter.

Wat ik belangrijk vind: iets afmaken zodat het echt gebruikt wordt, en code schrijven die ik over een jaar zelf nog begrijp.

Geselecteerde projecten

Waar ik aan werk

01 — Thuis · Raspberry Pi 4Draait 24/7

Thuisdashboard

Een scherm in de woonkamer dat laat zien wat er thuis speelt: wie er aanbelt, wat de stroom vandaag kost en wanneer de container aan de straat moet.

  • Ring-deurbel met eigen gezichtsherkenning. Bekende gezichten krijgen een naam en een pushmelding.
  • Energiekosten live uit de P1-meter, plus weer, agenda, afvalkalender en OV.
  • Fotoslideshow met widgets, beheerd via een beveiligd adminpaneel.
  • Geeft een seintje als de droger klaar is.
  • Next.js
  • Socket.io
  • SQLite
  • Python
  • OpenCV
  • ONNX
Screenshot van Live aquarium
02 — Livestream · 3DLivestream op YouTube

Live aquarium

Een 3D-aquarium dat live op YouTube draait. Kijkers voeren de vissen via de chat en kunnen een eigen vis kopen die elke stream terugkomt.

  • Typ !feed in de chat en er valt echt voer in het water.
  • Het licht volgt de stand van de zon, 's nachts wordt het donker in de bak.
  • Vissenwinkel met PayPal: jouw vis krijgt een naam en een eigen kleur.
  • Een Raspberry Pi 5 is de hub, een pc met GPU rendert en streamt via FFmpeg.

Het aquarium zelf is gebaseerd op het open-source project Riverscape. De stream, chat-interactie en winkel heb ik eromheen gebouwd.

  • Three.js
  • WebGL2
  • Node.js
  • YouTube API
  • PayPal
  • FFmpeg
Screenshot van Woonkamer in 3D
03 — 3D · AIEigen gebruik

Woonkamer in 3D

Onze benedenverdieping op schaal nagebouwd, zodat we meubels kunnen schuiven voordat we ze kopen. Staat de opstelling? Dan maakt het er een prompt van en rendert AI er een realistische foto van.

  • Meubels uit een catalogus plaatsen, draaien en op maat zetten, met snapping tegen de muren.
  • Meetlint en afstandslijnen naar de muren.
  • Camera op ooghoogte: ga ergens staan en kijk rond.
  • Opstelling en render gaan samen naar Gemini voor een fotorealistisch beeld.
  • Three.js
  • TypeScript
  • Vite
  • Gemini
04 — Community · Web en appLive

N033 clanplatform

Thuisbasis voor onze gamegroep. Wie is er online, wie speelt het meest, welk wapen is nu sterk en wie zit er vanavond in welk team.

  • Realtime chat met reacties, mentions en pushmeldingen.
  • PSN-tracker met ranglijst, heatmap en streaks. Elke week een overzicht in de WhatsApp-groep.
  • Teammaker die iedereen tegelijk live bedient.
  • Eigen app voor iOS en Android, op dezelfde API.
  • Next.js
  • MariaDB
  • SSE
  • Web Push
  • Expo
05 — Platform · Teams

Marktmaat

Een portal om Marktplaats bij te houden. Zoektermen in de gaten houden, advertenties snel monitoren en direct berichten versturen. Het werkt in teamverband, dus iedereen ziet wat er door wie is verstuurd.

  • Opgeslagen zoekopdrachten die zelf blijven zoeken en nieuwe advertenties melden.
  • Prijsverloop per advertentie.
  • Berichten versturen vanuit het portal, antwoorden komen binnen via e-mail.
  • Leads en contacten op een bord, met meldingen voor het hele team.
  • Next.js
  • Socket.io
  • Prisma
  • MariaDB
  • node-cron
  • Docker
06 — Bots · AutomatiseringLive

WhatsApp-bots

Twee bots die in WhatsApp meedraaien. De ene regelt de game-avonden van de clan, de andere is mijn eigen assistent en doorgeefluik voor andere projecten.

  • !wie cod zet een poll uit wie er vanavond komt en telt de stemmen.
  • AI-antwoorden en afbeeldingen genereren vanuit de chat.
  • Houdt websites in de gaten en seint bij een wijziging.
  • HTTP-API waarmee andere apps berichten versturen.
  • TypeScript
  • Baileys
  • node-cron
  • Workers AI
  • PM2

En verder

Meer projecten

Boodschappie

Gedeelde boodschappenlijst met barcodescanner en een melding als je langs de supermarkt loopt.

Expo · Fastify · Socket.IO

Mood Meter

Mijn zoon geeft elke dag met een smiley aan hoe hij zich voelt. In de kalender zien we patronen en momenten van overprikkeling.

Next.js · SSE · AI

Wattedoen

Kiest een dagje uit uit ruim 500 uitjes, op basis van het weer, de afstand en de leeftijd van de kinderen.

Next.js · Prisma · AI

Dynamische QR-codes

QR-codes die je achteraf aanpast: een link, poll, gastenboek of een potje boter-kaas-en-eieren.

Next.js · Socket.IO

Shorts-fabriek

Schrijft, spreekt in en monteert YouTube Shorts automatisch, en stuurt bij op de eigen statistieken.

Remotion · YouTube API · TTS

ArenaN033

Multiplayer arena-shooter in de browser, met eigen netcode voor prediction en reconciliation.

Three.js · WebSockets

Livestream-station

GoPro naar Raspberry Pi naar YouTube, met overlays die je live wisselt.

FFmpeg · MediaMTX · Playwright

PS5-soundboard

Knipt geluidsfragmenten uit de party-chat, schrijft ze uit en zet ze direct op een soundboard.

FFmpeg · whisper.cpp

WK-voorspeller

Berekent per wedstrijd de uitslag met de meeste verwachte Scorito-punten.

TypeScript · Fastify

Minecraft Server Console

Mijn zoon zoekt zelf skins, bewaart favorieten en zet ze met één klik live op de server.

Next.js · RCON

OneShot Message

Een bericht dat precies één keer te lezen is en na 30 seconden verdwijnt.

Next.js · encryptie

Marktplaats Sniper

Zoekt vanuit de terminal naar nieuwe advertenties, sneller dan de browser openstaat.

Node.js · CLI

GoedkoopTanken

De tien goedkoopste tankstations in de buurt, gewoon in de terminal.

Node.js · CLI

WordPress

Maatwerkthema's met eigen Gutenberg-blokken en een WooCommerce-koppeling met Marktplaats.

PHP · React · Tailwind

draait live

Wat ik gebruik

Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • HTML / CSS

Backend en data

  • Node.js
  • PHP
  • Python
  • Fastify / Express
  • Prisma / Drizzle
  • MariaDB / MySQL
  • SQLite
  • Socket.IO / SSE

3D en realtime

  • Three.js
  • React Three Fiber
  • WebGL
  • Multiplayer netcode
  • Colyseus

AI en vision

  • Gemini
  • Cloudflare Workers AI
  • Ollama
  • whisper.cpp
  • MediaPipe
  • OpenCV / ONNX

Mobile

  • Expo
  • React Native
  • PWA / Web Push

Hosting

  • Raspberry Pi
  • Docker
  • nginx
  • PM2 / systemd
  • FFmpeg / RTMP
  • Linux

Koppelingen

  • Ring
  • YouTube API
  • WhatsApp
  • PayPal / Mollie
  • Google Calendar
  • PDOK

CMS

  • WordPress
  • Gutenberg-blokken
  • WooCommerce
  • Eigen plugins
Next.js•Three.js•Bots•Realtime•AI•Raspberry Pi•Livestreams•Scrapers•Automatisering•Apps•3D•Home automation•Next.js•Three.js•Bots•Realtime•AI•Raspberry Pi•Livestreams•Scrapers•Automatisering•Apps•3D•Home automation•