PageSourceSearch

https://vernaillen.vercel.app/

html vernaillen.vercel.app collected 2026-10-03 07:59:16 UTC 93,823 bytes, 97 lines download raw bytes

1<!DOCTYPE html><html  data-color-mode-forced="light" lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style id="nuxt-ui-colors">@layer base {
2  :root {
3  --ui-color-primary-50: var(--color-vernaillen-50, );
4  --ui-color-primary-100: var(--color-vernaillen-100, );
5  --ui-color-primary-200: var(--color-vernaillen-200, );
6  --ui-color-primary-300: var(--color-vernaillen-300, );
7  --ui-color-primary-400: var(--color-vernaillen-400, );
8  --ui-color-primary-500: var(--color-vernaillen-500, );
9  --ui-color-primary-600: var(--color-vernaillen-600, );
10  --ui-color-primary-700: var(--color-vernaillen-700, );
11  --ui-color-primary-800: var(--color-vernaillen-800, );
12  --ui-color-primary-900: var(--color-vernaillen-900, );
13  --ui-color-primary-950: var(--color-vernaillen-950, );
14  --ui-color-secondary-50: var(--color-blue-50, oklch(97% 0.014 254.604));
15  --ui-color-secondary-100: var(--color-blue-100, oklch(93.2% 0.032 255.585));
16  --ui-color-secondary-200: var(--color-blue-200, oklch(88.2% 0.059 254.128));
17  --ui-color-secondary-300: var(--color-blue-300, oklch(80.9% 0.105 251.813));
18  --ui-color-secondary-400: var(--color-blue-400, oklch(70.7% 0.165 254.624));
19  --ui-color-secondary-500: var(--color-blue-500, oklch(62.3% 0.214 259.815));
20  --ui-color-secondary-600: var(--color-blue-600, oklch(54.6% 0.245 262.881));
21  --ui-color-secondary-700: var(--color-blue-700, oklch(48.8% 0.243 264.376));
22  --ui-color-secondary-800: var(--color-blue-800, oklch(42.4% 0.199 265.638));
23  --ui-color-secondary-900: var(--color-blue-900, oklch(37.9% 0.146 265.522));
24  --ui-color-secondary-950: var(--color-blue-950, oklch(28.2% 0.091 267.935));
25  --ui-color-success-50: var(--color-green-50, oklch(98.2% 0.018 155.826));
26  --ui-color-success-100: var(--color-green-100, oklch(96.2% 0.044 156.743));
27  --ui-color-success-200: var(--color-green-200, oklch(92.5% 0.084 155.995));
28  --ui-color-success-300: var(--color-green-300, oklch(87.1% 0.15 154.449));
29  --ui-color-success-400: var(--color-green-400, oklch(79.2% 0.209 151.711));
30  --ui-color-success-500: var(--color-green-500, oklch(72.3% 0.219 149.579));
31  --ui-color-success-600: var(--color-green-600, oklch(62.7% 0.194 149.214));
32  --ui-color-success-700: var(--color-green-700, oklch(52.7% 0.154 150.069));
33  --ui-color-success-800: var(--color-green-800, oklch(44.8% 0.119 151.328));
34  --ui-color-success-900: var(--color-green-900, oklch(39.3% 0.095 152.535));
35  --ui-color-success-950: var(--color-green-950, oklch(26.6% 0.065 152.934));
36  --ui-color-info-50: var(--color-blue-50, oklch(97% 0.014 254.604));
37  --ui-color-info-100: var(--color-blue-100, oklch(93.2% 0.032 255.585));
38  --ui-color-info-200: var(--color-blue-200, oklch(88.2% 0.059 254.128));
39  --ui-color-info-300: var(--color-blue-300, oklch(80.9% 0.105 251.813));
40  --ui-color-info-400: var(--color-blue-400, oklch(70.7% 0.165 254.624));
41  --ui-color-info-500: var(--color-blue-500, oklch(62.3% 0.214 259.815));
42  --ui-color-info-600: var(--color-blue-600, oklch(54.6% 0.245 262.881));
43  --ui-color-info-700: var(--color-blue-700, oklch(48.8% 0.243 264.376));
44  --ui-color-info-800: var(--color-blue-800, oklch(42.4% 0.199 265.638));
45  --ui-color-info-900: var(--color-blue-900, oklch(37.9% 0.146 265.522));
46  --ui-color-info-950: var(--color-blue-950, oklch(28.2% 0.091 267.935));
47  --ui-color-warning-50: var(--color-yellow-50, oklch(98.7% 0.026 102.212));
48  --ui-color-warning-100: var(--color-yellow-100, oklch(97.3% 0.071 103.193));
49  --ui-color-warning-200: var(--color-yellow-200, oklch(94.5% 0.129 101.54));
50  --ui-color-warning-300: var(--color-yellow-300, oklch(90.5% 0.182 98.111));
51  --ui-color-warning-400: var(--color-yellow-400, oklch(85.2% 0.199 91.936));
52  --ui-color-warning-500: var(--color-yellow-500, oklch(79.5% 0.184 86.047));
53  --ui-color-warning-600: var(--color-yellow-600, oklch(68.1% 0.162 75.834));
54  --ui-color-warning-700: var(--color-yellow-700, oklch(55.4% 0.135 66.442));
55  --ui-color-warning-800: var(--color-yellow-800, oklch(47.6% 0.114 61.907));
56  --ui-color-warning-900: var(--color-yellow-900, oklch(42.1% 0.095 57.708));
57  --ui-color-warning-950: var(--color-yellow-950, oklch(28.6% 0.066 53.813));
58  --ui-color-error-50: var(--color-red-50, oklch(97.1% 0.013 17.38));
59  --ui-color-error-100: var(--color-red-100, oklch(93.6% 0.032 17.717));
60  --ui-color-error-200: var(--color-red-200, oklch(88.5% 0.062 18.334));
61  --ui-color-error-300: var(--color-red-300, oklch(80.8% 0.114 19.571));
62  --ui-color-error-400: var(--color-red-400, oklch(70.4% 0.191 22.216));
63  --ui-color-error-500: var(--color-red-500, oklch(63.7% 0.237 25.331));
64  --ui-color-error-600: var(--color-red-600, oklch(57.7% 0.245 27.325));
65  --ui-color-error-700: var(--color-red-700, oklch(50.5% 0.213 27.518));
66  --ui-color-error-800: var(--color-red-800, oklch(44.4% 0.177 26.899));
67  --ui-color-error-900: var(--color-red-900, oklch(39.6% 0.141 25.723));
68  --ui-color-error-950: var(--color-red-950, oklch(25.8% 0.092 26.042));
69  --ui-color-neutral-50: var(--color-zinc-50, oklch(98.5% 0 0));
70  --ui-color-neutral-100: var(--color-zinc-100, oklch(96.7% 0.001 286.375));
71  --ui-color-neutral-200: var(--color-zinc-200, oklch(92% 0.004 286.32));
72  --ui-color-neutral-300: var(--color-zinc-300, oklch(87.1% 0.006 286.286));
73  --ui-color-neutral-400: var(--color-zinc-400, oklch(70.5% 0.015 286.067));
74  --ui-color-neutral-500: var(--color-zinc-500, oklch(55.2% 0.016 285.938));
75  --ui-color-neutral-600: var(--color-zinc-600, oklch(44.2% 0.017 285.786));
76  --ui-color-neutral-700: var(--color-zinc-700, oklch(37% 0.013 285.805));
77  --ui-color-neutral-800: var(--color-zinc-800, oklch(27.4% 0.006 286.033));
78  --ui-color-neutral-900: var(--color-zinc-900, oklch(21% 0.006 285.885));
79  --ui-color-neutral-950: var(--color-zinc-950, oklch(14.1% 0.005 285.823));
80  }
81  :root, .light {
82  --ui-primary: var(--ui-color-primary-500);
83  --ui-secondary: var(--ui-color-secondary-500);
84  --ui-success: var(--ui-color-success-500);
85  --ui-info: var(--ui-color-info-500);
86  --ui-warning: var(--ui-color-warning-500);
87  --ui-error: var(--ui-color-error-500);
88  }
89  .dark {
90  --ui-primary: var(--ui-color-primary-400);
91  --ui-secondary: var(--ui-color-secondary-400);
92  --ui-success: var(--ui-color-success-400);
93  --ui-info: var(--ui-color-info-400);
94  --ui-warning: var(--ui-color-warning-400);
95  --ui-error: var(--ui-color-error-400);
96  }
97}</style><title>Home - Wouter Vernaillen - Wouter Vernaillen</title><style>.anim div{display:inline-block}</style><style>.lazyImg[lazy=loading]{opacity:0}
97.lazyImg[lazy=loaded]{opacity:var(--9baf2668)}</style><link rel="stylesheet" href="/_nuxt/entry.Yz4DWLs3.css" crossorigin><style>@layer components {:where(.i-custom\:qa){display:inline-block;width:1em;height:1em;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 123 123' width='123' height='123'%3E%3Cpath fill='%239c8e1b' d='M90.12,112.94l-11.7-2.1-5.81,10.39c-4.21,5.22-6.88-3.36-8.06-6.35L53.26,93.58c2.6-.9,5.74-3.51,9-6.43,6.43.13,12.42-1,16.83-6.6l13,25.08,1.13,2.4c.88,3.13.42,5.2-3,4.91Zm-86.68,0,11.7-2.1L21,121.23c4.21,5.22,6.88-3.36,8.06-6.35L40.3,93.58c-2.6-.9-5.74-3.51-9-6.43-6.43.13-12.42-1-16.83-6.6l-13,25.08L.39,108c-.89,3.13-.42,5.2,3.05,4.91ZM70.5,8a6,6,0,0,1,2,1.26l5.72,5.28h0a6.59,6.59,0,0,1,1.4,1.89,5.7,5.7,0,0,1,.56,2.33,6.18,6.18,0,0,1-.39,2.37,5.51,5.51,0,0,1-1.3,2l-.76.83a34.66,34.66,0,0,1,3,7l.55,0a5.88,5.88,0,0,1,2.37.38,6,6,0,0,1,2,1.27l0,0a5.8,5.8,0,0,1,1.37,1.91,6.16,6.16,0,0,1,.55,2.29l.29,7.87A5.87,5.87,0,0,1,86.3,49a6,6,0,0,1-1.94,1.41,6.2,6.2,0,0,1-2.33.52l-1.14,0a35.18,35.18,0,0,1-2.83,7l.41.36.11.11a5.9,5.9,0,0,1,1.33,1.94,6,6,0,0,1,.52,2.29,6.16,6.16,0,0,1-.35,2.3,6.29,6.29,0,0,1-1.19,2l-.07.07L73.5,72.71a6.1,6.1,0,0,1-1.9,1.44,5.9,5.9,0,0,1-2.37.56,6.5,6.5,0,0,1-2.4-.39,5.59,5.59,0,0,1-2-1.3L64,72.2a34.45,34.45,0,0,1-6.89,2.92l0,.57a5.49,5.49,0,0,1-.39,2.36,5.64,5.64,0,0,1-1.26,2l0,0a5.66,5.66,0,0,1-1.91,1.37,6.12,6.12,0,0,1-2.28.56l-7.87.28A5.88,5.88,0,0,1,39,80.69a6.15,6.15,0,0,1-1.41-1.94A6.4,6.4,0,0,1,37,76.42l0-1.15A34.85,34.85,0,0,1,30,72.44l-.38.41-.1.11a5.75,5.75,0,0,1-1.94,1.33,6.26,6.26,0,0,1-4.58.17,6.52,6.52,0,0,1-2-1.19l-.07-.07L15.2,67.81a6.68,6.68,0,0,1-1.4-1.91,6,6,0,0,1-.56-2.33,6.61,6.61,0,0,1,.39-2.36,6.46,6.46,0,0,1,1.3-2l.81-.87a35.39,35.39,0,0,1-2.92-6.9l-.56,0a5.49,5.49,0,0,1-2.36-.39,5.82,5.82,0,0,1-2-1.26l0,0a5.91,5.91,0,0,1-1.37-1.91,6.41,6.41,0,0,1-.55-2.29l-.29-7.87A6.47,6.47,0,0,1,6,35.36a6.41,6.41,0,0,1,1.26-2A6.15,6.15,0,0,1,9.2,31.92a6.4,6.4,0,0,1,2.33-.52l1.14,0a35.32,35.32,0,0,1,2.84-7L15.14,24a5.6,5.6,0,0,1-1.41-1.94,5.86,5.86,0,0,1-.56-2.33,5.75,5.75,0,0,1,.39-2.36,6.07,6.07,0,0,1,1.26-2L20.1,9.62v0A6.49,6.49,0,0,1,22,8.18a5.85,5.85,0,0,1,2.33-.55A6.36,6.36,0,0,1,26.69,8a5.51,5.51,0,0,1,2,1.3l.89.82a35.12,35.12,0,0,1,6.87-2.92l0-.6a5.64,5.64,0,0,1,.39-2.36,6,6,0,0,1,1.26-2l0,0A5.73,5.73,0,0,1,40,.85,6.17,6.17,0,0,1,42.28.29L50.14,0a6.53,6.53,0,0,1,2.37.35,5.53,5.53,0,0,1,2,1.27A5.86,5.86,0,0,1,56,3.55a6.4,6.4,0,0,1,.52,2.33l0,1.14a35.37,35.37,0,0,1,7,2.83l.35-.37a5.57,5.57,0,0,1,1.94-1.4,5.78,5.78,0,0,1,2.33-.56,5.91,5.91,0,0,1,2.36.38V8ZM37.83,35l5.69,5.36L54.94,28.7c1.13-1.15,1.84-2.06,3.23-.63L62.7,32.7c1.49,1.47,1.41,2.33,0,3.7L46.09,52.71c-3,2.9-2.44,3.08-5.43.11L30.2,42.42a1.32,1.32,0,0,1,.13-2l5.25-5.44c.8-.82,1.43-.77,2.25,0ZM41.73,16A25.64,25.64,0,1,1,21.65,46.21,25.65,25.65,0,0,1,41.73,16Z'/%3E%3C/svg%3E")}:where(.i-heroicons\:arrow-right){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E")}:where(.i-heroicons\:arrow-right-20-solid){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M3 10a.75.75 0 0 1 .75-.75h10.638L10.23 5.29a.75.75 0 1 1 1.04-1.08l5.5 5.25a.75.75 0 0 1 0 1.08l-5.5 5.25a.75.75 0 1 1-1.04-1.08l4.158-3.96H3.75A.75.75 0 0 1 3 10' clip-rule='evenodd'/%3E%3C/svg%3E")}:where(.i-heroicons\:arrow-up-right){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.5 19.5l15-15m0 0H8.25m11.25 0v11.25'/%3E%3C/svg%3E")}:where(.i-heroicons\:check){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4.5 12.75l6 6l9-13.5'/%3E%3C/svg%3E")}:where(.i-heroicons\:heart){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21 8.25c0-2.485-2.099-4.5-4.687-4.5c-1.936 0-3.598 1.126-4.313 2.733c-.715-1.607-2.377-2.733-4.312-2.733C5.098 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12'/%3E%3C/svg%3E")}:where(.i-heroicons\:star){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.56.56 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.56.56 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.56.56 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.56.56 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.56.56 0 0 0 .475-.345z'/%3E%3C/svg%3E")}
97:where(.i-ic\:baseline-commit){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M16.9 11a5 5 0 0 0-9.8 0H2v2h5.1a5 5 0 0 0 9.8 0H22v-2zM12 15c-1.66 0-3-1.34-3-3s1.34-3 3-3s3 1.34 3 3s-1.34 3-3 3'/%3E%3C/svg%3E")}:where(.i-ic\:baseline-wordpress){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10s10-4.49 10-10S17.51 2 12 2M3.01 12c0-1.3.28-2.54.78-3.66l4.29 11.75c-3-1.46-5.07-4.53-5.07-8.09M12 20.99c-.88 0-1.73-.13-2.54-.37l2.7-7.84l2.76 7.57c.02.04.04.09.06.12c-.93.34-1.93.52-2.98.52m1.24-13.21c.54-.03 1.03-.09 1.03-.09c.48-.06.43-.77-.06-.74c0 0-1.46.11-2.4.11c-.88 0-2.37-.11-2.37-.11c-.48-.02-.54.72-.05.75c0 0 .46.06.94.09l1.4 3.84l-1.97 5.9l-3.27-9.75c.54-.02 1.03-.08 1.03-.08c.48-.06.43-.77-.06-.74c0 0-1.46.11-2.4.11c-.17 0-.37 0-.58-.01C6.1 4.62 8.86 3.01 12 3.01c2.34 0 4.47.89 6.07 2.36c-.04 0-.08-.01-.12-.01c-.88 0-1.51.77-1.51 1.6c0 .74.43 1.37.88 2.11c.34.6.74 1.37.74 2.48c0 .77-.3 1.66-.68 2.91l-.9 3zm6.65-.09a8.99 8.99 0 0 1-3.37 12.08l2.75-7.94c.51-1.28.68-2.31.68-3.22c0-.33-.02-.64-.06-.92'/%3E%3C/svg%3E")}:where(.i-logos\:nuxt-icon){display:inline-block;width:1.53em;height:1em;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 168' width='256' height='168'%3E%3Cpath fill='%2300DC82' d='M143.618 167.029h95.166c3.023 0 5.992-.771 8.61-2.237a16.96 16.96 0 0 0 6.302-6.115a16.3 16.3 0 0 0 2.304-8.352c0-2.932-.799-5.811-2.312-8.35L189.778 34.6a16.97 16.97 0 0 0-6.301-6.113a17.6 17.6 0 0 0-8.608-2.238c-3.023 0-5.991.772-8.609 2.238a16.96 16.96 0 0 0-6.3 6.113l-16.342 27.473l-31.95-53.724a17 17 0 0 0-6.304-6.112A17.64 17.64 0 0 0 96.754 0c-3.022 0-5.992.772-8.61 2.237a17 17 0 0 0-6.303 6.112L2.31 141.975a16.3 16.3 0 0 0-2.31 8.35c0 2.932.793 5.813 2.304 8.352a16.96 16.96 0 0 0 6.302 6.115a17.6 17.6 0 0 0 8.61 2.237h59.737c23.669 0 41.123-10.084 53.134-29.758l29.159-48.983l15.618-26.215l46.874 78.742h-62.492zm-67.64-26.24l-41.688-.01L96.782 35.796l31.181 52.492l-20.877 35.084c-7.976 12.765-17.037 17.416-31.107 17.416'/%3E%3C/svg%3E")}:where(.i-lucide\:menu){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 12h16M4 18h16M4 6h16'/%3E%3C/svg%3E")}:where(.i-mdi\:heart){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='m12 21.35l-1.45-1.32C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5c0 3.77-3.4 6.86-8.55 11.53z'/%3E%3C/svg%3E")}:where(.i-simple-icons\:github){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}:where(.i-simple-icons\:telegram){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm4.962 7.224c.1-.002.321.023.465.14a.5.5 0 0 1 .171.325c.016.093.036.306.02.472c-.18 1.898-.9
9762 6.502-1.36 8.627c-.168.9-.499 1.201-.82 1.23c-.696.065-1.225-.46-1.9-.902c-1.056-.693-1.653-1.124-2.678-1.8c-1.185-.78-.417-1.21.258-1.91c.177-.184 3.247-2.977 3.307-3.23c.007-.032.014-.15-.056-.212s-.174-.041-.249-.024q-.159.037-5.061 3.345q-.72.495-1.302.48c-.428-.008-1.252-.241-1.865-.44c-.752-.245-1.349-.374-1.297-.789q.04-.324.893-.663q5.247-2.286 6.998-3.014c3.332-1.386 4.025-1.627 4.476-1.635'/%3E%3C/svg%3E")}:where(.i-tabler\:infinity){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.828 9.172a4 4 0 1 0 0 5.656A10 10 0 0 0 12 12a10 10 0 0 1 2.172-2.828a4 4 0 1 1 0 5.656A10 10 0 0 1 12 12a10 10 0 0 0-2.172-2.828'/%3E%3C/svg%3E")}:where(.i-tabler\:stack-2-filled){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20.894 15.553a1 1 0 0 1-.447 1.341l-8 4a1 1 0 0 1-.894 0l-8-4a1 1 0 0 1 .894-1.788L12 18.88l7.554-3.775a1 1 0 0 1 1.341.447m0-4a1 1 0 0 1-.447 1.341l-8 4a1 1 0 0 1-.894 0l-8-4a1 1 0 0 1 .894-1.788L12 14.88l7.554-3.775a1 1 0 0 1 1.341.447M12.008 3q.056 0 .111.007l.111.02l.086.024l.012.006l.012.002l.029.014l.05.019l.016.009l.012.005l8 4a1 1 0 0 1 0 1.788l-8 4a1 1 0 0 1-.894 0l-8-4a1 1 0 0 1 0-1.788l8-4l.011-.005l.018-.01l.078-.032l.011-.002l.013-.006l.086-.024l.11-.02l.056-.005z'/%3E%3C/svg%3E")}:where(.i-tabler\:stack-backward){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m14 12l6-3l-8-4l-8 4l6 3'/%3E%3Cpath fill='black' d='m10 12l-6 3l8 4l8-4l-6-3l-2 1z'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-tabler\:stack-forward){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath fill='black' d='M12 5L4 9l8 4l8-4z'/%3E%3Cpath d='m10 12l-6 3l8 4l8-4l-6-3'/%3E%3C/g%3E%3C/svg%3E")}}</style><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DJwy3r_a.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DNBF5B9B.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Cv2crO9b.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CWhn6d8-.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D-jF-5tS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/C2bHYaEW.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FSBk-49D.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DBNvRpaU.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/d50KnaAH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BrF_d2Pd.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/n_eiQhs4.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DDQTEnwH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/By_GK_kV.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/nKXqfe0C.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/jN9hHJ_F.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CiQG3EF-.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BYq3gqb_.js">
97<link rel="modulepreload" as="script" crossorigin href="/_nuxt/24G-_jh5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dxc51ZlX.js"><link rel="preload" as="fetch" fetchpriority="low" crossorigin="anonymous" href="/_nuxt/builds/meta/dcf96d12-221c-4d33-82ea-ddf6dff095f2.json"><link rel="prefetch" as="style" crossorigin href="/_nuxt/index.Hk7WyFbu.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/C_dkwFsO.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BBU6wkL_.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/Cobwj28f.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DtBM_D07.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BQN-1wsM.js"><meta property="og:image" content="https://vernaillen.vercel.app/__og-image__/image/og.png"><meta property="og:image:type" content="image/png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://vernaillen.vercel.app/__og-image__/image/og.png"><meta name="twitter:image:src" content="https://vernaillen.vercel.app/__og-image__/image/og.png"><meta property="og:image:width" content="1200"><meta name="twitter:image:width" content="1200"><meta property="og:image:height" content="600"><meta name="twitter:image:height" content="600"><link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any"><meta name="title" content="Wouter Vernaillen"><meta name="description" content="Freelance Full Stack Developer"><meta property="og:title" content="Home - Wouter Vernaillen"><meta property="og:description" content="Freelance Full Stack Developer"><meta property="og:type" content="website"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><link rel="icon" type="image/x-icon" href="/favicon.svg">
97<script type="module" src="/_nuxt/DJwy3r_a.js" crossorigin></script>
97<link rel="canonical" href="https://vernaillen.vercel.app/"><meta property="og:url" content="https://vernaillen.vercel.app/"><meta property="og:site_name" content="Wouter Vernaillen">
97<script id="unhead:payload" type="application/json">{"templateParams":{"separator":"~"},"titleTemplate":"%s - Wouter Vernaillen"}</script>
97<script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"light";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script>
97</head><body><div id="__nuxt" class="isolate"><!--[--><!--[--><!--[--><!--[--><!--[--><div></div><div class="nuxt-loading-indicator" style="position:fixed;top:0;right:0;left:0;pointer-events:none;width:auto;height:3px;opacity:0;background:repeating-linear-gradient(to right,rgb(156 142 27/40%) 0%,rgb(156 142 27/60%) 80%,rgb(156 142 27/40%) 100%);background-size:Infinity% auto;transform:scaleX(0%);transform-origin:left;transition:transform 0.1s, height 0.4s, opacity 0.4s;z-index:999999;"></div><!--[--><!----><!----><!----><header class="bg-default/75 backdrop-blur border-b h-(--ui-header-height) sticky top-0 z-50 border-transparent myHeader transition-all duration-500"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex justify-between gap-3 h-full items-start"><!--[--><div class="lg:flex-1 flex gap-1.5 items-start"><!----><!--[--><a href="/" aria-label="Nuxt UI Pro" class="focus-visible:outline-primary shrink-0 font-bold text-xl text-highlighted flex items-end gap-1.5"><!--[--><!--[--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="100" fill="none" viewBox="0 0 754 276" class="cursor-pointer w-full logo"><g opacity="transparent"><path d="M0 0h92v184h80V0h92v184h80V0h92v276H0Z" class="fill-black dark:fill-primary-500"></path><path d="M490 0h92v184h80V0h92v276H490Z" class="fill-primary-500 dark:fill-white"></path></g></svg><!--]--><!--]--><!--]--></a><!--]--></div><div class="hidden lg:flex my-auto items-start mt-0"><!--[--><!--[--><!----><!----><nav data-collapsed="false" class="relative flex gap-1.5 [&amp;&gt;div]:min-w-0 !p-0 top-0 justify-between items-start h-full" aria-label="Main" data-orientation="horizontal" dir="ltr" data-reka-navigation-menu><!--[--><!--[--><!--]--><!--[--><!--[--><div style="position:relative;"><ul class="isolate min-w-0 flex items-center" data-orientation="horizontal"><!--[--><!--[--><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/" data-reka-collection-item data-active aria-current="page" class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-primary before:bg-elevated"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/">Home</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/career" data-reka-collection-item class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-muted hover:text-highlighted hover:before:bg-elevated/50 transition-colors before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/career">Career</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/expertise" data-reka-collection-item class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-muted hover:text-highlighted hover:before:bg-elevated/50 transition-colors before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/expertise">Expertise</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/projects" data-reka-collection-item class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-muted hover:text-highlighted hover:before:bg-elevated/50 transition-colors before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/projects">Projects</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/blog" data-reka-collection-item class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-muted hover:text-highlighted hover:before:bg-elevated/50 transition-colors before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/blog">Blog</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item class="min-w-0 py-0"><!--[--><!--[--><a href="/about" data-reka-collection-item class="group relative w-full flex items-center font-medium before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 border-transparent border-b-4 gap-0 !p-0 text-[16px] before:!bg-transparent px-2.5 py-1.5 before:inset-x-px before:inset-y-0 focus-visible:before:ring-primary text-muted hover:text-highlighted hover:before:bg-elevated/50 transition-colors before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50"><!--[--><!--[--><div class="py-[20px] px-4 nav-item" data-path="/about">About</div><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li>
97<!--]--><!--]--></ul></div><!----><!--]--><!--]--><!--[--><!--]--><div class="absolute top-full left-0 flex w-full justify-center"><!----><!----></div><!--]--></nav><!--]--><div class="absolute top-0 left-0 h-[64px] bg-primary-500/5 border-x-2 lg:border-x-0 lg:border-t-2 border-primary-500 w-full hidden z-[-10] nav-highlight" layout-id="navbar"></div><!--]--></div><div class="flex items-center justify-end lg:flex-1 gap-1.5 my-auto"><!--[--><!--[--><!--[--><!--[--><a href="https://github.com/vernaillen/vernaillen.dev" rel="noopener noreferrer" target="_blank" aria-label="GitHub" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group text-sm gap-1.5 text-default bg-elevated hover:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:github shrink-0 size-5" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--[--><!--[--><a href="https://t.me/harmonicsbe" rel="noopener noreferrer" target="_blank" aria-label="Telegram" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group text-sm gap-1.5 text-default bg-elevated hover:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:telegram shrink-0 size-5" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--]--><!--]--><!--[--><!--[--><!--[--><button type="button" aria-label="Open menu" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group text-sm gap-1.5 text-default hover:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5 lg:hidden -me-1.5"><!--[--><!--[--><span class="iconify i-lucide:menu shrink-0 size-5" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><!--]--></div><!--]--></div><!--[--><!--]--></header><!--[--><!----><!----><!--]--><!--]--><main class="min-h-[calc(100vh-var(--ui-header-height))] scrollContainer"><!--[--><div id="top"></div><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8"><!--[--><!--[--><div class="flex flex-col lg:grid lg:grid-cols-10 lg:gap-10"><!----><div class="lg:col-span-10"><!--[--><div class="mt-8 pb-24 space-y-12"><!--[--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8"><!--[--><div class="w-full text-center my-10"><div><div data-orientation="vertical" class="relative isolate mt-10" id="homeHero"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex flex-col lg:grid gap-16 sm:gap-y-24 py-12 sm:py-24 md:py-24 lg:py-24"><!--[--><div class="text-center"><div class="mb-6 sm:mb-10 mx-auto w-fit px-3 py-1 text-lg bg-primary-50/20 dark:bg-primary-400/10 dark:text-primary-400 rounded-lg justify-center font-semibold text-primary flex items-center gap-1.5"><!--[-->Freelance Full Stack Developer<!--]--></div><h1 class="text-5xl sm:text-7xl text-pretty tracking-tight font-bold text-highlighted mb-12"><!--[--><span class="anim inline-block opacity-30 scale-y-80 translate-y-[6px]"><!--[--><p class="my-5 leading-7 text-pretty"><!--[-->Wouter Vernaillen<!--]--></p><!--]--></span><!--]--></h1><div class="sm:text-xl/8 text-gray-400 dark:text-gray-300 text-lg font-semibold text-balance mt-6"><!--[-->Java, Spring, Nuxt &amp; DevOps<!--]--></div><div class="flex flex-wrap gap-x-6 gap-y-3 mt-24 justify-center"><!--[--><!--[--><a href="/career" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-3 py-2 text-base gap-1 text-inverted bg-primary hover:bg-primary/75 disabled:bg-primary aria-disabled:bg-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><!--[--><!--[--><!----><!--]--><!--[--><span class="truncate">Career</span><!--]--><!--[--><span class="iconify i-heroicons:arrow-right-20-solid shrink-0 transition-all scale-70 opacity-80 group-hover:scale-80 group-hover:opacity-100 group-hover:translate-x-1 size-6" aria-hidden="true" style=""></span><!--]--><!--]--></a>
97<!--]--><!--[--><a href="/projects" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-3 py-2 text-base gap-1 ring ring-inset ring-primary/50 text-primary hover:bg-primary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-primary"><!--[--><!--[--><!----><!--]--><!--[--><span class="truncate">Projects</span><!--]--><!--[--><span class="iconify i-heroicons:arrow-right-20-solid shrink-0 transition-all scale-70 opacity-80 group-hover:scale-80 group-hover:opacity-100 group-hover:translate-x-1 size-6" aria-hidden="true" style=""></span><!--]--><!--]--></a><!--]--><!--]--></div></div><!----><!--]--></div><!--[--><!--]--></div><section data-orientation="horizontal" class="relative isolate homepageSection" id="homepageSection1"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex flex-col lg:grid py-16 sm:py-24 lg:py-32 gap-8 sm:gap-16 lg:grid-cols-2 lg:items-start"><!--[--><div class="lg:order-last text-left"><!----><!----><h2 class="text-3xl sm:text-4xl lg:text-5xl text-pretty tracking-tight font-bold text-highlighted"><!--[--><span class="anim inline-block opacity-30 scale-y-80 translate-y-[6px]"><!--[--><p class="my-5 leading-7 text-pretty"><!--[-->Passion for Web Development<!--]--></p><!--]--></span><!--]--></h2><div class="text-base sm:text-lg text-muted flex gap-4 text-pretty mt-6"><!--[-->With 25 years of experience, I&#39;ve crafted everything from the first static HTML sites to cutting-edge web portals with seamless back-end integrations for government organizations.<!--]--></div><ul class="mt-8 grid gap-4"><!--[--><!--[--><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-tabler:stack-2-filled size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Strong expertise on both Front- and Backend development.<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Allowing me to deliver full-stack solutions for the web.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-tabler:stack-forward size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Nuxt<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->The frontend framework I love for building fast, responsive websites.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-tabler:stack-backward size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Api Development &amp; Integration<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Lot&#39;s of experience in developing and integrating APIs with Java &amp; Spring Framework.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-custom:qa size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Quality Assurance<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->A keen eye for detail and a passion for quality assurance.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-tabler:infinity size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->DevOps<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Setting up and maintaining CI/CD pipelines and deploying applications in the cloud.<!--]--></div><!--]--></div></li>
97<!--]--><!--]--></ul><div class="mt-8 flex flex-wrap gap-x-6 gap-y-3"><!--[--><!--[--><!--[--><a href="/expertise" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-3 py-2 text-sm gap-2 text-primary ring ring-inset ring-primary/25 bg-primary/10 hover:bg-primary/15 disabled:bg-primary/10 aria-disabled:bg-primary/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary"><!--[--><!--[--><!----><!--]--><!--[--><span class="truncate">Expertise</span><!--]--><!--[--><span class="iconify i-heroicons:arrow-right shrink-0 transition-all scale-70 opacity-80 group-hover:scale-80 group-hover:opacity-100 group-hover:translate-x-1 size-5" aria-hidden="true" style=""></span><!--]--><!--]--></a><!--]--><!--[--><a href="/career" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-3 py-2 text-sm gap-2 text-inverted bg-primary hover:bg-primary/75 disabled:bg-primary aria-disabled:bg-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><!--[--><!--[--><!----><!--]--><!--[--><span class="truncate">Career</span><!--]--><!--[--><span class="iconify i-heroicons:arrow-right shrink-0 transition-all scale-70 opacity-80 group-hover:scale-80 group-hover:opacity-100 group-hover:translate-x-1 size-5" aria-hidden="true" style=""></span><!--]--><!--]--></a><!--]--><!--]--><!--]--></div></div><!--[--><div class="homepageSectionPicture mt-4 h-full"><span style="--9baf2668:0.9;"></span></div><!--]--><!--]--></div><!--[--><!--]--></section><section data-orientation="horizontal" class="relative isolate homepageSection" url="https://wpnuxt.com"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex flex-col lg:grid py-16 sm:py-24 lg:py-32 gap-8 sm:gap-16 lg:grid-cols-2 lg:items-start"><!--[--><div class="text-left lg:text-right"><!----><!----><h2 class="text-3xl sm:text-4xl lg:text-5xl text-pretty tracking-tight font-bold text-highlighted"><!--[--><span class="anim inline-block opacity-30 scale-y-80 translate-y-[6px]"><!--[--><p class="my-5 leading-7 text-pretty"><!--[-->Developing the WPNuxt module<!--]--></p><!--]--></span><!--]--></h2><div class="text-base sm:text-lg text-muted flex gap-4 text-pretty mt-6"><!--[-->A brand new Nuxt module to use WordPress as a headless CMS with a Nuxt frontend.<!--]--></div><ul class="mt-8 grid gap-4"><!--[--><!--[--><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-heroicons:check size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Easy to use<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Easily fetch content from WordPress using composables and render it with Nuxt components. Based on standard Gutenberg blocks.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-ic:baseline-wordpress size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Familiar backend for editors<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Many website owners or content editors are already familiar with the WordPress backend.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-logos:nuxt-icon size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Cutting edge frontend<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->Use the full power of the modern frontend framework that is Nuxt, allowing you to build stunning and fast cutting-edge websites that convert.<!--]--></div><!--]--></div></li>
97<!--]--><!--]--></ul><div class="mt-8 flex flex-wrap gap-x-6 gap-y-3 lg:justify-end"><!--[--><!--[--><!--[--><!--[--><a href="https://wpnuxt.com" rel="noopener noreferrer" target="_blank" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-3 py-2 text-sm gap-2 text-primary ring ring-inset ring-primary/25 bg-primary/10 hover:bg-primary/15 disabled:bg-primary/10 aria-disabled:bg-primary/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary"><!--[--><!--[--><!----><!--]--><!--[--><span class="truncate">Discover WPNuxt</span><!--]--><!--[--><span class="iconify i-heroicons:arrow-up-right shrink-0 transition-all scale-70 opacity-80 group-hover:scale-80 group-hover:opacity-100 group-hover:translate-x-1 size-5" aria-hidden="true" style=""></span><!--]--><!--]--></a><!--]--><!--]--><!--]--><!--]--></div></div><!--[--><div class="homepageSectionPicture mt-4 h-full"><span style="--9baf2668:0.9;"></span></div><!--]--><!--]--></div><!--[--><!--]--></section><div><!--[--><section data-orientation="vertical" class="relative isolate"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex flex-col lg:grid py-16 sm:py-24 lg:py-32 gap-8 sm:gap-16 lg:items-start"><!--[--><div class="text-left lg:text-right"><!----><!----><h2 class="text-3xl sm:text-4xl lg:text-5xl text-pretty tracking-tight font-bold text-highlighted text-center"><!--[--><span class="anim inline-block opacity-30 scale-y-80 translate-y-[6px]"><!--[--><p class="my-5 leading-7 text-pretty"><!--[-->My Values<!--]--></p><!--]--></span><!--]--></h2><div class="text-base sm:text-lg text-muted flex gap-4 text-center text-balance flex-col mt-6"><!--[-->How I help my clients<!--]--></div><ul class="grid sm:grid-cols-2 lg:grid-cols-3 gap-8 mt-16"><!--[--><!--[--><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-ic:baseline-commit size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Committed to my clients<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->I&#39;m with you all the way, committed until the end of the project and beyond.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-heroicons:star size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Rolling up my sleeves<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->I&#39;m a hands-on developer, not afraid to get my hands dirty and code myself.<!--]--></div><!--]--></div></li><li data-orientation="horizontal" class="relative flex items-start gap-2.5"><div class="inline-flex items-center justify-center p-0.5"><!--[--><span class="iconify i-heroicons:heart size-5 shrink-0 text-primary" aria-hidden="true" style=""></span><!--]--></div><div class=""><!----><!--[--><div class="text-base text-pretty font-semibold text-highlighted"><!--[-->Techie with a heart<!--]--></div><div class="text-[15px] text-pretty text-muted mt-1"><!--[-->I care about what your project means to you and to your clients and customers.<!--]--></div><!--]--></div></li><!--]--><!--]--></ul><!----></div><!----><!--]--></div><!--[--><!--]--></section><!--]--></div><div><!--[--><section data-orientation="vertical" class="relative isolate"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex flex-col lg:grid py-16 sm:py-24 lg:py-32 gap-8 sm:gap-16 lg:items-start"><!--[--><div class="text-left lg:text-right"><!----><!----><h2 class="text-3xl sm:text-4xl lg:text-5xl text-pretty tracking-tight font-bold text-highlighted text-center"><!--[--><span class="anim inline-block opacity-30 scale-y-80 translate-y-[6px]"><!--[--><p class="my-5 leading-7 text-pretty"><!--[-->Testimonials<!--]--></p><!--]--></span><!--]--></h2><div class="text-base sm:text-lg text-muted flex gap-4 text-center text-balance flex-col mt-6"><!--[-->What my clients &amp; co-workers are writing about me<!--]--></div><!----><!----></div><!--[--><div class="relative column-1 md:columns-2 lg:columns-3 gap-8 space-y-8 *:break-inside-avoid-column *:will-change-transform"><!--[--><div><!--[--><div data-orientation="vertical" class="relative flex rounded-lg bg-default ring ring-default" style=""><!---->
97<div class="relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"><div class="flex flex-col flex-1 items-start p-4 sm:p-6"><!----><!----><div class="flex-1"><!--[--><!----><div class="text-[15px] text-pretty text-muted"><!--[-->Wouter&#39;s expertise in IBM Websphere portal helped us in reaching key projects. His ability to think user-led allows to work rapidly and meet expectations.<!--]--></div><!--]--></div><!----></div><!--[--><div data-orientation="horizontal" class="relative group/user flex items-center gap-2"><!--[--><span class="inline-flex items-center justify-center select-none overflow-hidden rounded-full align-middle bg-elevated size-8 text-base shrink-0" style=""><img onerror="this.setAttribute(&#39;data-error&#39;, 1)" width="32" height="32" alt="Björn Minne" data-nuxt-img srcset="https://vernaillen.twic.pics/vernaillennew/images/index/1560369739694.jpeg?twic=v1/cover=32x32 1x, https://vernaillen.twic.pics/vernaillennew/images/index/1560369739694.jpeg?twic=v1/cover=64x64 2x" role="img" class="h-full w-full rounded-[inherit] object-cover" src="https://vernaillen.twic.pics/vernaillennew/images/index/1560369739694.jpeg?twic=v1/cover=32x32"></span><!--]--><div class=""><!----><!--[--><p class="font-medium text-highlighted text-sm"><!--[-->Björn Minne<!--]--></p><p class="text-muted text-xs"><!--[-->Online Sales &amp; Marketing Manager B2B at Van Marcke<!--]--></p><!--]--></div></div><!--]--></div><!----></div><!--]--></div><div><!--[--><div data-orientation="vertical" class="relative flex rounded-lg bg-default ring ring-default" style=""><!----><div class="relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"><div class="flex flex-col flex-1 items-start p-4 sm:p-6"><!----><!----><div class="flex-1"><!--[--><!----><div class="text-[15px] text-pretty text-muted"><!--[-->Wouter is a dedicated professional with who I had the pleasure to work with on two strategic projects at Van Marcke. He was the go to IT professional and project leader on both the new intranet and the roll out of an enterprise wide search engine and social media collaboration platform. Wouter is also a great colleague to work with and a strong team player and leader. I would recommend him without hesitation.<!--]--></div><!--]--></div><!----></div><!--[--><div data-orientation="horizontal" class="relative group/user flex items-center gap-2"><!--[--><span class="inline-flex items-center justify-center select-none overflow-hidden rounded-full align-middle bg-elevated size-8 text-base shrink-0" style=""><img onerror="this.setAttribute(&#39;data-error&#39;, 1)" width="32" height="32" alt="Philip Borremans" data-nuxt-img srcset="https://vernaillen.twic.pics/vernaillennew/images/index/1697207150806.jpeg?twic=v1/cover=32x32 1x, https://vernaillen.twic.pics/vernaillennew/images/index/1697207150806.jpeg?twic=v1/cover=64x64 2x" role="img" class="h-full w-full rounded-[inherit] object-cover" src="https://vernaillen.twic.pics/vernaillennew/images/index/1697207150806.jpeg?twic=v1/cover=32x32"></span><!--]--><div class=""><!----><!--[--><p class="font-medium text-highlighted text-sm"><!--[-->Philip Borremans<!--]--></p><p class="text-muted text-xs"><!--[-->Chief Social Media Officer &amp; CSR Coordinator.<!--]--></p><!--]--></div></div><!--]--></div><!----></div><!--]--></div><div><!--[--><div data-orientation="vertical" class="relative flex rounded-lg bg-default ring ring-default" style=""><!----><div class="relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"><div class="flex flex-col flex-1 items-start p-4 sm:p-6"><!----><!----><div class="flex-1"><!--[--><!----><div class="text-[15px] text-pretty text-muted"><!--[-->Wouter&#39;s passion for technology and dedication to success have made and continue to make it a pleasure to work with him. The combination of a broad interest with deep knowledge &amp; experience make for a great developer cocktail.<!--]--></div><!--]--></div><!----></div><!--[--><div data-orientation="horizontal" class="relative group/user flex items-center gap-2"><!--[--><span class="inline-flex items-center justify-center select-none overflow-hidden rounded-full align-middle bg-elevated size-8 text-base shrink-0" style=""><img onerror="this.setAttribute(&#39;data-error&#39;, 1)" width="32" height="32" alt="Jonathan Bosmans" data-nuxt-img srcset="https://vernaillen.twic.pics/vernaillennew/images/index/1516237245090.jpeg?twic=v1/cover=32x32 1x, https://vernaillen.twic.pics/vernaillennew/images/index/1516237245090.jpeg?twic=v1/cover=64x64 2x" role="img" class="h-full w-full rounded-[inherit] object-cover" src="https://vernaillen.twic.pics/vernaillennew/images/index/1516237245090.jpeg?twic=v1/cover=32x32"></span><!--]--><div class=""><!----><!--[--><p class="font-medium text-highlighted text-sm"><!--[-->Jonathan Bosmans<!--]--></p><p class="text-muted text-xs"><!--[-->Senior Consultant at IBM<!--]--></p><!--]--></div></div><!--]--></div><!----></div><!--]--></div><div><!--[--><div data-orientation="vertical" class="relative flex rounded-lg bg-default ring ring-default" style=""><!---->
97<div class="relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"><div class="flex flex-col flex-1 items-start p-4 sm:p-6"><!----><!----><div class="flex-1"><!--[--><!----><div class="text-[15px] text-pretty text-muted"><!--[-->Extremely skilled developer that delivers high output and excellent quality.<!--]--></div><!--]--></div><!----></div><!--[--><div data-orientation="horizontal" class="relative group/user flex items-center gap-2"><!--[--><span class="inline-flex items-center justify-center select-none overflow-hidden rounded-full align-middle bg-elevated size-8 text-base shrink-0" style=""><img onerror="this.setAttribute(&#39;data-error&#39;, 1)" width="32" height="32" alt="Davy Vanherbergen" data-nuxt-img srcset="https://vernaillen.twic.pics/vernaillennew/images/index/1699534602857.jpeg?twic=v1/cover=32x32 1x, https://vernaillen.twic.pics/vernaillennew/images/index/1699534602857.jpeg?twic=v1/cover=64x64 2x" role="img" class="h-full w-full rounded-[inherit] object-cover" src="https://vernaillen.twic.pics/vernaillennew/images/index/1699534602857.jpeg?twic=v1/cover=32x32"></span><!--]--><div class=""><!----><!--[--><p class="font-medium text-highlighted text-sm"><!--[-->Davy Vanherbergen<!--]--></p><p class="text-muted text-xs"><!--[-->IT Team Lead at UPM-Kymmene<!--]--></p><!--]--></div></div><!--]--></div><!----></div><!--]--></div><div><!--[--><div data-orientation="vertical" class="relative flex rounded-lg bg-default ring ring-default" style=""><!----><div class="relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"><div class="flex flex-col flex-1 items-start p-4 sm:p-6"><!----><!----><div class="flex-1"><!--[--><!----><div class="text-[15px] text-pretty text-muted"><!--[-->Ik had het genoegen samen met Wouter te werken op het IDEWE IT-project Klantenportaal. Vooral de aangename, rustige manier van overleggen van Wouter is een pluspunt binnen de hectiek van deadlines en onverwachte issues en bugs. Daarnaast beschikt Wouter over een scherp analytisch vermogen en kan hij problemen/oplossingen in begrijpbare taal overbrengen naar de rest van het team (wat ook uit niet-software people bestaat). Wouter levert correct op wat van hem gevraagd word en hij denkt zelf na over mogelijke alternieven van eerder gedefinieerde oplossingen. Ik kijk al uit naar de volgende samenwerking!<!--]--></div><!--]--></div><!----></div><!--[--><div data-orientation="horizontal" class="relative group/user flex items-center gap-2"><!--[--><span class="inline-flex items-center justify-center select-none overflow-hidden rounded-full align-middle bg-elevated size-8 text-base shrink-0" style=""><img onerror="this.setAttribute(&#39;data-error&#39;, 1)" width="32" height="32" alt="Kurt Eeckhout" data-nuxt-img srcset="https://vernaillen.twic.pics/vernaillennew/images/index/1563368078430.jpeg?twic=v1/cover=32x32 1x, https://vernaillen.twic.pics/vernaillennew/images/index/1563368078430.jpeg?twic=v1/cover=64x64 2x" role="img" class="h-full w-full rounded-[inherit] object-cover" src="https://vernaillen.twic.pics/vernaillennew/images/index/1563368078430.jpeg?twic=v1/cover=32x32"></span><!--]--><div class=""><!----><!--[--><p class="font-medium text-highlighted text-sm"><!--[-->Kurt Eeckhout<!--]--></p><p class="text-muted text-xs"><!--[-->Key Account Manager at Group Idewe<!--]--></p><!--]--></div></div><!--]--></div><!----></div><!--]--></div><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></section><!--]--></div></div></div><!--]--></div><!--]--></div><!--]--></div><!----></div><!--]--><!--]--></div><!--[--><div class="svg-right fixed top-0 right-0 pl-8 sm:pl-14 z-[-1] overflow-hidden"><div>
97<svg width="450" height="556" viewBox="0 0 450 556" fill="none" initial="hidden" animate="visible"><circle class="draw-circle" opacity="0" cx="277" cy="63" r="225" fill="url(#paint0_linear_25:217)"></circle><circle cx="17.9997" cy="182" fill="url(#paint1_radial_25:217)"></circle><circle cx="76.9997" cy="288" fill="url(#paint1_radial_25:217)"></circle><circle class="draw-circle" opacity="0" cx="325.486" cy="302.87" r="180" transform="rotate(-37.6852 325.486 302.87)" fill="url(#paint3_linear_25:217)"></circle><circle class="draw-line" opacity="0" cx="184.521" cy="315.521" r="132.862" transform="rotate(114.874 184.521 315.521)" stroke="url(#paint4_linear_25:217)"></circle><circle class="draw-line" opacity="0" cx="356" cy="290" r="179.5" transform="rotate(-30 356 290)" stroke="url(#paint5_linear_25:217)"></circle><circle class="draw-circle" opacity="0" cx="191.659" cy="302.659" r="133.362" transform="rotate(133.319 191.659 302.659)" fill="url(#paint6_linear_25:217)"></circle><defs><linearGradient id="paint0_linear_25:217" x1="-54.5003" y1="-178" x2="222" y2="288" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0"></stop></linearGradient><radialGradient id="paint1_radial_25:217" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.9997 182) rotate(90) scale(18)"><stop offset="0.145833" stop-color="var(--color-primary-500)" stop-opacity="0"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0.08"></stop></radialGradient><radialGradient id="paint2_radial_25:217" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(76.9997 288) rotate(90) scale(34)"><stop offset="0.145833" stop-color="var(--color-primary-500)" stop-opacity="0"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0.08"></stop></radialGradient><linearGradient id="paint3_linear_25:217" x1="226.775" y1="-66.1548" x2="292.157" y2="351.421" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0"></stop></linearGradient><linearGradient id="paint4_linear_25:217" x1="184.521" y1="182.159" x2="184.521" y2="448.882" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></linearGradient><linearGradient id="paint5_linear_25:217" x1="356" y1="110" x2="356" y2="470" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></linearGradient><linearGradient id="paint6_linear_25:217" x1="118.524" y1="29.2497" x2="166.965" y2="338.63" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0"></stop></linearGradient></defs></svg></div></div><div class="svg-left absolute top-[470px] -left-30 scale-75 sm:-left-20 sm:scale-90 md:left-0 md:scale-100 z-[-1] opacity-50 block overflow-hidden"><svg width="364" height="201" viewBox="0 0 364 201" fill="none"><circle class="draw-line" opacity="0" cx="214.505" cy="60.5054" r="49.7205" transform="rotate(-13.421 214.505 60.5054)" stroke="url(#paint4_linear_25:218)"></circle><circle cx="220" cy="63" fill="url(#paint5_radial_25:218)"></circle><defs><linearGradient id="paint4_linear_25:218" x1="214.505" y1="10.2849" x2="212.684" y2="99.5816" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-primary-500)"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0"></stop></linearGradient><radialGradient id="paint5_radial_25:218" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(220 63) rotate(90) scale(43)"><stop offset="0.145833" stop-color="var(--color-primary-500)" stop-opacity="0"></stop><stop offset="1" stop-color="var(--color-primary-500)" stop-opacity="0.15"></stop></radialGradient></defs></svg></div><!--]--><!--]--></main><div><div data-orientation="horizontal" role="separator" class="flex items-center align-center text-center w-full flex-row sm:mt-10 sm:mb-6 lg:mt-12 lg:mb-8"><!--[--><!--[--><div class="border-default w-full border-solid border-t"></div><!--[--><div class="font-medium text-default flex mx-3 whitespace-nowrap"><!--[--><img src="/favicon.svg" class="w-10" alt="Vernaillen Logo" width="19" height="7"><!--]--></div><div class="border-default w-full border-solid border-t"></div><!--]--><!--]--><!--]--></div><footer><!----><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 py-8 lg:py-4 lg:flex lg:items-center lg:justify-between lg:gap-x-3 mb-14"><!--[--><div class="lg:flex-1 flex items-center justify-center lg:justify-end gap-x-1.5 lg:order-3"><!--[--><!--[--><!--[--><!--[--><a href="https://github.com/vernaillen/vernaillen.dev" rel="noopener noreferrer" target="_blank" aria-label="GitHub" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group text-sm gap-1.5 text-default bg-elevated hover:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:github shrink-0 size-5" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a>
97<!--]--><!--]--><!--[--><!--[--><a href="https://t.me/harmonicsbe" rel="noopener noreferrer" target="_blank" aria-label="Telegram" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group text-sm gap-1.5 text-default bg-elevated hover:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:telegram shrink-0 size-5" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--]--><!--]--></div><div class="lg:order-2 flex items-center justify-center my-7 lg:my-0"><!--[--><p class="text-sm text-center"> built with <span class="iconify i-mdi:heart bg-red-500 -mb-[2px]" aria-hidden="true" style=""></span> using <a href="https://nuxt.com" rel="noopener noreferrer" target="_blank"><span class="iconify i-logos:nuxt-icon w-4 h-3" aria-hidden="true" style=""></span> Nuxt 4.0.0-alpha.2</a></p><!--]--></div><div class="flex items-center justify-center lg:justify-start lg:flex-1 gap-x-1.5 mt-3 lg:mt-0 lg:order-1 text-center lg:text-left"><!--[--><p class="text-sm text-(--ui-text-muted)"> Copyright © 2026 - Harmonics BV<br>BE 0503.971.022 </p><!--]--></div><!--]--></div><!----></footer></div><!--[--><div class="back-to-top fixed right-8 bottom-[-40px] left-auto z-40"><!--[--><!--[--><button type="button" aria-label="Scroll to top" class="font-medium inline-flex disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors group px-2.5 py-1.5 text-sm gap-1.5 text-inverted bg-primary disabled:bg-primary aria-disabled:bg-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary items-center justify-center w-8 h-8 rounded-md cursor-pointer hover:shadow-signUp hover:bg-opacity-80 shadow-lg"><!--[--><!--[--><!----><!--]--><!--[--><span class="w-3 h-3 border-t border-l dark:border-black border-white transform rotate-45 mt-[6px]"></span><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--></div><div class="gap-2 w-full flex flex-col"><!----><div aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" aria-label="0%" role="progressbar" data-state="loading" data-value="0" data-max="100" class="overflow-hidden rounded-full bg-accented w-full h-2 fixed bottom-[-3px]" style="transform:translateZ(0);"><!--[--><div data-state="loading" data-value="0" data-max="100" class="rounded-full size-full transition-transform duration-200 ease-out bg-primary data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]" style="transform:translateX(-100%);"><!--[--><!--]--></div><!--]--></div><!----></div><!--]--><!--]--><!--]--><!--[--><!--]--><!----><!--]--><!--[--><!--]--><!--]--><!--]--></div><div id="teleports"></div>
97<script type="application/ld+json" data-nuxt-schema-org="true" data-hid="schema-org-graph">{"@context":"https://schema.org","@graph":[{"@id":"https://vernaillen.vercel.app/#website","@type":"WebSite","description":"Freelance Full Stack Developer","inLanguage":"en","name":"Wouter Vernaillen","url":"https://vernaillen.vercel.app/"},{"@id":"https://vernaillen.vercel.app/#webpage","@type":"WebPage","description":"Freelance Full Stack Developer","name":"Home - Wouter Vernaillen","url":"https://vernaillen.vercel.app/","isPartOf":{"@id":"https://vernaillen.vercel.app/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://vernaillen.vercel.app/"]}]}]}</script>
97<script id="nuxt-og-image-options" type="application/json">[{"component":1,"props":2},"OgImageVernaillen",{"title":3,"description":4},"Wouter Vernaillen","Freelance Full Stack Developer"]</script>
97<script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__">[["ShallowReactive",1],{"data":2,"state":489,"once":503,"_errors":504,"serverRendered":185,"path":186},["ShallowReactive",3],{"navigation":4,"$QD8d9NkvSp":387},[5,190,205,222,237,253],{"id":6,"title":7,"authors":8,"badge":8,"body":9,"date":8,"description":18,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":184,"navigation":185,"path":186,"seo":187,"social":8,"stem":188,"__hash__":189},"pages/0.index.md","Home",null,{"type":10,"value":11,"toc":179},"minimark",[12,47,76,97,111],[13,14,20,31],"u-page-hero",{"className":15,"description":17,"headline":18,"id":19},[16],"mt-10","Java, Spring, Nuxt & DevOps","Freelance Full Stack Developer","homeHero",[21,22,24],"template",{"v-slot:title":23},"",[25,26,27],"text-anim",{},[28,29,30],"p",{},"Wouter Vernaillen",[21,32,33,42],{"v-slot:links":23},[34,35],"u-button",{"color":36,"label":37,"size":38,"to":39,"trailing-icon":40,"variant":41},"primary","Career","xl","/career","i-heroicons-arrow-right-20-solid","solid",[34,43],{"color":36,"label":44,"size":38,"to":45,"trailing-icon":40,"variant":46},"Projects","/projects","outline",[48,49,58,70],"u-page-section",{"description":50,":features":51,":links":52,"className":53,"orientation":55,":reverse":56,"id":57},"With 25 years of experience, I've crafted everything from the first static HTML sites to cutting-edge web portals with seamless back-end integrations for government organizations.","[{\"title\":\"Strong expertise on both Front- and Backend development.\",\"description\":\"Allowing me to deliver full-stack solutions for the web.\",\"icon\":\"i-tabler-stack-2-filled\"},{\"title\":\"Nuxt\",\"description\":\"The frontend framework I love for building fast, responsive websites.\",\"icon\":\"i-tabler-stack-forward\"},{\"title\":\"Api Development & Integration\",\"description\":\"Lot's of experience in developing and integrating APIs with Java & Spring Framework.\",\"icon\":\"i-tabler-stack-backward\"},{\"title\":\"Quality Assurance\",\"description\":\"A keen eye for detail and a passion for quality assurance.\",\"icon\":\"i-custom-qa\"},{\"title\":\"DevOps\",\"description\":\"Setting up and maintaining CI/CD pipelines and deploying applications in the cloud.\",\"icon\":\"i-tabler-infinity\"}]","[{\"label\":\"Expertise\",\"variant\":\"subtle\",\"trailing-icon\":\"i-heroicons-arrow-right\",\"size\":\"lg\",\"to\":\"/expertise\"},{\"label\":\"Career\",\"trailing-icon\":\"i-heroicons-arrow-right\",\"size\":\"lg\",\"to\":\"/career\"}]",[54],"homepageSection","horizontal","true","homepageSection1",[59,60,65],"div",{"className":61},[62,63,64],"homepageSectionPicture","mt-4","h-full",[66,67],"the-lazy-image",{":show-ring":56,"alt":68,"src":69},"Passion for Web Development","/images/index/vernaillen_a_laptop_on_the_table_of_a_tropical_co-working_space_eaa2867c-3098-421c-9bef-3a083677200c.png",[21,71,72],{"v-slot:title":23},[25,73,74],{},[28,75,68],{},[48,77,83,90],{"description":78,":features":79,":links":80,"className":81,"orientation":55,"url":82},"A brand new Nuxt module to use WordPress as a headless CMS with a Nuxt frontend.","[{\"title\":\"Easy to use\",\"description\":\"Easily fetch content from WordPress using composables and render it with Nuxt components. Based on standard Gutenberg blocks.\",\"icon\":\"i-heroicons-check\"},{\"title\":\"Familiar backend for editors\",\"description\":\"Many website owners or content editors are already familiar with the WordPress backend.\",\"icon\":\"i-ic-baseline-wordpress\"},{\"title\":\"Cutting edge frontend\",\"description\":\"Use the full power of the modern frontend framework that is Nuxt, allowing you to build stunning and fast cutting-edge websites that convert.\",\"icon\":\"i-logos-nuxt-icon\"}]","[{\"label\":\"Discover WPNuxt\",\"variant\":\"subtle\",\"trailing-icon\":\"i-heroicons-arrow-up-right\",\"size\":\"lg\",\"to\":\"https://wpnuxt.com\",\"target\":\"_blank\"}]",[54],"https://wpnuxt.com",[59,84,86],{"className":85},[62,63,64],[66,87],{":show-ring":56,"alt":88,"src":89,"show-ring":23},"WPNuxt","/images/index/wpnuxt.png",[21,91,92],{"v-slot:title":23},[25,93,94],{},[28,95,96],{},"Developing the WPNuxt module",[98,99,100],"parallax",{},[48,101,104],{"description":102,":features":103},"How I help my clients","[{\"title\":\"Committed to my clients\",\"description\":\"I'm with you all the way, committed until the end of the project and beyond.\",\"
97icon\":\"i-ic-baseline-commit\"},{\"title\":\"Rolling up my sleeves\",\"description\":\"I'm a hands-on developer, not afraid to get my hands dirty and code myself.\",\"icon\":\"i-heroicons-star\"},{\"title\":\"Techie with a heart\",\"description\":\"I care about what your project means to you and to your clients and customers.\",\"icon\":\"i-heroicons-heart\"}]",[21,105,106],{"v-slot:title":23},[25,107,108],{},[28,109,110],{},"My Values",[98,112,113],{},[48,114,116,172],{"description":115},"What my clients & co-workers are writing about me",[117,118,119,132,142,152,162],"u-page-columns",{},[120,121,122],"reveal",{},[123,124,126],"u-page-card",{"description":125},"Wouter's expertise in IBM Websphere portal helped us in reaching key projects. His ability to think user-led allows to work rapidly and meet expectations.",[127,128],"u-user",{":avatar":129,"description":130,"name":131},"{\"src\":\"/images/index/1560369739694.jpeg\"}","Online Sales & Marketing Manager B2B at Van Marcke","Björn Minne",[120,133,134],{},[123,135,137],{"description":136},"Wouter is a dedicated professional with who I had the pleasure to work with on two strategic projects at Van Marcke. He was the go to IT professional and project leader on both the new intranet and the roll out of an enterprise wide search engine and social media collaboration platform. Wouter is also a great colleague to work with and a strong team player and leader. I would recommend him without hesitation.",[127,138],{":avatar":139,"description":140,"name":141},"{\"src\":\"/images/index/1697207150806.jpeg\"}","Chief Social Media Officer & CSR Coordinator.","Philip Borremans",[120,143,144],{},[123,145,147],{"description":146},"Wouter's passion for technology and dedication to success have made and continue to make it a pleasure to work with him. The combination of a broad interest with deep knowledge & experience make for a great developer cocktail.",[127,148],{":avatar":149,"description":150,"name":151},"{\"src\":\"/images/index/1516237245090.jpeg\"}","Senior Consultant at IBM","Jonathan Bosmans",[120,153,154],{},[123,155,157],{"description":156},"Extremely skilled developer that delivers high output and excellent quality.",[127,158],{":avatar":159,"description":160,"name":161},"{\"src\":\"/images/index/1699534602857.jpeg\"}","IT Team Lead at UPM-Kymmene","Davy Vanherbergen",[120,163,164],{},[123,165,167],{"description":166},"Ik had het genoegen samen met Wouter te werken op het IDEWE IT-project Klantenportaal. Vooral de aangename, rustige manier van overleggen van Wouter is een pluspunt binnen de hectiek van deadlines en onverwachte issues en bugs. Daarnaast beschikt Wouter over een scherp analytisch vermogen en kan hij problemen/oplossingen in begrijpbare taal overbrengen naar de rest van het team (wat ook uit niet-software people bestaat). Wouter levert correct op wat van hem gevraagd word en hij denkt zelf na over mogelijke alternieven van eerder gedefinieerde oplossingen. Ik kijk al uit naar de volgende samenwerking!",[127,168],{":avatar":169,"description":170,"name":171},"{\"src\":\"/images/index/1563368078430.jpeg\"}","Key Account Manager at Group Idewe","Kurt Eeckhout",[21,173,174],{"v-slot:title":23},[25,175,176],{},[28,177,178],{},"Testimonials",{"title":23,"searchDepth":180,"depth":180,"links":181},2,[],"md",false,{},true,"/",{"title":7,"description":18},"0.index","1iKoupsBLdkMtlsxL0O_ipV671JiSRykMClx_HGSa_8",{"id":191,"title":37,"authors":8,"badge":8,"body":192,"date":8,"description":200,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":201,"navigation":185,"path":39,"seo":202,"social":8,"stem":203,"__hash__":204},"pages/1.career.md",{"type":10,"value":193,"toc":198},[194],[195,196],"career",{":steps":197},"[{\"text\":\"Harmonics\",\"contract\":\"owner\",\"date\":\"2023 - present\",\"project\":\"Harmonics.be\",\"projectUrl\":\"https://harmonics.be\",\"role\":\"ecstatic dance DJ & trancedance facilitator, event organizer, web developer\",\"stack\":\"Vue 3, Nuxt 3, Nuxt Content, Netlify/Vercel\",\"imageUrl\":\"/images/career/harmonics_bol.png\",\"id\":\"harmonics\"},{\"text\":\"Opgroeien / Kind & Gezin\",\"contract\":\"freelance via Cronos Public Services\",\"date\":\"2019 - present\",\"project\":\"Governmental citizen portal\",\"role\":\"Senior Full Stack Java Developer\",\"stack\":\"Java, Spring boot, Angular, Liferay, Docker, Kubernetes, Jenkins, DevOps, Sonar, JaCoCo\",\"imageUrl\":\"/images/career/kindengezin.jpg\",\"id\":\"opgroeien\"},{\"text\":\"IDEWE\",\"contract\":\"freelance via Formica (Cronos)\",\"date\":\"2018 - 2019\",\"project\":\"Customer Portal\",\"role\":\"Senior Full Stack Java Developer\",\"stack\":\"Java, Spring, Angular, Liferay\",\"imageUrl\":\"/images/career/idewe.png\",\"id\":\"idewe\"},{\"text\":\"Kind & Gezin\",\"contract\":\"freelance via Formica (Cronos)\",\"date\":\"2014 - 2017\",\"project\":\"Governmental citizen portal\",\"role\":\"Senior Full Stack Java Developer\",\"stack\":\"Liferay 6.2 & Liferay 7, Spring MVC, Spring REST & Web Services, Spring Security, Angular, Ionic, JBoss, JIRA, BitBucket, Jenkins, Sonar\",\"imageUrl\":\"/images/career/kindengezin.jpg\",\"id\":\"kindengezin\"},{\"text\":\"Colruyt\",\"contract\":\"freelance via Tata Consultancy Services\",\"date\":2013,\"project\":\"Dreambaby community portal\",\"role\":\"Lead Developer\",\"stack\":\"WebSphere Portal, IBM Connections, Java EE, EJB3, REST, JSON, jQuery\",\"imageUrl\":\"/images/career/colruyt.png\",\"id\":\"colruyt\"},{\"text\":\"Van Marcke\",\"contract\":\"employee\",\"date\":\"2010 - 2013\",\"project\":\"Van Marcke Employee Intranet Portal\",\"role\":\"WebSphere Portal Architect / Project Leader Intranet\",\"stack\":\"Spring Portlet MVC, Lotus Web Content Management, WebSphere Portal, Lotus Quickr, Lotus Connections & WebSphere Commerce\",\"imageUrl\":\"/images/career/vanmarcke.jpg\",\"id\":\"vanmarcke\"},{\"text\":\"IBM\",\"contract\":\"employee\",\"date\":\"2006 - 2010\",\"project\":\"several projects: UZ Gent: customer portal, VDAB: career portal, European Commission: employment portal, Eandis: energy supplier integration project\",\"role\":\"WebSphere Portal & J2EE Developer\",\"stack\":\"WebSphere Portal, Lotus Web Content Management, Java EE, jQuery\",\"imageUrl\":\"/images/career/ibm.jpg\",\"id\":\"ibm\"},{\"text\":\"UPM-Kymmene\",\"contract\":\"employee\",\"date\":\"2003 - 2006\",\"project\":\"Online Paper Catalogue, Make-To-Stock Assistant\",\"role\":\"Java Software Engineer & Lead developer\",\"stack\":\"Struts, Hibernate, EJB 2, XML, XSL, Lucene, dom4j, jdom, Oracle DB, jUnit.\",\"imageUrl\":\"/images/career/upm.jpg\",\"id\":\"upm\"},{\"text\":\"Atos Origin\",\"contract\":\"employee\",\"date\":\"2000 - 2001\",\"project\":\"Procter & Gamble: Lotus Notes Intranet\",\"role\":\"Lotus Notes Developer\",\"stack\":\"Lotus Notes\",\"imageUrl\":\"/images/career/atos.jpg\",\"id\":\"origin\"},{\"text\":\"the e-Corporation\",\"contract\":\"employee\",\"date\":\"1999 - 2000\",\"project\":\"Nashuatec, Daikin, etc\",\"role\":\"Lotus Notes Developer\",\"stack\":\"Lotus Notes\",\"id\":\"ecorp\"}]",{"title":23,"searchDepth":180,"depth":180,"links":199},[],"The projects and companies I worked for and the technologies I've used on these projects",{},{"title":37,"description":200},"1.career","Gpxh5Fd2yItbhI8-2Jr18g_LD2ItE_D7fW7mC6caYAQ",{"id":206,"title":207,"authors":8,"badge":8,"body":208,"date":8,"description":216,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":217,"navigation":185,"path":218,"seo":219,"social":8,"stem":220,"__hash__":221},"pages/2.expertise.md","Expertise",{"type":10,"value":209,"toc":214},[210],[211,212],"expertise",{":technologies":213}
97,"[{\"label\":\"Nuxt\",\"icon\":\"i-logos-nuxt-icon\",\"value\":88,\"color\":\"nuxt\",\"class\":\"w-5 h-4\"},{\"label\":\"Spring\",\"icon\":\"i-logos-spring-icon\",\"value\":94,\"color\":\"springframework\"},{\"label\":\"Java\",\"icon\":\"i-logos-java\",\"value\":96,\"color\":\"java\",\"class\":\"w-7 h-7 -ml-1\"},{\"label\":\"Vue.js\",\"icon\":\"i-logos-vue\",\"value\":75,\"color\":\"vue\"},{\"label\":\"Docker\",\"icon\":\"i-logos-docker-icon\",\"value\":80,\"color\":\"docker\"},{\"label\":\"Kubernetes\",\"icon\":\"i-logos-kubernetes\",\"value\":75,\"color\":\"kubernetes\"},{\"label\":\"Jenkins\",\"icon\":\"i-logos-jenkins\",\"value\":70,\"color\":\"jenkins\",\"class\":\"w-7 h-7 -ml-1\"},{\"label\":\"Liferay\",\"icon\":\"i-custom-liferay\",\"value\":60,\"color\":\"liferay\"},{\"label\":\"Angular\",\"icon\":\"i-logos-angular-icon\",\"value\":55,\"color\":\"angular\"}]",{"title":23,"searchDepth":180,"depth":180,"links":215},[],"A rather simplified, but nevertheless accurate overview of the various technologies that I specialise in lately and love to use to develop web solutions for clients.",{},"/expertise",{"title":207,"description":216},"2.expertise","CRUOko80V4XOkZYwoD4cV1zo2NyCzMn0m8rBuELdaF0",{"id":223,"title":44,"authors":8,"badge":8,"body":224,"date":8,"description":232,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":233,"navigation":185,"path":45,"seo":234,"social":8,"stem":235,"__hash__":236},"pages/3.projects.md",{"type":10,"value":225,"toc":230},[226],[227,228],"projects",{":projects":229},"[{\"title\":\"WPNuxt\",\"description\":\"Nuxt 3 + Headless WordPress, a new nuxt module\",\"to\":\"https://wpnuxt.com\",\"target\":\"_blank\",\"categories\":[\"WPNuxt\",\"Nuxt\",\"Wordpress\"],\"image\":{\"src\":\"/images/index/wpnuxt.png\",\"alt\":\"WPNuxt\"}},{\"title\":\"Harmonics\",\"description\":\"Healing power of sound, music & dance\",\"to\":\"https://harmonics.be\",\"target\":\"_blank\",\"categories\":[\"Nuxt\",\"Markdown\"],\"image\":{\"src\":\"/images/projects/harmonics.png\",\"alt\":\"Harmonics\"}},{\"title\":\"Vernaillen.dev\",\"description\":\"My website and blog as freelance developer.\",\"to\":\"https://vernaillen.dev\",\"target\":\"_blank\",\"categories\":[\"Nuxt\",\"UI Pro\",\"Markdown\"],\"image\":{\"src\":\"/images/projects/vernaillendev.png\",\"alt\":\"Vernaillen.dev\"}},{\"title\":\"Nuxt Audiomotion Analyzer\",\"description\":\"High-resolution real-time audio spectrum analyzer. Nuxt plugin wrapping Henrique Vianna's audioMotion-analyzer\",\"to\":\"https://nuxt-audiomotion-analyzer-docs.vercel.app/\",\"target\":\"_blank\",\"categories\":[\"Nuxt\"],\"image\":{\"src\":\"/images/projects/vue-audiomotion-analyzer.gif\",\"alt\":\"Vue Audiomotion Analyzer\"}},{\"title\":\"Radio app\",\"description\":\"App made with Nuxt & Vue Audiomotion Analyzer to play my favourite internet radio channels\",\"to\":\"https://radio.vernaillen.dev/\",\"target\":\"_blank\",\"categories\":[\"Nuxt\"],\"image\":{\"src\":\"/images/projects/radio.png\",\"alt\":\"Radio app\"}},{\"title\":\"links.vernaillen.dev\",\"description\":\"a \\\"links in bio\\\" app, made with Nuxt 3\",\"to\":\"https://links.vernaillen.dev\",\"target\":\"_blank\",\"categories\":[\"Nuxt\"],\"image\":{\"src\":\"/images/projects/biowouternet.png\",\"alt\":\"links.vernaillen.dev\"}}]",{"title":23,"searchDepth":180,"depth":180,"links":231},[],"An overview of the projects and websites that I've been working on lately.",{},{"title":44,"description":232},"3.projects","my-n4MjNw5MiUApwwJIVfSXiXYSumvh1MRKaZmXleT8",{"id":238,"title":239,"authors":8,"badge":8,"body":240,"date":8,"description":247,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":248,"navigation":185,"path":249,"seo":250,"social":8,"stem":251,"__hash__":252},"pages/5.blog.md","Blog",{"type":10,"value":241,"toc":245},[242],[243,244],"blog-posts",{},{"title":23,"searchDepth":180,"depth":180,"links":246},[],"Occasional thoughts and writings by Wouter",{},"/blog",{"title":239,"description":247},"5.blog","AtUFjSjdiT1d5iRCn20aAgGz5znUJUrp7rexob3NwZw",{"id":254,"title":255,"authors":8,"badge":8,"body":256,"date":8,"description":381,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":382,"navigation":185,"path":383,"seo":384,"social":8,"stem":385,"__hash__":386},"pages/6.about.md","About",{"type":10,"value":257,"toc":376},[258,264,268,282,285,300,304,308,312,320,343,355,360],[259,260,263],"h2",{"id":261,"data-index-number":262},"my-passions","0","My Passions",[28,265,267],{"data-index-number":266},"1","I'm an avid traveler, always open to learn from other cultures and intrigued by cross-cultural movements and tribes.",[28,269,271,277,278,281],{"data-index-number":270},"2",[272,273,276],"a",{"href":274,"target":275},"https://harmonics.be","_blank","Sound, music & dance"," is one of my passions, as I find it the best way to translate, give and recieve energy. Besides being a developer I'm also a sound healing practicioner, ecstatic dance dj and trance dance facilitator. You can find more about these activities on my other website ",[272,279,280],{"href":274,"target":275},"Harmonics.be",".",[259,283,37],{"id":195,"data-index-number":284},"3",[28,286,288],{"data-index-number":287},"4",[289,290],"img",{"alt":30,"className":291,"height":297,"src":298,"width":299},[292,293,294,295,296],"float-right","sm:ml-2","mb-2","w-full","sm:w-auto",350,"/images/woutervernaillen.jpg",300,[28,301,303],{"data-index-number":302},"5","My career as an IT consultant started in 1999. The first 14 years I worked as an employee for several IT service companies, and since 2013 I'm working as a freelancer.",[28,305,307],{"data-index-number":306},"6","By now I have build up more then 25 years of experience in web development and full stack development.",[28,309,311],{"data-index-number":310},"7","I have strongly specialised in full stack java development on portal platforms. Since 2006 this was focussed on IBM WebSphere Portal, while working for IBM.",[28,313,315,316,281],{"data-index-number":314},"8","In 2013 I decided to start freelancing, and changed my focus to open source platform, like ",[272,317,319],{"href":318,"target":275},"https://www.liferay.com/","Liferay Portal",[28,321,323,324,328,329,333,334,338,339],{"data-index-number":322},"9","The last few years I got excited about ",[272,325,327],{"href":326,"target":275},"https://vuejs.org/","Vue.js"," and I have build or migrated several websites with ",[272,330,332],{"href":331,"target":275},"https://nuxt.com/","Nuxt 3"," and ",[272,335,337],{"href":336,"target":275},"https://content.nuxtjs.org/","Nuxt Content",". You can read more about that in this ",[272,340,342],{"href":341},"/blog/discoveringnuxt","blog post about Nuxt 3",[28,344,346,347,350,351,281],{"data-index-number":345},"10","You can find a detailed overview of the clients and technologies I've worked with on my ",[272,348,349],{"href":39},"career page",". And feel free to check out my ",[272,352,354],{"href":353,"target":275},"https://www.linkedin.com/in/woutervernaillen/","LinkedIn profile",[259,356,359],{"id":357,"data-index-number":358},"contact","11","Contact",[28,361,363,364,368,369,372,373],{"data-index-number":362},"12","You can ",[272,365,367],{"href":366,"target":275},"https://calendly.com/vernaillen/15min","schedule a call in Calendly"," or leave me a message on ",[272,370,371],{"href":353,"target":275},"LinkedIn"," or any other social platform: ",[374,375],"social-icons",{},{"title":23,"searchDepth":180,"depth":180,"links":377},[378,379,380],{"id":261,"depth":180,"text":263},{"id":195,"depth":180,"text":37},{"id":357,"depth":180,"text":359},"In case you're wondering... who is this guy?",{},"/about",{"title":255,"description":381},"6.about","S9G6wuCep0Ved4G4QUdfeJqpfnxMTcSBNsYlbHY3RNE",{"id":6,"title":7,"authors":8,"badge":8,"body":388,"date":8,"description":18,"extension":182,"image":8,"isblogpost":183,"location":8,"meta":487,"navigation":185,"path":186,"seo":488,"social":8,"stem":188,"__hash__":189},{"type":10,"value":389,"toc":485},[390,405,419,433,443],[13,391,393,399],{"className":392,"description":17,"headline":18,"id":19},[16],[21,394,395],{"v-slot:title":23},[25,396,397],{},[28,398,30],{},[21,400,401,403],{"v-slot:links":23},[34,402],{"color":36,"label":37,"size":38,"to":39,"trailing-icon":40,"variant":41},[34,404],{"color":36,"label":44,"size":38,"to":45,"trailing-icon":40,"variant":46},[48,406,408,413],{"description":50,":features":51,":links":52,"className":407,"orientation":55,":reverse":56,"id":57},[54],[59,409,411],{"className":410},[62,63,64],[66,412],{":show-ring":56,"alt":68,"src":69},[21,414,415],{"v-slot:title":23},[25,416,417],{},[28,418,68],{},[48,420,422,427],{"description":78,":features":79,":links":80,"className":421,"orientation":55,"url":82},[54],[59,423,425],{"className":424},[62,63,64],[66,426],{":show-ring":56,"alt":88,"src":89,"show-ring":23},[21,428,429],{"v-slot:title":23},[25,430,431],{},[28,432,96],{},[98,434,435],{},[48,436,437],{"description":102,":features":103},[21,438,439],{"v-slot:title":23},[25,440,441],{},[28,442,110],{},[98,444,445],{}
97,[48,446,447,479],{"description":115},[117,448,449,455,461,467,473],{},[120,450,451],{},[123,452,453],{"description":125},[127,454],{":avatar":129,"description":130,"name":131},[120,456,457],{},[123,458,459],{"description":136},[127,460],{":avatar":139,"description":140,"name":141},[120,462,463],{},[123,464,465],{"description":146},[127,466],{":avatar":149,"description":150,"name":151},[120,468,469],{},[123,470,471],{"description":156},[127,472],{":avatar":159,"description":160,"name":161},[120,474,475],{},[123,476,477],{"description":166},[127,478],{":avatar":169,"description":170,"name":171},[21,480,481],{"v-slot:title":23},[25,482,483],{},[28,484,178],{},{"title":23,"searchDepth":180,"depth":180,"links":486},[],{},{"title":7,"description":18},["Reactive",490],{"$scolor-mode":491,"$snuxt-seo-utils:routeRules":493,"$stoasts":494,"$smenuState":495,"$ssite-config":496},{"preference":492,"value":492,"unknown":185,"forced":185},"light",{"head":-1,"seoMeta":-1},[],{"hoveredPath":186,"activePath":186},{"_priority":497,"defaultLocale":500,"description":18,"env":501,"name":30,"url":502},{"name":498,"env":499,"url":498,"description":498,"defaultLocale":498},-3,-15,"en","production","https://vernaillen.vercel.app",["Set"],["ShallowReactive",505],{"navigation":-1,"$QD8d9NkvSp":-1}]</script>
97<script>window.__NUXT__={};window.__NUXT__.config={public:{nuxtVersion:"4.0.0-alpha.2","seo-utils":{canonicalQueryWhitelist:["page","sort","filter","search","q","category","tag"],canonicalLowercase:true},content:{wsUrl:""},mdc:{components:{prose:true,map:{accordion:"ProseAccordion","accordion-item":"ProseAccordionItem",badge:"ProseBadge",callout:"ProseCallout",card:"ProseCard","card-group":"ProseCardGroup",caution:"ProseCaution","code-collapse":"ProseCodeCollapse","code-group":"ProseCodeGroup","code-icon":"ProseCodeIcon","code-preview":"ProseCodePreview","code-tree":"ProseCodeTree",collapsible:"ProseCollapsible",field:"ProseField","field-group":"ProseFieldGroup",icon:"ProseIcon",kbd:"ProseKbd",note:"ProseNote",steps:"ProseSteps",tabs:"ProseTabs","tabs-item":"ProseTabsItem",tip:"ProseTip",warning:"ProseWarning"}},headings:{anchorLinks:{h1:false,h2:true,h3:true,h4:true,h5:false,h6:false}}},vgsap:{},preview:{api:"https://api.nuxt.studio",iframeMessagingAllowedOrigins:""}},app:{baseURL:"/",buildId:"dcf96d12-221c-4d33-82ea-ddf6dff095f2",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script>
97</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.