1<!DOCTYPE html><html lang="en" class="scroll-smooth"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/868ce8d975f3d2b8-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fassets%2Ffull_pp_2026_no_background.png&w=640&q=75 1x, /_next/image?url=%2Fassets%2Ffull_pp_2026_no_background.png&w=828&q=75 2x" fetchPriority="high"/><link rel="stylesheet" href="/_next/static/css/d80fcd9c07355bcb.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/86110dd407ba9d33.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6541b3ed37501304.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-121401630cda7a57.js"/>
1<script src="/_next/static/chunks/fd9d1056-bb11881ef41582aa.js" async=""></script>
1<script src="/_next/static/chunks/23-3ef33e1fba6766ba.js" async=""></script>
1<script src="/_next/static/chunks/main-app-f73cdb3bce740b12.js" async=""></script>
1<script src="/_next/static/chunks/231-83569c10c5a31211.js" async=""></script>
1<script src="/_next/static/chunks/173-d9f311a6d2574f24.js" async=""></script>
1<script src="/_next/static/chunks/app/about/page-8c015be2be45134c.js" async=""></script>
1<script src="/_next/static/chunks/748-83475c354d5f9acb.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-52082cee58193356.js" async=""></script>
1<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#060606"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fafafa"/><meta name="color-scheme" content="dark light"/><title>About Me ⢠Mehdio's tech corner</title><meta name="description" content="Mehdi Ouazza (mehdio) â building AI workflows for data and teaching the curious how to do more with data in the AI era."/><meta name="application-name" content="Mehdio's tech corner"/><link rel="author" href="https://github.com/mehd-io"/><meta name="author" content="Mehdi Ouazza"/><meta name="keywords" content="about,mehdio,ai,ai workflows,data,data engineer,developer advocate,speaker,educator,duckdb"/><meta name="robots" content="index, follow"/><meta name="category" content="Personal Website"/><meta property="og:title" content="Mehdio's tech corner"/><meta property="og:description" content="I build AI workflows for data and help the curious â technical or not â do more with data in the AI era. Tutorials, videos, talks, and the occasional duck."/><meta property="og:url" content="https://mehdio.com"/><meta property="og:site_name" content="Mehdio's tech corner"/><meta property="og:image" content="https://mehdio.com/preview.png"/><meta property="og:image:width" content="2164"/><meta property="og:image:height" content="1623"/><meta property="og:image:alt" content="Mehdio's Tech Corner by Mehdi Ouazza"/><meta property="og:email" content="[email protected]"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Mehdio's tech corner"/><meta name="twitter:description" content="I build AI workflows for data and help the curious â technical or not â do more with data in the AI era. Tutorials, videos, talks, and the occasional duck."/><meta name="twitter:image" content="https://mehdio.com/preview.png"/><link rel="icon" href="/icon.png?cb19379522164e27" type="image/png" sizes="317x232"/><meta name="next-size-adjust"/>
1<script defer="" src="https://cloud.umami.is/script.js" data-website-id="a5f9597b-4947-4494-b2b5-f10bcf7a9828"></script>
1<script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script>
1</head><body class="scroll-smooth __variable_e3d129 __variable_94cbb4">
1<script>!function(){var d=document.documentElement,c=d.classList;c.remove('light','dark');d.style.colorScheme = 'dark';c.add('dark')}()</script>
1<div class="relative"><header class="fixed top-0 z-40 w-full p-3"><div class="content-container m-auto flex items-center justify-between rounded-xl border border-cap-navy/50 bg-neutral-1000/85 p-0 shadow-sm backdrop-blur-3xl transition-all md:px-5"><a class="bg-gradient-to-r from-cap-ice to-cap-coral-light bg-clip-text px-4 py-3 font-handwrite text-2xl font-bold text-transparent drop-shadow-lg transition-all hover:from-cap-blue hover:to-cap-coral md:px-0" href="/">Mehdi Ouazza</a><div class="hidden w-full items-center gap-6 md:flex md:w-auto"><nav class="flex-wrap items-center justify-center gap-5"><a data-active="false" class="rounded-lg p-2 leading-none text-cap-steel transition-colors data-[active='true']:bg-cap-blue/20 data-[active='true']:text-cap-ice hover:bg-cap-blue/20 hover:text-cap-ice" href="/">Home</a><a data-active="false" class="rounded-lg p-2 leading-none text-cap-steel transition-colors data-[active='true']:bg-cap-blue/20 data-[active='true']:text-cap-ice hover:bg-cap-blue/20 hover:text-cap-ice" href="/blog">Blog</a><a data-active="false" class="rounded-lg p-2 leading-none text-cap-steel transition-colors data-[active='true']:bg-cap-blue/20 data-[active='true']:text-cap-ice hover:bg-cap-blue/20 hover:text-cap-ice" href="/videos">Videos</a><a data-active="false" class="rounded-lg p-2 leading-none text-cap-steel transition-colors data-[active='true']:bg-cap-blue/20 data-[active='true']:text-cap-ice hover:bg-cap-blue/20 hover:text-cap-ice" href="/projects">Projects</a><a data-active="true" class="rounded-lg p-2 leading-none text-cap-steel transition-colors data-[active='true']:bg-cap-blue/20 data-[active='true']:text-cap-ice hover:bg-cap-blue/20 hover:text-cap-ice" href="/about">About</a></nav><div class="flex items-center gap-3 border-l border-cap-navy/50 pl-4"><a href="https://youtube.com/@mehdio" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="text-cap-steel/70 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M164.44,121.34l-48-32A8,8,0,0,0,104,96v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,145.05V111l25.58,17ZM234.33,69.52a24,24,0,0,0-14.49-16.4C185.56,39.88,131,40,128,40s-57.56-.12-91.84,13.12a24,24,0,0,0-14.49,16.4C19.08,79.5,16,97.74,16,128s3.08,48.5,5.67,58.48a24,24,0,0,0,14.49,16.41C69,215.56,120.4,216,127.34,216h1.32c6.94,0,58.37-.44,91.18-13.11a24,24,0,0,0,14.49-16.41c2.59-10,5.67-28.22,5.67-58.48S236.92,79.5,234.33,69.52Zm-15.49,113a8,8,0,0,1-4.77,5.49c-31.65,12.22-85.48,12-86,12H128c-.54,0-54.33.2-86-12a8,8,0,0,1-4.77-5.49C34.8,173.39,32,156.57,32,128s2.8-45.39,5.16-54.47A8,8,0,0,1,41.93,68c30.52-11.79,81.66-12,85.85-12h.27c.54,0,54.38-.18,86,12a8,8,0,0,1,4.77,5.49C221.2,82.61,224,99.43,224,128S221.2,173.39,218.84,182.47Z"></path></svg></a><a href="https://github.com/mehd-io" target="_blank" rel="noopener noreferrer" aria-label="GitHub" class="text-cap-steel/70 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z"></path></svg></a><a href="https://www.linkedin.com/in/mehd-io/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="text-cap-steel/70 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z"></path></svg></a><a href="https://x.com/@mehd_io" target="_blank" rel="noopener noreferrer" aria-label="X" class="text-cap-steel/70 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z"></path></svg></a></div><div class="relative"><button class="flex items-center gap-2 rounded-lg border border-cap-navy
1/50 bg-neutral-900/50 px-3 py-1.5 text-sm text-cap-steel transition-all hover:border-cap-blue/50 hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-4 w-4"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="hidden sm:inline">Search</span><kbd class="hidden rounded bg-neutral-800 px-1.5 py-0.5 font-mono text-[10px] text-neutral-500 sm:inline">âK</kbd></button></div></div><div class="flex items-center md:hidden"><div class="relative"><button class="flex items-center gap-2 rounded-lg border border-cap-navy/50 bg-neutral-900/50 px-3 py-1.5 text-sm text-cap-steel transition-all hover:border-cap-blue/50 hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-4 w-4"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="hidden sm:inline">Search</span><kbd class="hidden rounded bg-neutral-800 px-1.5 py-0.5 font-mono text-[10px] text-neutral-500 sm:inline">âK</kbd></button></div><button class="md:hidden px-4 py-3" aria-label="Open menu" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-:R5mja:" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256"><path d="M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM40,72H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z"></path></svg></button></div></div></header><div><div class="min-h-screen"><div class="absolute top-0 -z-50 h-full w-full bg-[radial-gradient(rgba(255,255,255,0.03)_1px,transparent_1px)] [background-size:20px_20px]"></div><div class="content-container m-auto pb-20 pt-24"><section class="mb-16 grid items-center gap-12 lg:grid-cols-2 lg:gap-16"><div class="flex justify-center lg:justify-start"><div class="relative aspect-square w-[19rem] sm:w-[23rem] lg:w-[25rem]"><div class="portrait-aura absolute inset-8 z-0 rounded-full opacity-60 blur-2xl"></div><div class="portrait-pixels absolute inset-0 z-[1]"></div><img alt="Mehdi Ouazza" fetchPriority="high" width="410" height="410" decoding="async" data-nimg="1" class="relative z-10 h-full w-full object-contain drop-shadow-2xl" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Ffull_pp_2026_no_background.png&w=640&q=75 1x, /_next/image?url=%2Fassets%2Ffull_pp_2026_no_background.png&w=828&q=75 2x" src="/_next/image?url=%2Fassets%2Ffull_pp_2026_no_background.png&w=828&q=75"/></div></div><div class="flex flex-col justify-center"><h1 class="mb-4 bg-gradient-to-r from-cap-ice to-cap-coral-light bg-clip-text font-handwrite text-4xl font-bold text-transparent md:text-5xl">Hey, I'm Mehdio ð</h1><div class="space-y-4 text-base leading-relaxed text-neutral-300 md:text-lg"><p><strong class="text-white">10+ years in data</strong> â from on-prem Spark clusters at AXA to cloud data platforms at Klarna, Back Market and Trade Republic. Now the first DevRel at<!-- --> <a href="https://motherduck.com" target="_blank" rel="noopener noreferrer" class="font-semibold text-blog-yellow underline decoration-blog-yellow/30 underline-offset-2 transition-colors hover:decoration-blog-yellow">MotherDuck</a> <!-- -->(DuckDB in the cloud).</p><p>Today I work at the overlap of<!-- --> <strong class="text-white">data and AI</strong> â building AI workflows for data engineering, and helping people who<!-- --> <em>aren't</em> engineers do real things with data.</p><p class="text-cap-steel">I believe<!-- --> <strong class="text-white">learning should be fun</strong>, so I teach it through talks, videos and live demos.</p></div></div></section><section class="mb-16"><h2 class="mb-4 flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>
1Fun facts</h2><div class="flex flex-wrap gap-3"><span class="inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50"><span aria-hidden="true">ð¤</span>Spoke at 30+ events</span><span class="inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50"><span aria-hidden="true">ð</span>Telly Award â best marketing video for developers</span><span class="inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50"><span aria-hidden="true">ð</span>Grew MotherDuck audience 450%</span><span class="inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50"><span aria-hidden="true">ð¦</span>Certified duck enthusiast</span></div></section><section class="mb-16"><div class="mb-5 flex items-center justify-between gap-4"><h2 class="flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" x2="12" y1="19" y2="22"></line></svg>Speaking</h2><a class="inline-flex items-center gap-1 text-xs font-medium text-blog-yellow transition-colors hover:text-blog-yellow/70" href="/talks">See all talks â</a></div><div class="group relative overflow-hidden"><div class="pointer-events-none absolute inset-y-0 left-0 z-10 w-10 bg-gradient-to-r from-[#060606] to-transparent sm:w-16"></div><div class="pointer-events-none absolute inset-y-0 right-0 z-10 w-10 bg-gradient-to-l from-[#060606] to-transparent sm:w-16"></div><div class="speaking-marquee flex w-max"><div class="flex shrink-0" aria-hidden="false"><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi on stage at the Adeo x Decathlon Dev Summit" loading="lazy" width="1600" height="1067" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi presenting at PyCon DE & PyData Darmstadt" loading="lazy" width="2160" height="1440" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-1.jpeg&w=3840&q=75 1x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-1.jpeg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi speaking with a microphone to an audience" loading="lazy" width="1387" height="887" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi giving a talk on a large conference stage" loading="lazy" width="1600" height="1200" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi gesturing while presenting at PyData Darmstadt" loading="lazy" width="2160" height="1440" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-2.jpeg&w=3840&q=75 1x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-2.jpeg&w=3840&q=75"/></button></div><div class="flex shrink-0" aria-hidden="true"><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi on stage at the Adeo x Decathlon Dev Summit" loading="lazy" width="1600" height="1067" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-1.jpg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi presenting at PyCon DE & PyData Darmstadt" loading="lazy" width="2160" height="1440" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-1.jpeg&w=3840&q=75 1x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-1.jpeg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]">
1<img alt="Mehdi speaking with a microphone to an audience" loading="lazy" width="1387" height="887" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpydata-numfocus.png&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi giving a talk on a large conference stage" loading="lazy" width="1600" height="1200" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=1920&q=75 1x, /_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=3840&q=75 2x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fdevsummit-2026-2.jpg&w=3840&q=75"/></button><button type="button" class="mr-4 h-52 w-80 shrink-0 cursor-zoom-in overflow-hidden rounded-xl border border-neutral-800 transition-colors hover:border-neutral-600 sm:h-64 sm:w-[26rem]"><img alt="Mehdi gesturing while presenting at PyData Darmstadt" loading="lazy" width="2160" height="1440" decoding="async" data-nimg="1" class="h-full w-full object-cover" style="color:transparent" srcSet="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-2.jpeg&w=3840&q=75 1x" src="/_next/image?url=%2Fassets%2Fspeaking%2Fpyconde-2026-2.jpeg&w=3840&q=75"/></button></div></div></div></section><section><div class="mb-6 flex items-center justify-between gap-4"><h2 class="flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-briefcase h-4 w-4"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg>Work Experience</h2><a class="inline-flex items-center gap-1.5 rounded-full border border-blog-yellow/30 bg-blog-yellow/10 px-3 py-1 text-xs font-medium text-blog-yellow transition-all hover:border-blog-yellow/60 hover:bg-blog-yellow/20" href="/resume"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-3.5 w-3.5"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>Want a 1-pager PDF?</a></div><div class="relative"><div class="absolute left-[7px] top-2 h-[calc(100%-1rem)] w-px bg-gradient-to-b from-blog-yellow via-blog-coral to-neutral-800"></div><div class="space-y-6"><div class="relative pl-8"><div class="absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20"></div><div class="rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50"><div class="mb-2 flex flex-wrap items-center gap-2"><h3 class="font-semibold text-blog-yellow">MotherDuck</h3><span class="text-sm text-neutral-500">â¢</span><span class="text-sm text-neutral-400">Data Engineer & Developer Advocate</span></div><div class="mb-2 flex flex-wrap gap-3 text-xs text-neutral-500"><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3 w-3"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>2023 - Present</span><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-3 w-3"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>Berlin, Remote</span></div><p class="text-sm leading-relaxed text-neutral-400">First DevRel hire, now focused on data + AI workflows. Built docs from scratch, grew social audience 450%, launched a YouTube channel (100K+ views), organized 5+ DuckDB meetups (250+ attendees), and spoke at 12+ events.</p></div></div><div class="relative pl-8">
1<div class="absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20"></div><div class="rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50"><div class="mb-2 flex flex-wrap items-center gap-2"><h3 class="font-semibold text-blog-yellow">Trade Republic</h3><span class="text-sm text-neutral-500">â¢</span><span class="text-sm text-neutral-400">Staff Data Engineer</span></div><div class="mb-2 flex flex-wrap gap-3 text-xs text-neutral-500"><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3 w-3"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>2022</span><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-3 w-3"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>Berlin</span></div><p class="text-sm leading-relaxed text-neutral-400">Led data infrastructure for analytics engineers. Co-organized first company-wide hackathon (50%+ participation). Launched public engineering blog.</p></div></div><div class="relative pl-8"><div class="absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20"></div><div class="rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50"><div class="mb-2 flex flex-wrap items-center gap-2"><h3 class="font-semibold text-blog-yellow">Back Market</h3><span class="text-sm text-neutral-500">â¢</span><span class="text-sm text-neutral-400">Senior Data Engineer</span></div><div class="mb-2 flex flex-wrap gap-3 text-xs text-neutral-500"><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3 w-3"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>2021 - 2022</span><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-3 w-3"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>Berlin, Remote</span></div><p class="text-sm leading-relaxed text-neutral-400">Built access management for 100+ data users. Led data warehouse migration from AWS to GCP.</p></div></div><div class="relative pl-8"><div class="absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20"></div><div class="rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50"><div class="mb-2 flex flex-wrap items-center gap-2"><h3 class="font-semibold text-blog-yellow">Klarna</h3><span class="text-sm text-neutral-500">â¢</span><span class="text-sm text-neutral-400">Senior Data Engineer</span></div><div class="mb-2 flex flex-wrap gap-3 text-xs text-neutral-500"><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3 w-3"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>2019 - 2020</span><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-3 w-3"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>Berlin</span></div><p class="text-sm leading-relaxed text-neutral-400">Built and maintained batch/streaming pipelines at scale. Created frameworks to optimize data flow.</p></div></div><div class="relative pl-8">
1<div class="absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20"></div><div class="rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50"><div class="mb-2 flex flex-wrap items-center gap-2"><h3 class="font-semibold text-blog-yellow">AXA</h3><span class="text-sm text-neutral-500">â¢</span><span class="text-sm text-neutral-400">Data Engineer</span></div><div class="mb-2 flex flex-wrap gap-3 text-xs text-neutral-500"><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3 w-3"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>2017 - 2019</span><span class="flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-map-pin h-3 w-3"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path><circle cx="12" cy="10" r="3"></circle></svg>Belgium</span></div><p class="text-sm leading-relaxed text-neutral-400">Set up CI/CD pipelines for data. Delivered end-to-end business cases. Led Data Science community.</p></div></div></div></div></section></div></div></div><footer class="py-8"><div class="content-container m-auto flex flex-wrap items-center justify-center gap-x-6 gap-y-3"><nav aria-label="Site information" class="flex items-center gap-4 text-sm text-cap-steel/70"><a class="transition-colors hover:text-cap-ice" href="/about">About</a><a class="transition-colors hover:text-cap-ice" href="/contact">Contact</a><a class="transition-colors hover:text-cap-ice" href="/privacy">Privacy</a></nav><div class="flex items-center gap-4"><a href="https://youtube.com/@mehdio" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="text-cap-steel/50 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M164.44,121.34l-48-32A8,8,0,0,0,104,96v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,145.05V111l25.58,17ZM234.33,69.52a24,24,0,0,0-14.49-16.4C185.56,39.88,131,40,128,40s-57.56-.12-91.84,13.12a24,24,0,0,0-14.49,16.4C19.08,79.5,16,97.74,16,128s3.08,48.5,5.67,58.48a24,24,0,0,0,14.49,16.41C69,215.56,120.4,216,127.34,216h1.32c6.94,0,58.37-.44,91.18-13.11a24,24,0,0,0,14.49-16.41c2.59-10,5.67-28.22,5.67-58.48S236.92,79.5,234.33,69.52Zm-15.49,113a8,8,0,0,1-4.77,5.49c-31.65,12.22-85.48,12-86,12H128c-.54,0-54.33.2-86-12a8,8,0,0,1-4.77-5.49C34.8,173.39,32,156.57,32,128s2.8-45.39,5.16-54.47A8,8,0,0,1,41.93,68c30.52-11.79,81.66-12,85.85-12h.27c.54,0,54.38-.18,86,12a8,8,0,0,1,4.77,5.49C221.2,82.61,224,99.43,224,128S221.2,173.39,218.84,182.47Z"></path></svg></a><a href="https://github.com/mehd-io" target="_blank" rel="noopener noreferrer" aria-label="GitHub" class="text-cap-steel/50 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z"></path></svg></a><a href="https://www.linkedin.com/in/mehd-io/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="text-cap-steel/50 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z"></path></svg></a><a href="https://x.com/@mehd_io" target="_blank" rel="noopener noreferrer" aria-label="X" class="text-cap-steel/50 transition-colors hover:text-cap-ice"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="h-5 w-5"><path d="M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z"></path></svg></a></div></div></footer></div>
1<script src="/_next/static/chunks/webpack-121401630cda7a57.js" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script>
1<script>self.__next_f.push([1,"1:HL[\"/_next/static/media/868ce8d975f3d2b8-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/css/d80fcd9c07355bcb.css\",\"style\"]\n4:HL[\"/_next/static/css/86110dd407ba9d33.css\",\"style\"]\n5:HL[\"/_next/static/css/6541b3ed37501304.css\",\"style\"]\n"])</script>
1<script>self.__next_f.push([1,"6:I[5751,[],\"\"]\n8:I[8173,[\"231\",\"static/chunks/231-83569c10c5a31211.js\",\"173\",\"static/chunks/173-d9f311a6d2574f24.js\",\"301\",\"static/chunks/app/about/page-8c015be2be45134c.js\"],\"Image\"]\n9:I[231,[\"231\",\"static/chunks/231-83569c10c5a31211.js\",\"173\",\"static/chunks/173-d9f311a6d2574f24.js\",\"301\",\"static/chunks/app/about/page-8c015be2be45134c.js\"],\"\"]\na:I[4615,[\"231\",\"static/chunks/231-83569c10c5a31211.js\",\"173\",\"static/chunks/173-d9f311a6d2574f24.js\",\"301\",\"static/chunks/app/about/page-8c015be2be45134c.js\"],\"SpeakingCarousel\"]\nb:I[9275,[],\"\"]\nc:I[1343,[],\"\"]\nd:I[2650,[\"231\",\"static/chunks/231-83569c10c5a31211.js\",\"748\",\"static/chunks/748-83475c354d5f9acb.js\",\"185\",\"static/chunks/app/layout-52082cee58193356.js\"],\"Providers\"]\ne:I[5377,[\"231\",\"static/chunks/231-83569c10c5a31211.js\",\"748\",\"static/chunks/748-83475c354d5f9acb.js\",\"185\",\"static/chunks/app/layout-52082cee58193356.js\"],\"Header\"]\n10:I[6130,[],\"\"]\n11:[]\n"])</script>
1<script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d80fcd9c07355bcb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/86110dd407ba9d33.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"buildId\":\"BCKu3tu4uevDimwzCvzqh\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/about\",\"initialTree\":[\"\",{\"children\":[\"about\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"about\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"div\",null,{\"className\":\"content-container m-auto pb-20 pt-24\",\"children\":[[\"$\",\"section\",null,{\"className\":\"mb-16 grid items-center gap-12 lg:grid-cols-2 lg:gap-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex justify-center lg:justify-start\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative aspect-square w-[19rem] sm:w-[23rem] lg:w-[25rem]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"portrait-aura absolute inset-8 z-0 rounded-full opacity-60 blur-2xl\"}],[\"$\",\"div\",null,{\"className\":\"portrait-pixels absolute inset-0 z-[1]\"}],[\"$\",\"$L8\",null,{\"src\":\"/assets/full_pp_2026_no_background.png\",\"alt\":\"Mehdi Ouazza\",\"width\":410,\"height\":410,\"priority\":true,\"className\":\"relative z-10 h-full w-full object-contain drop-shadow-2xl\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col justify-center\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"mb-4 bg-gradient-to-r from-cap-ice to-cap-coral-light bg-clip-text font-handwrite text-4xl font-bold text-transparent md:text-5xl\",\"children\":\"Hey, I'm Mehdio ð\"}],[\"$\",\"div\",null,{\"className\":\"space-y-4 text-base leading-relaxed text-neutral-300 md:text-lg\",\"children\":[[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"className\":\"text-white\",\"children\":\"10+ years in data\"}],\" â from on-prem Spark clusters at AXA to cloud data platforms at Klarna, Back Market and Trade Republic. Now the first DevRel at\",\" \",[\"$\",\"a\",null,{\"href\":\"https://motherduck.com\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"font-semibold text-blog-yellow underline decoration-blog-yellow/30 underline-offset-2 transition-colors hover:decoration-blog-yellow\",\"children\":\"MotherDuck\"}],\" \",\"(DuckDB in the cloud).\"]}],[\"$\",\"p\",null,{\"children\":[\"Today I work at the overlap of\",\" \",[\"$\",\"strong\",null,{\"className\":\"text-white\",\"children\":\"data and AI\"}],\" â building AI workflows for data engineering, and helping people who\",\" \",[\"$\",\"em\",null,{\"children\":\"aren't\"}],\" engineers do real things with data.\"]}],[\"$\",\"p\",null,{\"className\":\"text-cap-steel\",\"children\":[\"I believe\",\" \",[\"$\",\"strong\",null,{\"className\":\"text-white\",\"children\":\"learning should be fun\"}],\", so I teach it through talks, videos and live demos.\"]}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"mb-16\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"mb-4 flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles h-4 w-4\",\"children\":[[\"$\",\"path\",\"4pj2yx\",{\"d\":\"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\"}],[\"$\",\"path\",\"1olli1\",{\"d\":\"M20 3v4\"}],[\"$\",\"path\",\"1gvqau\",{\"d\":\"M22 5h-4\"}],[\"$\",\"path\",\"vumght\",{\"d\":\"M4 17v2\"}],[\"$\",\"path\",\"zchphs\",{\"d\":\"M5 18H3\"}],\"$undefined\"]}],\"Fun facts\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-3\",\"children\":[[\"$\",\"span\",\"Spoke at 30+ events\",{\"className\":\"inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"ð¤\"}],\"Spoke at 30+ events\"]}],[\"$\",\"span\",\"Telly Award â best marketing video for developers\",{\"className\":\"inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"ð\"}],\"Telly Award â best marketing video for developers\"]}
1],[\"$\",\"span\",\"Grew MotherDuck audience 450%\",{\"className\":\"inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"ð\"}],\"Grew MotherDuck audience 450%\"]}],[\"$\",\"span\",\"Certified duck enthusiast\",{\"className\":\"inline-flex items-center gap-2 rounded-full border border-blog-yellow/30 bg-blog-yellow/5 px-4 py-2 text-sm text-neutral-300 transition-all hover:border-blog-yellow/50\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"ð¦\"}],\"Certified duck enthusiast\"]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"mb-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 flex items-center justify-between gap-4\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-mic h-4 w-4\",\"children\":[[\"$\",\"path\",\"131961\",{\"d\":\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\"}],[\"$\",\"path\",\"1vc78b\",{\"d\":\"M19 10v2a7 7 0 0 1-14 0v-2\"}],[\"$\",\"line\",\"x3vr5v\",{\"x1\":\"12\",\"x2\":\"12\",\"y1\":\"19\",\"y2\":\"22\"}],\"$undefined\"]}],\"Speaking\"]}],[\"$\",\"$L9\",null,{\"href\":\"/talks\",\"className\":\"inline-flex items-center gap-1 text-xs font-medium text-blog-yellow transition-colors hover:text-blog-yellow/70\",\"children\":\"See all talks â\"}]]}],[\"$\",\"$La\",null,{}]]}],[\"$\",\"section\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-6 flex items-center justify-between gap-4\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-neutral-500\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-briefcase h-4 w-4\",\"children\":[[\"$\",\"path\",\"jecpp\",{\"d\":\"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"}],[\"$\",\"rect\",\"i6l2r4\",{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}],\"$undefined\"]}],\"Work Experience\"]}],[\"$\",\"$L9\",null,{\"href\":\"/resume\",\"className\":\"inline-flex items-center gap-1.5 rounded-full border border-blog-yellow/30 bg-blog-yellow/10 px-3 py-1 text-xs font-medium text-blog-yellow transition-all hover:border-blog-yellow/60 hover:bg-blog-yellow/20\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-file-text h-3.5 w-3.5\",\"children\":[[\"$\",\"path\",\"1rqfz7\",{\"d\":\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"}],[\"$\",\"path\",\"tnqrlb\",{\"d\":\"M14 2v4a2 2 0 0 0 2 2h4\"}],[\"$\",\"path\",\"b1mrlr\",{\"d\":\"M10 9H8\"}],[\"$\",\"path\",\"t4e002\",{\"d\":\"M16 13H8\"}],[\"$\",\"path\",\"z1uh3a\",{\"d\":\"M16 17H8\"}],\"$undefined\"]}],\"Want a 1-pager PDF?\"]}]]}],[\"$\",\"div\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-[7px] top-2 h-[calc(100%-1rem)] w-px bg-gradient-to-b from-blog-yellow via-blog-coral to-neutral-800\"}],[\"$\",\"div\",null,{\"className\":\"space-y-6\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"relative pl-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20\"}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap items-center gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-blog-yellow\",\"children\":\"MotherDuck\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":\"â¢\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-400\",\"children\":\"Data Engineer \u0026 Developer Advocate\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap gap-3 text-xs text-neutral-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
1:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-calendar h-3 w-3\",\"children\":[[\"$\",\"path\",\"1cmpym\",{\"d\":\"M8 2v4\"}],[\"$\",\"path\",\"4m81vk\",{\"d\":\"M16 2v4\"}],[\"$\",\"rect\",\"1hopcy\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}],[\"$\",\"path\",\"8toen8\",{\"d\":\"M3 10h18\"}],\"$undefined\"]}],\"2023 - Present\"]}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-map-pin h-3 w-3\",\"children\":[[\"$\",\"path\",\"1r0f0z\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"$\",\"circle\",\"ilqhr7\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}],\"$undefined\"]}],\"Berlin, Remote\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-neutral-400\",\"children\":\"First DevRel hire, now focused on data + AI workflows. Built docs from scratch, grew social audience 450%, launched a YouTube channel (100K+ views), organized 5+ DuckDB meetups (250+ attendees), and spoke at 12+ events.\"}]]}]]}],[\"$\",\"div\",\"1\",{\"className\":\"relative pl-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20\"}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap items-center gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-blog-yellow\",\"children\":\"Trade Republic\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":\"â¢\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-400\",\"children\":\"Staff Data Engineer\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap gap-3 text-xs text-neutral-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-calendar h-3 w-3\",\"children\":[[\"$\",\"path\",\"1cmpym\",{\"d\":\"M8 2v4\"}],[\"$\",\"path\",\"4m81vk\",{\"d\":\"M16 2v4\"}],[\"$\",\"rect\",\"1hopcy\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}],[\"$\",\"path\",\"8toen8\",{\"d\":\"M3 10h18\"}],\"$undefined\"]}],\"2022\"]}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-map-pin h-3 w-3\",\"children\":[[\"$\",\"path\",\"1r0f0z\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"$\",\"circle\",\"ilqhr7\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}],\"$undefined\"]}],\"Berlin\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-neutral-400\",\"children\":\"Led data infrastructure for analytics engineers. Co-organized first company-wide hackathon (50%+ participation). Launched public engineering blog.\"}]]}]]}],[\"$\",\"div\",\"2\",{\"className\":\"relative pl-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20\"}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap items-center gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-blog-yellow\",\"children\":\"Back Market\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":\"â¢\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-400\",\"children\":\"Senior Data Engineer\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap gap-3 text-xs text-neutral-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
1:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-calendar h-3 w-3\",\"children\":[[\"$\",\"path\",\"1cmpym\",{\"d\":\"M8 2v4\"}],[\"$\",\"path\",\"4m81vk\",{\"d\":\"M16 2v4\"}],[\"$\",\"rect\",\"1hopcy\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}],[\"$\",\"path\",\"8toen8\",{\"d\":\"M3 10h18\"}],\"$undefined\"]}],\"2021 - 2022\"]}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-map-pin h-3 w-3\",\"children\":[[\"$\",\"path\",\"1r0f0z\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"$\",\"circle\",\"ilqhr7\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}],\"$undefined\"]}],\"Berlin, Remote\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-neutral-400\",\"children\":\"Built access management for 100+ data users. Led data warehouse migration from AWS to GCP.\"}]]}]]}],[\"$\",\"div\",\"3\",{\"className\":\"relative pl-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20\"}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap items-center gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-blog-yellow\",\"children\":\"Klarna\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":\"â¢\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-400\",\"children\":\"Senior Data Engineer\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap gap-3 text-xs text-neutral-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-calendar h-3 w-3\",\"children\":[[\"$\",\"path\",\"1cmpym\",{\"d\":\"M8 2v4\"}],[\"$\",\"path\",\"4m81vk\",{\"d\":\"M16 2v4\"}],[\"$\",\"rect\",\"1hopcy\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}],[\"$\",\"path\",\"8toen8\",{\"d\":\"M3 10h18\"}],\"$undefined\"]}],\"2019 - 2020\"]}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-map-pin h-3 w-3\",\"children\":[[\"$\",\"path\",\"1r0f0z\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"$\",\"circle\",\"ilqhr7\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}],\"$undefined\"]}],\"Berlin\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-neutral-400\",\"children\":\"Built and maintained batch/streaming pipelines at scale. Created frameworks to optimize data flow.\"}]]}]]}],[\"$\",\"div\",\"4\",{\"className\":\"relative pl-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-1.5 h-4 w-4 rounded-full border-2 border-blog-yellow bg-blog-yellow/20\"}],[\"$\",\"div\",null,{\"className\":\"rounded-lg border p-4 transition-all border-blog-yellow/30 bg-blog-yellow/5 hover:border-blog-yellow/50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap items-center gap-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-blog-yellow\",\"children\":\"AXA\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-500\",\"children\":\"â¢\"}],[\"$\",\"span\",null,{\"className\":\"text-sm text-neutral-400\",\"children\":\"Data Engineer\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-2 flex flex-wrap gap-3 text-xs text-neutral-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
1:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-calendar h-3 w-3\",\"children\":[[\"$\",\"path\",\"1cmpym\",{\"d\":\"M8 2v4\"}],[\"$\",\"path\",\"4m81vk\",{\"d\":\"M16 2v4\"}],[\"$\",\"rect\",\"1hopcy\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"4\",\"rx\":\"2\"}],[\"$\",\"path\",\"8toen8\",{\"d\":\"M3 10h18\"}],\"$undefined\"]}],\"2017 - 2019\"]}],[\"$\",\"span\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-map-pin h-3 w-3\",\"children\":[[\"$\",\"path\",\"1r0f0z\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"$\",\"circle\",\"ilqhr7\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}],\"$undefined\"]}],\"Belgium\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-neutral-400\",\"children\":\"Set up CI/CD pipelines for data. Delivered end-to-end business cases. Led Data Science community.\"}]]}]]}]]}]]}]]}]]}]],null],null]},[[\"$\",\"div\",null,{\"className\":\"min-h-screen\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute top-0 -z-50 h-full w-full bg-[radial-gradient(rgba(255,255,255,0.03)_1px,transparent_1px)] [background-size:20px_20px]\"}],[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"about\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6541b3ed37501304.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}]]}],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"scroll-smooth\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"defer\":true,\"src\":\"https://cloud.umami.is/script.js\",\"data-website-id\":\"a5f9597b-4947-4494-b2b5-f10bcf7a9828\"}]}],[\"$\",\"body\",null,{\"className\":\"scroll-smooth __variable_e3d129 __variable_94cbb4\",\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"$Le\",null,{}],[\"$\",\"div\",null,{\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"main\",null,{\"className\":\"content-container m-auto flex min-h-[70vh] flex-col justify-center pb-20 pt-28\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 font-mono text-sm text-cap-coral\",\"children\":\"HTTP 404\"}],[\"$\",\"h1\",null,{\"className\":\"font-handwrite text-5xl text-cap-blue-dark dark:text-cap-ice md:text-7xl\",\"children\":\"Page not found\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-2xl text-lg leading-relaxed text-cap-steel\",\"children\":\"This path does not exist. Continue from one of these human- and agent-friendly indexes:\"}],[\"$\",\"ul\",null,{\"className\":\"mt-6 flex flex-wrap gap-3\",\"children\":[[\"$\",\"li\",\"/\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-flex rounded-full border border-cap-steel/30 px-4 py-2 text-sm text-cap-blue-dark transition-colors hover:border-cap-coral hover:text-cap-coral dark:text-cap-ice\",\"children\":\"Homepage\"}]}],[\"$\",\"li\",\"/sitemap\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/sitemap\",\"className\":\"inline-flex rounded-full border border-cap-steel/30 px-4 py-2 text-sm text-cap-blue-dark transition-colors hover:border-cap-coral hover:text-cap-coral dark:text-cap-ice\",\"children\":\"Site map\"}]}],[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/llms.txt\",\"className\":\"inline-flex rounded-full border border-cap-steel/30 px-4 py-2 text-sm text-cap-blue-dark transition-colors hover:border-cap-coral hover:text-cap-coral dark:text-cap-ice\",\"children\":\"llms.txt\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/sitemap.xml\",\"className\":\"inline-flex rounded-full border border-cap-steel/30 px-4 py-2 text-sm text-cap-blue-dark transition-colors hover:border-cap-coral hover:text-cap-coral dark:text-cap-ice\",\"children\":\"XML sitemap\"}]}],[\"$\",\"li\",\"/blog\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/blog\",\"className\":\"inline-flex rounded-full border border-cap-steel/30 px-4 py-2 text-sm text-cap-blue-dark transition-colors hover:border-cap-coral hover:text-cap-coral dark:text-cap-ice\",\"children\":\"Blog\"}]}]]}]]}],\"notFoundStyles\":[],\"styles\":null}]}],[\"$\",\"footer\",null,{\"className\":\"py-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-container m-auto flex flex-wrap items-center justify-center gap-x-6 gap-y-3\",\"children\":[[\"$\",\"nav\",null,{\"aria-label\":\"Site information\",\"className\":\"flex items-center gap-4 text-sm text-cap-steel/70\",\"children\":[[\"$\",\"$L9\",null,{\"href\":\"/about\",\"className\":\"transition-colors hover:text-cap-ice\",\"children\":\"About\"}],[\"$\",\"$L9\",null,{\"href\":\"/contact\",\"className\":\"transition-colors hover:text-cap-ice\",\"children\":\"Contact\"}],[\"$\",\"$L9\",null,{\"href\":\"/privacy\",\"className\":\"transition-colors hover:text-cap-ice\",\"children\":\"Privacy\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"a\",\"YouTube\",{\"href\":\"https://youtube.com/@mehdio\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"YouTube\",\"className\":\"text-cap-steel/50 transition-colors hover:text-cap-ice\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"1em\",\"height\"
1:\"1em\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"className\":\"h-5 w-5\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M164.44,121.34l-48-32A8,8,0,0,0,104,96v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,145.05V111l25.58,17ZM234.33,69.52a24,24,0,0,0-14.49-16.4C185.56,39.88,131,40,128,40s-57.56-.12-91.84,13.12a24,24,0,0,0-14.49,16.4C19.08,79.5,16,97.74,16,128s3.08,48.5,5.67,58.48a24,24,0,0,0,14.49,16.41C69,215.56,120.4,216,127.34,216h1.32c6.94,0,58.37-.44,91.18-13.11a24,24,0,0,0,14.49-16.41c2.59-10,5.67-28.22,5.67-58.48S236.92,79.5,234.33,69.52Zm-15.49,113a8,8,0,0,1-4.77,5.49c-31.65,12.22-85.48,12-86,12H128c-.54,0-54.33.2-86-12a8,8,0,0,1-4.77-5.49C34.8,173.39,32,156.57,32,128s2.8-45.39,5.16-54.47A8,8,0,0,1,41.93,68c30.52-11.79,81.66-12,85.85-12h.27c.54,0,54.38-.18,86,12a8,8,0,0,1,4.77,5.49C221.2,82.61,224,99.43,224,128S221.2,173.39,218.84,182.47Z\"}]]}]}],[\"$\",\"a\",\"GitHub\",{\"href\":\"https://github.com/mehd-io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"GitHub\",\"className\":\"text-cap-steel/50 transition-colors hover:text-cap-ice\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"className\":\"h-5 w-5\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z\"}]]}]}],[\"$\",\"a\",\"LinkedIn\",{\"href\":\"https://www.linkedin.com/in/mehd-io/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"LinkedIn\",\"className\":\"text-cap-steel/50 transition-colors hover:text-cap-ice\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"className\":\"h-5 w-5\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M216,24H40A16,16,0,0,0,24,40V216a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V40A16,16,0,0,0,216,24Zm0,192H40V40H216V216ZM96,112v64a8,8,0,0,1-16,0V112a8,8,0,0,1,16,0Zm88,28v36a8,8,0,0,1-16,0V140a20,20,0,0,0-40,0v36a8,8,0,0,1-16,0V112a8,8,0,0,1,15.79-1.78A36,36,0,0,1,184,140ZM100,84A12,12,0,1,1,88,72,12,12,0,0,1,100,84Z\"}]]}]}],[\"$\",\"a\",\"X\",{\"href\":\"https://x.com/@mehd_io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"X\",\"className\":\"text-cap-steel/50 transition-colors hover:text-cap-ice\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 256 256\",\"transform\":\"$undefined\",\"className\":\"h-5 w-5\",\"children\":[false,\"$undefined\",[\"$\",\"path\",null,{\"d\":\"M214.75,211.71l-62.6-98.38,61.77-67.95a8,8,0,0,0-11.84-10.76L143.24,99.34,102.75,35.71A8,8,0,0,0,96,32H48a8,8,0,0,0-6.75,12.3l62.6,98.37-61.77,68a8,8,0,1,0,11.84,10.76l58.84-64.72,40.49,63.63A8,8,0,0,0,160,224h48a8,8,0,0,0,6.75-12.29ZM164.39,208,62.57,48h29L193.43,208Z\"}]]}]}]]}]]}]}]]}]}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]]\n"])</script>
1<script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#060606\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#fafafa\"}],[\"$\",\"meta\",\"3\",{\"name\":\"color-scheme\",\"content\":\"dark light\"}],[\"$\",\"meta\",\"4\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"5\",{\"children\":\"About Me ⢠Mehdio's tech corner\"}],[\"$\",\"meta\",\"6\",{\"name\":\"description\",\"content\":\"Mehdi Ouazza (mehdio) â building AI workflows for data and teaching the curious how to do more with data in the AI era.\"}],[\"$\",\"meta\",\"7\",{\"name\":\"application-name\",\"content\":\"Mehdio's tech corner\"}],[\"$\",\"link\",\"8\",{\"rel\":\"author\",\"href\":\"https://github.com/mehd-io\"}],[\"$\",\"meta\",\"9\",{\"name\":\"author\",\"content\":\"Mehdi Ouazza\"}],[\"$\",\"meta\",\"10\",{\"name\":\"keywords\",\"content\":\"about,mehdio,ai,ai workflows,data,data engineer,developer advocate,speaker,educator,duckdb\"}],[\"$\",\"meta\",\"11\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"12\",{\"name\":\"category\",\"content\":\"Personal Website\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:title\",\"content\":\"Mehdio's tech corner\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:description\",\"content\":\"I build AI workflows for data and help the curious â technical or not â do more with data in the AI era. Tutorials, videos, talks, and the occasional duck.\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:url\",\"content\":\"https://mehdio.com\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:site_name\",\"content\":\"Mehdio's tech corner\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image\",\"content\":\"https://mehdio.com/preview.png\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:width\",\"content\":\"2164\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:height\",\"content\":\"1623\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:alt\",\"content\":\"Mehdio's Tech Corner by Mehdi Ouazza\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:email\",\"content\":\"[email protected]\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"Mehdio's tech corner\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"I build AI workflows for data and help the curious â technical or not â do more with data in the AI era. Tutorials, videos, talks, and the occasional duck.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"https://mehdio.com/preview.png\"}],[\"$\",\"link\",\"27\",{\"rel\":\"icon\",\"href\":\"/icon.png?cb19379522164e27\",\"type\":\"image/png\",\"sizes\":\"317x232\"}],[\"$\",\"meta\",\"28\",{\"name\":\"next-size-adjust\"}]]\n"])</script>
1<script>self.__next_f.push([1,"7:null\n"])</script>
1</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.