CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Personal website hosted on GitHub Pages, built with Jekyll using the Minimal Mistakes theme. Content includes blog posts about technology projects, cooking recipes, sailing adventures, photography, music favorites, and professional articles.
Common Commands
# Install/update dependencies and serve locally
make all
# Build site locally (after initial setup)
make build
# Rebuild minified JavaScript assets
make assets
IMPORTANT: the user runs a constant build and serve loop. During development no build needs to be triggered, just request the user to visually inspect when ready.
The site runs at http://localhost:4000 when serving locally.
Architecture
Content Organization
_posts/subdirectories under content directories (e.g.,about/_posts/,technology/_posts/,koken/_posts/)- Posts use Jekyll’s date-prefixed naming:
YYYY-MM-DD-Title.md - Static pages in
_pages/directory _data/navigation.ymldefines the main navigation menu
Key Directories
_layouts/- Custom Jekyll layouts (single, archive, song, redirect, etc.)_includes/- Reusable Liquid includes (image, gallery, timeline, etc.)_sass/- SCSS stylesheetsassets/- Static assets (images, JS)_site/- Generated site output (gitignored in practice)md/- LLM-optimized markdown versions of key pages
Content Categories
about/- Professional articles and music posts (about/muziek/)makes/- Maker/DIY project postskoken/- Cooking recipes (Dutch)zeilen/- Sailing posts (Dutch)fotografie/- Photography contenttechnology/- Technical postslocal/- Local/draft content
Post Front Matter
Posts use standard Jekyll front matter with custom fields:
---
title: Post Title
tags: [tag1, tag2]
hidden: true # optional, hides from listings
header:
teaser: /path/to/thumb/image.jpg
image: /path/to/header/image.jpg
---
The hidden: true field filters posts from archive listings. Posts tagged wip show a “Work in Progress” notice.
Custom Includes
- `
` - Image embedding
- `
` - Image galleries
- `
-
Freelance Enterprise Architect
mei 2004 - ...
Als Enterprise Architect leef ik voor het ontwerpen van high-level IT-architecturen. Mijn focus ligt op “capabilities”, om een bedrijfsstrategie te vertalen naar een waardevolle IT-strategie.
Om complexe transformaties op te delen, stel ik roadmaps op die conflicten oplossen en stakeholders ondersteunen. Als betrouwbare partner van het strategisch management begeleid ik de beslissingen en zorg ik ervoor dat transformaties tastbare bedrijfswaarde kunnen opleveren. Om dit te bereiken, hecht ik veel waarde aan governance.
Met meer dan 25 jaar ervaring heb ik me voornamelijk gericht op architectuur. Zo heb ik bijgedragen aan grootschalige transformatie-initiatieven, waarbij ik zowel externe partners als interne teams aanstuurde. Hierbij werden mijn communicatieve en interpersoonlijke vaardigheden meermaals geprezen, met name mijn vermogen om complexe onderwerpen te vereenvoudigen en effectief te communiceren.
Mijn uitgebreide ervaring in diverse IT-disciplines, -industrieën en -organisaties toont mijn aanpassingsvermogen en flexibiliteit aan. In elke situatie heb ik consequent creatieve en innovatieve ideeën geïntroduceerd die vaak een aanzienlijke impact hadden.
-
Chief Positivity Officer @ Nation of Positivity
oktober 2024 - ...
Bij Nation of Positivity vind je veel kleine leuke cadeautjes. Allemaal gepersonaliseerd en bedoeld om jouw positiviteit aan iemand anders te geven.
Velen van jullie hebben de afgelopen jaren al een klein extraatje van mij gekregen. Ze waren altijd zelfgemaakt, gepersonaliseerd, uniek voor jou. Het was leuk om de soms wat verbaasde, maar altijd vooral heel dankbare reacties te zien. Want we hoeven niet allemaal een raket naar Mars te lanceren. Soms begint een beetje positiviteit gewoon bij jou en mij.
Met Nation of Positivity bied ik mijn atelier en mijn eigen werk aan in een kleine online shop; mijn bescheiden initiatief, mijn spreekwoordelijke duit in het zakje. Met liefde gemaakt om met heel veel liefde te kunnen geven. Samen zorgen we voor een beetje meer positiviteit in de wereld.
Dus breng vooral een bezoekje aan Nation of Positivity en geef het geschenk van positiviteit!
-
Enterprise Architect, Gosselin Group
augustus 2025 - maart 2026
Gosselin Group is een internationale logistieke reus met het unieke vermogen om in te spelen op constante veranderingen in een steeds groeiend landschap. Als Enterprise Architect begin ik met het erkennen van deze realiteit, het identificeren en ondersteunen van bestaande processen, en het opstellen van een roadmap om geleidelijk een uitdagende toekomstvisie te realiseren.
Mijn ervaring sluit perfect aan bij deze opdracht. Ik focus op processen, documentatie en grootschalige integraties. Mijn vermogen om complexe strategische inspanningen effectief te vertalen naar zowel C-level als operationele collega's, stelt me in staat om Enterprise Architectuur afstemming in de hele organisatie te implementeren.
Integratie is essentieel. Gosselin Group heeft uitgebreide internationale transport- en logistieke partners, evenals interne integraties tussen alle bedrijven onder haar vlag. Daarnaast moeten belangrijke componenten en processen binnen deze bedrijven worden geïntegreerd. Het beheren van deze integraties, het ontwerpen ervan, het realiseren ervan op een centraal IPAAS en het garanderen dat de gehele groep toegang heeft tot actuele documentatie, is een cruciale eerste stap in de geconsolideerde EA roadmap.
-
Framework & Standards Architect, Bank van Breda
maart 2023 - mei 2024
Als er één rode draad in mijn professionele carrière te bespeuren valt, dan is het wel die van methodologie, standaarden en documentatie, allemaal ter ondersteuning van een degelijke IT-strategie als implementatie van de bedrijfsvisie. Gecombineerd met het moderne en sterke IT-verhaal dat zich de afgelopen jaren bij Bank Van Breda heeft ontvouwd, en met een streven naar een rationele aanpak van documentatie, van bedrijfsniveau tot de daadwerkelijke implementatie, was ik klaar om mijn schouders onder deze enorme taak te zetten. Documentatie was duidelijk de drijvende kracht van de transformatie naar een berekenbare en meer gestructureerde IT-organisatie.
Om dit te bereiken, werden verschillende initiatieven aanvankelijk in een roadmap uitgewerkt. Ik paste Agile-principes toe en ontwierp een lichtgewicht, BPMN-gedreven documentatieaanpak. Deze aanpak resulteerde in een niet-intrusief, gedragen door business analyse end-to-end framework voor de documentatie van het softwareplatform doorheen het gehele ontwikkelingsproces. Tegelijkertijd werden business analisten gecoacht en samengebracht in een overkoepelende competentiegroep, die ondersteuning bood en met name de gehele ontwikkeling van binnenuit begeleidde.
-
Lead Solutions Architect, Acerta
juni 2021 - december 2022
Documenten zijn als het ware de slagaders van dit soort organisaties. Elk bedrijfsproces begint, wordt aangestuurd en eindigt met een document. Het documenten-platform is als domein verbonden met elk ander domein, waardoor het een centrale hub is die elk ander domein binnen de organisatie raakt. De mogelijkheden ervan zijn essentieel voor iedereen en elk proces, waardoor het een kritische succesfactor is. Een architecturale droom, zonder twijfel.
De overkoepelende architecturale visie, die de grote bedrijfsstrategie voor het EverESSt-programma ondersteunde, introduceerde significante structurele veranderingen in alle domeinen, inclusief het documenten-platform. Als architect voor dit domein had ik vele stakeholders om mee samen te werken, met als doel hun diverse visies, eisen en beperkingen te verenigen. De stakeholders waren niet alleen intern, maar ook vooral extern, met name door de integraties met externe providers van diensten omtrent het managen van documenten. Om deze integraties te beheren, hebben we de kracht van de Azure Cloud benut en een eenvoudige maar zeer veerkrachtige integratielaag gebouwd. Deze oplossing werd niet alleen goedgekeurd, maar ook geprezen in een door Microsoft uitgevoerde architectuurbeoordeling. Door nauw samen te werken met de interne ontwikkelteams en externe Azure-specialisten en hen te begeleiden, hebben we deze oplossing succesvol tot leven gebracht.
-
Lead Solutions Architect, TUI Belgium
april 2018 - juni 2021
Ik vergeleek een touroperator als TUI vaak met de Amazon van de reiswereld. Hun activiteiten zijn niet alleen enorm en uitgebreid, maar ze zijn ook continu actief, waardoor het lastig is om zoiets als een openhartoperatie uit te voeren terwijl ze lopen. TUI was bezig met het verenigen van ongeveer 10 afzonderlijke touroperators, elk met zijn eigen unieke 'stack' aan softwareoplossingen. Sommige van deze oplossingen waren gebaseerd op bestaande systemen, terwijl andere over meerdere jaren vanaf nul waren opgebouwd. De visie die op alle niveaus, van proces tot infrastructuur, gerealiseerd moest worden, was 'Één Platform'.
Na een uitgebreide mapping-fase selecteerden we de beste oplossingen uit alle stacks om één platform te bouwen. Om tegemoet te komen aan de zero-downtime eis, ontwierpen we een uitgebreid integratieplatform en hanteerden we een API-first-aanpak, waardoor domein- en solutions architecten onafhankelijk en autonoom binnen hun respectievelijke domeinen konden werken. Naast het aansturen van solutions architecten, bracht ik ook de business analisten van alle domeinen samen in een centrale analyse-cel. Ik introduceerde UML als een eenvoudige en gestandaardiseerde modelleer-taal om alle processen en datamodellen te formaliseren.
-
Onderzoeker, Universiteit Antwerpen
september 2015 - augustus 2016
Binnen de onderzoeksgroep rond energiezuinige draadloze netwerken, designde en ontwikkelde ik verschillende Internet of Things oplossingen voor industriële partners.
De focus lag enerzijds op de opkomende netwerktechnologieën zoals Dash7, LoRa, SIGFOX, maar vereiste ook verregaande integraties met andere zeer nieuwe electronica-componenten.
Voor één van deze projecten werd tevens een spin-off voorbereid. In het kader daarvan werd ons business plan geselecteerd voor het iMinds iStart incubator programma.
-
Onderzoeker, KU Leuven
september 2014 - augustus 2015
In navolging van mijn master thesis rond het verlagen van de impact van inbraakdetectie in draadloze sensor-netwerken, kon ik mijn onderzoek verderzetten binnen de werkgroep DistriNet.
In dit kader onderzocht ik de inzetbaarheid van programmeertalen bij het optimaliseren van het energieverbruik in draadloze sensor-netwerken in het algemeen.
Één van de resultaten van dit onderzoek was de definitie en initiële implementatie van een een domein specifieke taal die dit mogelijk maakte, genaamd foo-lang.
-
Master Computer Wetenschappen, KU Leuven
oktober 2011 - juni 2014
In 2011 besloot ik om een grote persoonlijke investering te doen en mijn vakgebied te verruimen. In overleg met de universiteit van Leuven, startte ik een verkort bachelor jaar en een twee-jarige masteropleiding computerwetenschappen.
Deze periode bood me de mogelijkheid om mij verder te verdiepen in electronica, robotica en embedded development. Zo ontstond een tweede fundamentele peiler voor mijn verdere toekomst.
Mijn masterproef onderzocht de mogelijkheden tot het Verlagen van de impact van inbraakdetectie in draadloze sensor-netwerken door middel van een domein-specifieke taal en code generatietechnieken (artikel, thesis). In meerdere opzichten was dit een combinatie van oude en nieuwe passies, software architectuur & code generatie en electronica & embedded development.
-
Platform Architect, UnifiedPost
mei 2010 - september 2011
Nadat ik het UnifiedPost platform vanuit een klant-oogpunt, voor Acerta, uitvoerig onder de loupe had genomen, was een overstap naar de andere kant van datzelfde platform een zeer leuke uitdaging.
Zo heb ik tal van functionele en technische analyses gemaakt omtrent de platform-specifieke aspecten van het UnifiedPost aanbod. Hierbij lag de focus op de beveiliging, schaalbaarheid en beschikbaarheid van het platform. Dit maakte het mogelijk om het bestaande platform uit te rollen naar verschillende internationale partners die het platform vervolgens autonoom konden uitbaten.
Met deze analyses van het platform, kon ik vervolgens ook verschillende interne en externe audits en certificering-procedures organiseren en ondersteunen.
-
Solution Architect, Acerta
april 2008 - december 2009
Binnen het architectuur team van Acerta leidde ik verschillende architecturale voorstudies voor nieuwe en vervangingsprojecten ten behoeve van verschillende business units. Business teams werden ondervraagd om concrete en volledige requirements te verzamelen, verschillende mogelijke strategieën werden onderzocht, ik onderhandelde met leveranciers en formuleerde een aanbevolen implementatie, rekening houdend met de bestaande infrastructuur en de toekomstvisie op business en ICT vlak.
Zo werkte ik o.a. in het initiële team dat de basis legde voor het nieuwe digitale documenten beheersysteem, op basis van het UnifiedPost aanbod.
-
Functioneel Analist & Methodologie Coach, SD Worx
januari 2006 - maart 2008
Voor de migratie van het bestaande loonberekeningsplatform, op basis van een mainframe en COBOL, naar een .NET-gebaseerd platform, ondersteunde ik SD Worx initiëel bij de functioneel analyse-fase. Dit vroeg een nauwe samenwerking met het business en het management team. Zowel in de KMO als GO afdeling begeleidde ik het analyse team bij het in kaart brengen en definiëren van het toekomstige nieuwe platform.
Dankzij een doorgedreven object-georiënteerde analyse, met verschillende technieken uit MDA/UML en SOA-gedreven projectbeheer, werd de basis gelegd voor een moderne aanpak van software ontwikkeling naar de toekomst toe.
-
Technisch Architect & Release Manager, Business Architects International
juli 2004 - december 2005
Business Architects International was in 2004 dé referentie wanneer het UML modellering betrof. Binnen het CLP team, kon ik mij verdiepen in de details van de enorme mogelijkheden van deze analyse-techniek.
Als technisch architect werkte ik functionele modellen uit, betreffende hypotheken en kredieten voor Rabo Bank Nederland. Hierbij werden ver doorgedreven technieken van UML en MDA principes toegepast om tot modellen te komen die volledig geautomatiseerd tot programmacode konden omgezet worden door Cap Gemini.
Later opereerde ik als overkoepelende release manager van het hele design- en modelleringsproces, stelde ik de nodige procedures op en implementeerde deze voor het samenstellen van kwalitatieve releases met de nodige garanties.
-
Oprichting 2Know BVBA
mei 2004
Met de oprichting van 2Know ving mij carrière als freelancer aan. Vanaf nu kon ik mijn expertise betreffende software architectuur, het uitwerken van software analyses & ontwikkelingsprocessen en het begeleiden van software analyse- & ontwikkelingsteams, in de beste omstandigheden aanbieden.
Vanuit mijn onafhankelijke positie ben ik in staat om steeds naar de beste oplossing voor een gegeven situatie te zoeken, zonder beperkingen of vooroordelen, uit andere, commerciële overwegingen. Deze situatie is typerend voor mijn aanpak en heeft over de jaren duidelijk zijn stempel gedrukt en vruchten afgeworpen.
-
Software Architect, Telindus Corporate
mei 2002 - september 2003
Bij Telindus, was ik verantwoordelijk voor het ontwerp en de integratie van het een netwerk-event correlatie- en rapportering-systeem voor het International Service Center.
De strategie voor het ISC project was een verregaande integratie van bestaande componenten. Hiervoor diende ik verschillende partijen te evalueren en met elkaar in een overkoepelende en geïntegreerde architectuur te verenigen.
-
Mede-oprichter Valid Solutions
juni 2002 - maart 2004
In 2002 richtte ik samen met Dale Hofkens Valid Solutions op. Valid paste vooruitstrevende web-technologieën toe, en creëerde zo zeer dynamische producten voor de Belgische KMO markt. We zagen daarmee reeds zeer vroeg de kracht van het wereld-wijde web voor dit marktsegment - iets dat de daarop volgende jaren zeer duidelijk werd, bv. met de lancering van GMail.
Binnen Valid Solutions was ik verantwoordelijk voor het ontwerp en ontwikkeling van de KMO-gerichte internet-gebaseerde producten, die in de vorm van diensten aangeboden werden. Zo was ik bv. projectleider voor de ontwikkeling van een online orderverwerking-platform voor de Belgische tak van Ratiopharm.
-
Software Analist & Teamleider, Ubizen
februari 2000 - februari 2002
Wat startte als een stage tijdens het laatste jaar van mijn opleiding, werd mijn eerste positie binnen een groot en snel groeiend bedrijf. Eerst Netvision, daarna Ubizen, later Cybertrust en sinds 2007 deel van Verizon Business.
Al snel werd ik verantwoordelijk voor het ontwerp van een volgende versie van OnlineGuardian, het monitoring platform voor beveiligingscomponenten. Als teamleider van het ontwikkelingsteam bouwde ik een van de tofste en krachtigste teams uit waarmee ik al heb mogen werken.
-
Oprichting ISW
academiejaar 1998-1999
Anno 1998 regeerden BBS'en, was het mainframe koning en was er van het internet slechts sprake in de kelder van enkelingen. De studenten informatica van de KHLeuven kregen de beginselen van de informatica die voor handen waren, maar sommigen wilden toch al eens wat meer, o.a. ikzelf ;-)
Enigszins in een zoektocht naar gelijkgestemden binnen de school, stelde ik aan de directie voor om een parascolaire werkgroep op te richten waar workshops rond andere topics door en voor studenten georganiseerd konden worden. Na een korte rondvraag ontstond ISW
Vandaag, na meer dan 20 jaar bestaat ISW nog steeds en is het uitgegroeid tot een belangrijk onderdeel van de informatica-opleiding aan het UCLL. Ik ben werkelijk trots aan de wieg gestaan te hebben van zo'n mooi verhaal.
` - Timeline display on homepage
Development Notes
- Uses
github-pagesgem for GitHub Pages compatibility - Requires
webrickgem on newer Ruby versions - JavaScript minification uses
terser - Site locale is English; some sections use Dutch (
locale: nlin front matter)
LLM-Optimized Content Maintenance
This site implements the llms.txt standard for LLM-friendly content discovery. The following components MUST be kept up-to-date whenever content changes.
Files Requiring Maintenance
1. /llms.txt - LLM Content Map
The primary entry point for LLMs. Must be updated when:
- New pages are created: Add relevant links to appropriate sections
- Pages are removed: Remove corresponding links
- Page URLs change: Update URLs in links
- Page descriptions change: Update descriptions to remain accurate
Structure:
# Christophe VG
> Brief description
## Section Name
- [Page Title](https://christophe.vg/path/): Description
## Markdown Versions
- [Page (markdown)](https://christophe.vg/md/path/file.md): Description
2. /md/ Directory - LLM-Optimized Markdown Files
Clean markdown versions of key pages, optimized for LLM consumption.
Creating new markdown files:
- Create file in appropriate subdirectory:
md/about/filename.md - Include front matter with URL:
URL: https://christophe.vg/path/to/page/ - Structure content for LLM chunking:
- Lead with summary/key takeaways
- Use clear section headings
- Include structured data (tables, lists)
- Keep paragraphs concise (40-70 words)
- Add definitions for key terms
When to update:
- When source HTML page is significantly changed
- When new key pages are added to About section
- When factual information changes (services, contact info, etc.)
Current markdown files:
md/about/index.md- About page summarymd/about/faq.md- Frequently asked questionsmd/about/I-Enterprise-Architect.md- Architecture philosophymd/about/problem-seeker.md- Problem-seeking approachmd/about/coding-agent.md- AI collaboration practices
3. /_includes/faq-schema.html - FAQ Structured Data
FAQPage schema for search engines and LLMs. Must be updated when:
- FAQ questions are added, removed, or reworded
- FAQ answers change significantly
- New factual information requires FAQ coverage
4. /_config.yml - Site Configuration (JSON-LD)
The social: section contains structured data for the Person schema. Update when:
- Social media profiles change
- Location changes
- Name/title changes
5. /about/_posts/2026-04-02-FAQ.md - FAQ Page Content
The FAQ page must remain synchronized with site content. Update when:
- New common questions emerge from user feedback
- Services or offerings change
- Contact information changes
- New sections/content are added to the site that warrant FAQ entries
Content Creation Checklist for AI-Generated Pages
When creating new content pages, include these front matter fields:
---
title: Page Title
tags:
- thing
- personal
- agentic # Include this tag for AI-generated content
prompt: The exact prompt used to generate this content
header:
teaser: /path/to/thumb.jpg
image: /path/to/header.jpg
---
Required for AI-generated pages:
agentictag in tags listpromptfield with the generation prompt- Content must be reviewed and approved before publishing
Maintenance Procedures
When Adding New About/Professional Pages:
- Create the page in
about/_posts/YYYY-MM-DD-Title.md - If significant enough for LLM consumption:
- Create
md/about/filename.mdwith optimized content - Add entry to
llms.txtunder “About” section - Add entry to “Markdown Versions” section in
llms.txt
- Create
- If page answers common questions:
- Add question/answer to FAQ page
- Update
faq-schema.htmlwith new Q&A
When Adding New Project/Category Pages:
- Create the archive page in
_posts/or_pages/ - Add link to
llms.txtunder appropriate section - Consider if FAQ entry is needed
When Updating Existing Content:
- If page has a corresponding
md/file, update it too - If FAQ entries reference the content, verify accuracy
- If contact info, services, or key facts change:
- Update
_config.ymlsocial section - Update FAQ page
- Update
llms.txtdescriptions - Update relevant
md/files
- Update
When Removing Content:
- Remove page file
- Remove corresponding
md/file if exists - Remove link from
llms.txt - Check if FAQ entries need removal
- Update
faq-schema.htmlif needed
Verification Commands
After making changes to LLM-specific files:
# Verify llms.txt is accessible
curl -I https://christophe.vg/llms.txt
# Verify JSON-LD in page source
curl -s https://christophe.vg/about/ | grep "application/ld+json"
# Verify markdown files are served
curl -I https://christophe.vg/md/about/faq.md
# Verify robots.txt
curl https://christophe.vg/robots.txt
Key URLs for Reference
https://christophe.vg/llms.txt- LLM content maphttps://christophe.vg/robots.txt- Robots file with sitemaphttps://christophe.vg/about/faq/- FAQ pagehttps://christophe.vg/md/- LLM-optimized markdown files
vCard
Homemade by CVG
My Homemade Apps
Thingiverse
Strava