Eigen softwareprojecten waarin ik alle rollen zelf vervulde: analyse, architectuur, realisatie, uitrol en beheer. Elke beschrijving is gebaseerd op de broncode en technische documentatie van het project, met de actuele status erbij. Over werk voor opdrachtgevers dat onder geheimhouding valt, vertel ik graag meer in een gesprek.
13 projecten getoond
Pijler: Gegevens & Kwaliteit
SEO-GEO Optimizer: vindbaarheid voor zoekmachines én AI
Weergave van een echte scan van de demowebsite Well Connected
1. Situatie & Uitdaging
Traditionele SEO-controles beoordelen pagina's vaak met vaste vuistregels. Daardoor ontstaan onterechte waarschuwingen en blijft buiten beeld of generatieve zoekmachines de inhoud goed kunnen begrijpen en citeren.
2. Wat er gebouwd is
Een analyseplatform dat de hele website leest (standaard tot 500 pagina's, op afspraak tot 5.000) en de opbouw van de pagina's, interne links, structured data en AI-leesbaarheid in samenhang beoordeelt. Pagina's worden eerst naar hun functie geclassificeerd, zodat aanbevelingen passen bij het type pagina. Bij elke bevinding staat wat er is gezien en wat u eraan kunt doen. Ik zet het platform in als dienst, binnen SEO en GEO: u krijgt het rapport en het advies, bij u hoeft niets geïnstalleerd te worden.
4. Resultaat & Waarde
U ontvangt een uitgebreid technisch, maar goed leesbaar SEO/GEO-rapport met verbeterpunten voor gewone zoekresultaten en voor AI-antwoorden. De bevindingen zijn geprioriteerd en houden rekening met het doel van iedere pagina. Na de verbeteringen meet ik opnieuw en ziet u per punt wat beter is geworden.
3. Toegepaste Techniek
Next.js en TypeScript met Playwright en Cheerio
Graafanalyse voor interne PageRank en verdeling van linkwaarde
Validatie van JSON-LD, semantische entiteiten en llms.txt
Controle of twaalf AI-crawlers (de leesprogramma's van onder meer ChatGPT en Perplexity) uw site mogen lezen en of teksten los te citeren zijn
Vaste, controleerbare regels voor de scores: dezelfde site geeft dezelfde uitkomst
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: Gegevens & Kwaliteit
Website Auditor: uitgebreide websitecontrole met vergelijkingsrapport
Weergave van een echte scan van de demowebsite Well Connected
1. Situatie & Uitdaging
De technische kwaliteit van een website zit verspreid over prestaties, toegankelijkheid, beveiliging en vindbaarheid. Een losse controle per onderwerp maakt het lastig om een eerste meting met een latere meting te vergelijken.
2. Wat er gebouwd is
Een eigen audittool die meer dan honderd controles uitvoert, elke scan bewaart en een eerste meting en een latere controlemeting in één rapport naast elkaar zet. De bevindingen worden vertaald naar heldere uitleg en concrete prioriteiten voor de opdrachtgever. Ik voer de audit uit als dienst: u krijgt het rapport, bij u hoeft niets geïnstalleerd te worden.
4. Resultaat & Waarde
U ontvangt een uitgebreid technisch, maar goed leesbaar vergelijkingsrapport. Het toont de ontwikkeling van de score, de meetwaarden en welke bevindingen zijn opgelost, verbeterd, verslechterd of nieuw zijn, met duidelijke prioriteiten voor de volgende stappen.
3. Toegepaste Techniek
Vaste scoreregels: dezelfde website geeft steeds dezelfde uitkomst
Toegankelijkheidscontroles volgens WCAG 2.2 niveau AA
Analyse van AI-leesbaarheid, structured data en llms.txt
Geautomatiseerde rapportgenerator met prioriteitenmatrix
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: AI & Processen
PAL: lokale assistent met een betrouwbare uitvoeringslaag
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Een AI-assistent die alleen antwoorden geeft, helpt niet bij werk dat meerdere stappen, systemen en goedkeuringen omvat. Zodra een externe dienst hapert, moet duidelijk blijven wat al is uitgevoerd en wat veilig opnieuw kan.
2. Wat er gebouwd is
Een lokaal assistentenplatform met een web- en mobiele interface, langetermijngeheugen en een uitvoeringsmotor voor terugkerende en proactieve taken. Externe gereedschappen worden via een gestandaardiseerd koppelvlak beschikbaar gemaakt.
4. Resultaat & Waarde
Een 24/7-assistent die taken controleerbaar kan plannen en uitvoeren, na een storing verdergaat vanaf een bekend punt en risicovolle acties eerst ter goedkeuring voorlegt.
3. Toegepaste Techniek
Fastify- en TypeScript-backend met React PWA en mobiele client
Model Context Protocol voor dynamische gereedschappen en integraties
SQLite en Qdrant voor taakstatus en semantisch langetermijngeheugen
Leases, checkpoints en transactional outbox voor veilig hervatten
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: Systemen & Integratie
WebsiteCrawler: crawlstraat voor .nl-domeinen
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Om websites te vinden en te beoordelen, moet een grote set .nl-domeinen worden verwerkt; met de hand is dat niet te doen. De verwerking moet doorgaan als individuele domeinen een trage DNS-respons, TLS-fout of foutpagina geven.
2. Wat er gebouwd is
Een eigen crawlstraat die domeinen inneemt, vooraf toetst, als crawltaak inplant en de resultaten beschikbaar maakt in een dashboard en via een API.
4. Resultaat & Waarde
Een bewaakbare verwerkingsketen waarin de wachtrij, actieve taken en fouten apart zichtbaar zijn; een mislukte website stopt de rest van de verwerking niet.
3. Toegepaste Techniek
Drie Node.js-services met PostgreSQL als gedeelde gegevenslaag
Frontier die alleen geschikte domeinen als crawltaak inplant
DNS- en HTTP-prefiltering buiten de databasetransactie
Retry- en backoffbeleid per crawltaak
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: Systemen & Integratie
NexusCommander: één bestandsbeheerder voor desktop en web
Klassieke dual-pane bestandsbeheerders zijn vaak verouderd of alleen voor één platform beschikbaar. Moderne desktopalternatieven gebruiken geregeld een zware runtime en delen platformlogica direct met de interface.
2. Wat er gebouwd is
Een cross-platform bestandsbeheerder met gedeelde Svelte-interface en afzonderlijke platformlagen voor een native desktopapp en een webapplicatie. Beide varianten spreken hetzelfde expliciete functiecontract.
4. Resultaat & Waarde
Een responsieve bestandsbeheerder met dezelfde bediening op desktop en web, terwijl bestandssysteemrechten en platformspecifieke functies strikt gescheiden blijven.
3. Toegepaste Techniek
Monorepo met Svelte, SvelteKit en gedeelde UI-componenten
Native desktopbackend in Rust met Tauri 2
NexusIpc-contract met runtime capability detection
CodeMirror-editor, directorycaching en meertalige interface
Voor snelle grafische bewerkingen op Linux is de keuze vaak een zeer uitgebreid pakket of een eenvoudige editor zonder lagen, selecties en moderne afbeeldingsformaten.
2. Wat er gebouwd is
Een native rastereditor met tekengereedschappen, lagen, blendmodi, selecties en een parallelle pixelengine. Grote bewerkingen worden buiten de hoofdthread verwerkt zodat de interface responsief blijft.
4. Resultaat & Waarde
Een lichtgewicht, installeerbare Linux-editor die dagelijkse beeldbewerking combineert met professionele laag- en selectiemogelijkheden.
3. Toegepaste Techniek
TypeScript, Canvas API en tiled rendering via Web Workers
Tauri 2 en Rust voor native desktopintegratie
Delta-gecomprimeerde geschiedenis met periodieke keyframes
Ondersteuning voor moderne beeldformaten en Linux-randapparatuur
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: Systemen & Integratie
Firecrawl-platform als gedeelde crawlvoorziening
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
De Website Auditor en toekomstige applicaties moeten allemaal websites crawlen en documenten verwerken. Het is inefficiënt om die voorziening per applicatie opnieuw in te richten, met eigen toegang en eigen beheer.
2. Wat er gebouwd is
Een zelfgehost Firecrawl-platform met een aparte gateway. De gateway bewaakt het verbruik per applicatie, voorkomt dat een taak dubbel wordt uitgevoerd en houdt de status van taken bij. Zo gebruiken alle applicaties één beheerd koppelvlak.
4. Resultaat & Waarde
Een gedeelde voorziening met reproduceerbare uitrol en een expliciet beveiligd uitgaand netwerkpad voor crawlverkeer.
3. Toegepaste Techniek
Gepinde upstream-release en geverifieerde image-digests
Persistente gatewayopslag voor quota, idempotency en jobs
Egress-allowlist op PVE- en Dockerlaag
Readiness-controle, back-up en herstel, en uptimebewaking
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: AI & Processen
AI-chatwidget: installeerbare module die bezoekersvragen beantwoordt zonder trackingcookies
Schermafdruk van de chatwidget op de demowebsite Well Connected
1. Situatie & Uitdaging
Websitebezoekers moesten antwoord op hun vragen kunnen krijgen zonder trackingcookies of browseropslag. De sitekennis moest per website te wisselen zijn, zonder de widgetcode te kopiëren.
2. Wat er gebouwd is
Een herbruikbare softwaremodule die op de website van de klant wordt geïnstalleerd, met een los kennisbestand per website en een Node/TypeScript-backend die het AI-model aanroept.
4. Resultaat & Waarde
Een module die in productie is en te zien is op de Well Connected-website. Voor elke website wordt dezelfde widget geïnstalleerd; alleen het kennisbestand is per website anders.
3. Toegepaste Techniek
Vanilla JavaScript-widget in Shadow DOM
Geen cookies en geen browseropslag
OpenRouter met Claude Haiku als primair model en Gemini als reserve
Validatie, rate limiting en een dagbudget in de backend
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: AI & Processen
AIEnergyMonitor: energiegegevens veilig uitlezen en duiden
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Energiegegevens uit Home Assistant, actuele tarieven en apparaatstatussen zijn afzonderlijk beschikbaar, maar geven zonder samenhang weinig houvast voor een veilige volgende stap.
2. Wat er gebouwd is
Een eigen monitor die gegevens uit Home Assistant opslaat, datakwaliteit beoordeelt, prijs- en kostensituaties toont en adviezen of schakelvoorstellen kan voorbereiden.
4. Resultaat & Waarde
In de standaardmodus stuurt de monitor niets aan en geeft hij alleen advies. Metingen, adviezen en voorgestelde acties zijn zo eerst te controleren, en een apparaat schakelt alleen na expliciete goedkeuring.
3. Toegepaste Techniek
Python-service met lokale SQLite-opslag en FastAPI-dashboard
Home Assistant REST-inleeslaag en contractbewuste prijsprovider
Controle van de datakwaliteit: actualiteit, plausibiliteit en bruikbaarheid voor training
Shadowmodus (alleen meekijken en adviseren), allowlist voor apparaten en expliciete goedkeuring voor sturing
STATUS: IN ONTWIKKELING EIGEN PROJECT
Pijler: AI & Processen
Home Assistant AI: beeld- en sensoranalyse zonder cloud
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Camera- en sensorgegevens zijn bruikbaar voor meldingen en briefings, maar bevatten informatie die niet onnodig naar een commerciële clouddienst hoort te gaan. De oplossing moet bovendien blijven werken wanneer de internetverbinding wegvalt.
2. Wat er gebouwd is
Een eigen Home Assistant-integratie die camerabeelden en sensorgegevens naar een lokale AI-server stuurt. Dezelfde voorziening maakt contextuele ochtendbriefings en kan situaties in de fysieke omgeving beschrijven.
4. Resultaat & Waarde
Privacygevoelige analyses blijven lokaal, kennen geen terugkerende API-kosten en zijn ook zonder externe AI-dienst beschikbaar.
3. Toegepaste Techniek
Custom Home Assistant-component in Python
Lokale modelinference via Ollama op een afzonderlijke Debian-server
Samenvoeging van camera-, agenda- en sensorgegevens
Verwerking binnen het eigen netwerk, zonder verplichte cloudroute
STATUS: IN ONTWIKKELING EIGEN PROJECT
Pijler: Gegevens & Kwaliteit
RapportSprint: offline omzetreconciliatie
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Omzet uit een webshop, verkoopplatform en directe facturen komt in verschillende CSV-formaten binnen. Handmatig samenvoegen in spreadsheets kost tijd, leidt tot fouten en maakt privacygevoelige financiële gegevens afhankelijk van clouddiensten.
2. Wat er gebouwd is
Een volledig offline reconciliatie-engine die exports normaliseert, transacties ontdubbelt, retouren verwerkt en een interactief controlerapport voor ondernemer en boekhouder oplevert.
4. Resultaat & Waarde
Meerdere verkoopkanalen worden in seconden samengebracht tot een herleidbaar overzicht, zonder financiële bronbestanden naar een externe dienst te versturen.
3. Toegepaste Techniek
Dependency-vrije Python 3-implementatie met standaardbibliotheek
Berekeningen in exacte eurocenten, zonder afrondingsfouten
Flexibele kolomherkenning en namespaces voor ontdubbeling
Lokale HTML-rapportage en controleerbare CSV-uitvoer
Tv-gidsen voor Android TV zijn vaak advertentiegedreven, slecht te bedienen met een afstandsbediening of gebonden aan één televisieprovider. De programmagegevens van externe bronnen wisselen bovendien van vorm en beschikbaarheid.
2. Wat er gebouwd is
Een native Android TV-app met een eigen normalisatie- en cachingbackend. De backend vertaalt externe programmagegevens naar één stabiel REST-contract en een XMLTV-feed voor andere mediaclients.
4. Resultaat & Waarde
Eén rustige tv-ervaring voor de woonkamer en één centrale gegevensbron voor Android TV, Kodi, Jellyfin en andere XMLTV-clients.
3. Toegepaste Techniek
Kotlin, AndroidX Leanback en coroutines voor D-padbediening
Fastify-backend met TypeScript en Zod-contractvalidatie
Normalisatie naar REST en gestandaardiseerde XMLTV
Deep links naar officiële streams van NLZiet
STATUS: IN PRODUCTIE EIGEN PROJECT
Pijler: Processen & Beheer
Private cloud: 18 geïsoleerde diensten met herstelplan
Demo-weergave met fictieve gegevens
1. Situatie & Uitdaging
Zelf gehoste bedrijfsdiensten geven controle over data en kosten, maar worden zonder vaste beheerprocessen kwetsbaar voor configuratieverschillen, gemiste updates, stroomuitval en back-ups waarvan het terugzetten nooit is getest.
2. Wat er gebouwd is
Een gedocumenteerd beheer- en automatiseringsplatform voor een Proxmox-cluster met geïsoleerde Linux-containers, centrale netwerkvoorzieningen, monitoring, updatebewaking en gelaagde back-ups.
4. Resultaat & Waarde
Een eigen applicatieplatform waarop software controleerbaar kan draaien, met zicht op beschikbaarheid, wijzigingen en herstelbaarheid in plaats van alleen op de normale werking.
3. Toegepaste Techniek
Proxmox VE, Debian, LXC, systemd en gescheiden netwerkdiensten
Split-horizon DNS, reverse proxy en versleutelde toegang op afstand
3-2-1-back-ups met PBS, deduplicatie en versleutelde offsite kopieën
Monitoring, UPS-gestuurde shutdown en geteste herstelrunbooks
STATUS: IN PRODUCTIE EIGEN PROJECT
Klantcases en demonstrator
Websites
Websites gebouwd met dezelfde technische zorgvuldigheid: snel, zonder trackingcookies en met aandacht voor toegankelijkheid.
WordsPerfect.nl
Privacyvriendelijke website voor een tekstbureau: zonder trackingcookies, met een heldere semantische opbouw en korte laadtijden.
WordPress-demowebsite zonder pagebuilder. De vormgeving is vastgelegd in één centrale set design tokens die automatisch in het thema wordt overgenomen; interactieve blokken gebruiken de officiële Interactivity API van WordPress. Op deze site draait ook de demo van de AI-chatwidget.
Eigen demonstratorFSE · DESIGN TOKENS
Ontwikkeling & experimenten
Eigen tools en prototypes
Kleinere tools en prototypes, gebouwd om zoekalgoritmen en grootschalige dataverwerking in de praktijk uit te proberen.
Descrabblr.nl
Tool die bij een reeks letters alle mogelijke woorden zoekt en ze sorteert op puntwaarde, met een geoptimaliseerd zoekalgoritme.
Schaalbare crawler die grote aantallen .nl-domeinen analyseert op technische opbouw, SSL-configuratie en toegankelijkheid. De verwerkingsketen erachter staat hierboven beschreven als WebsiteCrawler.