Portfolio
Werkende code achter de positionering, in drie gebieden: het doelmodel bepalen en modelleren, een landschap ernaartoe verhuizen, en het platform eronder draaien. Elke repository hier is openbaar, draait end-to-end, en zegt in de eigen README waar de demo stopt en productie zou beginnen.
Werkende code, en wat die aantoont
Data-architectuur & modellering
Bepalen hoe het doel eruitziet, en wat er over het koppelvlak heen moet om er te komen.
- 1Modelleer één domein op vier manieren
enterprise-data-model-lab
Werkend — draait end-to-endMITWat het aantoont
Eén retaildomein op vier manieren gemodelleerd: glossary, conceptueel, logisch, en dan twee fysieke doelen uit dezelfde staging, Kimball-dimensioneel en een Data Vault 2.0 raw vault. Veertien assertions bewaken elke build, en de afweging is gemeten: 1 join en 0,79 ms tegen 3 joins en 302 ms, bij 3× zoveel opgeslagen rijen. Draait met `make demo`.
Bekijk repository - 2Bepaal wat het SAP↔cloud-koppelvlak oversteekt
sap-bdc-snowflake-blueprint
Werkend — draait end-to-endMITWat het aantoont
Een SAP → Business Data Cloud/Datasphere → Snowflake-referentiearchitectuur van één pagina, met de beslissing erbij. Negen geordende regels wijzen elk van 24 objecten een modus toe (delen, repliceren, federeren, splitsen, of in SAP houden); dataresidentie en SLO's elimineren eerst, en de kosten kiezen uit wat overblijft. Een lokale DuckDB-simulatie draait de modi. Draait met `make demo`.
Bekijk repository - 3Bepaal waar een Synapse-landschap heen gaat
azure-lakehouse-decision
Werkend — draait end-to-endMITWat het aantoont
Microsoft Fabric of Databricks-op-Azure voor een Synapse-landschap van 20 workloads, per workload beslist. Negen geordende regels: dataresidentie, streamingsemantiek en ML-levenscyclus elimineren, en de kosten kiezen uit wat overblijft. Een Fabric-workload heeft geen eigen prijs; één extra kost niets tot de vooruitbetaalde capaciteit vol is, en daarna een hele trede. Draait met `make demo`, zonder Azure-abonnement.
Bekijk repository - 4Bepaal wat 'actieve klant' betekent
ai-first-bi-platform
Werkend — draait end-to-endMITWat het aantoont
Drie verdedigbare definities van “actieve klant” (die van Operations, Analytics en Finance), gebouwd in een echt dbt-project, met 953, 900 en 881 als uitkomst op hetzelfde landschap op dezelfde datum. Niemand heeft ongelijk, en geen enkel dashboard zegt welke het toont. De bevinding eronder: de operationele tabel kán de vraag niet beantwoorden, omdat de `status`-kolom ter plekke wordt overschreven. Draait met `make demo`.
Bekijk repository
Modernisering & migratie
Een draaiend landschap in golven verplaatsen, met pariteitscontroles in plaats van een big-bang-weekend.
- 1Verhuis een warehouse in golven
legacy-dwh-migration
Werkend — draait end-to-endMITWat het aantoont
Een legacy warehouse dat in golven wordt gemigreerd, met de programma-artefacten als code. De assessment wordt uit het landschap zelf gehaald; 36% van de objecten blijkt nooit bevraagd, en wat weg kan wordt gescheiden van wat slapend is maar waar nog iets op leunt. De cutover wordt bewaakt door een pariteitscontrole met één ingebouwd defect, om te laten zien dat de controle het ook echt vangt. Draait met `make demo`.
Bekijk repository - 2Moderniseer legacy live, in golven
oracle-to-spring-strangler
Werkend — draait end-to-endMITWat het aantoont
Een werkend legacy-moderniseringslab: een Oracle PL/SQL + ORDS-systeem live gemigreerd naar Spring Boot + PostgreSQL via het strangler-fig-patroon. Cutover per endpoint, in golven, via een nginx-router: een golf is een PR en een rollback een git revert, met golden-master-pariteitscontroles als exitcriteria. Draait met `docker compose up`.
Bekijk repository
Integratie & platformdiensten
Het selfserviceplatform waar de teams verderop dagelijks mee werken.
- 1Stream & integreer events op platformschaal
event-integration-platform
Werkend — draait end-to-endMITWat het aantoont
Een Kafka-native, multi-tenant platform voor event-streaming en integratie: REST→Kafka-ingest, beheerde JSONata-transformaties met DLQ en replay, Kafka Connect-sinks, een control-plane-API en een drag-and-drop pipeline-UI, alles onder workspace-scoped observability. Het selfserviceplatform waar een integratieteam dagelijks mee werkt. Draait met `docker compose up`.
Bekijk repository - 2Beheer identiteit over producten heen
identity-service
Werkend — draait end-to-endMITWat het aantoont
Een werkende self-hosted identity provider: OAuth 2.0 + OIDC-tokenuitgifte (RS256, gepubliceerde JWKS), een headless TypeScript-SDK en een drop-in React `<Login/>`. Het geauditeerde beheervlak spreekt zowel HTTP als MCP, zodat agents het onder hetzelfde contract bedienen als mensen. Alleen authenticatie; producten houden hun eigen autorisatie. Draait met `docker compose up`.
Bekijk repository - 3Houd het model buiten de runtime
skills-coach
Werkend — draait end-to-endMITWat het aantoont
Een pack-gedreven trainingsplatform dat zelf geen enkele model-client bevat: de runtime beheert de packs, de deterministische beoordeling, de spaced-repetition-drempels en een blijvend beeld van wat een cursist steeds fout doet. Generatie en correctie zitten achter een geversioneerde coach-API, dus de aanroeper kan vandaag een mens zijn en later een model-API. Draait met `make up`.
Bekijk repository
Deze draaien allemaal end-to-end; kloon er een en start hem op. Twee kanttekeningen. Ze draaien op synthetische data, dus de claim zit in de architectuur en de werking, en elke README zegt waar echte data in de plaats zou komen. En de drie blueprint-achtige repositories zijn in de eerste plaats documenten: wat draait is de beslissingsengine, het kostenmodel en de simulatie achter het document. Geen van deze repositories is een productiesysteem.