1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0d4277ce62acaedf-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/24f44be2cf98e6f7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/26d4368bf94c0ec4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/4e2312c98e240c05-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/5fcb63deed33aab6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/672d4d9b9d8d459a-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bfdf244a9384e8b2-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ed2c53d8a7b2376c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/fe1077aea16f7f4c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/35990bacc8f79405.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/758de94b0eb5cf54.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7b736e6cf6235fa6.js"/>
1<script src="/_next/static/chunks/fd9d1056-b7d2ccc9acf1b254.js" async=""></script>
1<script src="/_next/static/chunks/2117-876636fd7e44efcc.js" async=""></script>
1<script src="/_next/static/chunks/main-app-be3d940aef6bd3eb.js" async=""></script>
1<script src="/_next/static/chunks/b5c10047-fa097bbfd70d1f27.js" async=""></script>
1<script src="/_next/static/chunks/93854f56-3adb2ea3f6c7f3a2.js" async=""></script>
1<script src="/_next/static/chunks/2972-09d07a83e49c7939.js" async=""></script>
1<script src="/_next/static/chunks/5878-d658bab7fc5971c4.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-b169dabab6ec46fa.js" async=""></script>
1<script src="/_next/static/chunks/7757-b16ab5d55d2d9707.js" async=""></script>
1<script src="/_next/static/chunks/1403-a2858afc65aeba66.js" async=""></script>
1<script src="/_next/static/chunks/6710-ebd122d17f54f96b.js" async=""></script>
1<script src="/_next/static/chunks/app/projects/page-8ca36d72e7b30cdd.js" async=""></script>
1<link rel="preload" href="https://cloud.umami.is/script.js" as="script"/><title>Projects | Charunthon Limseelo</title><meta name="description" content="Explore projects built by Charunthon Limseelo"/><meta name="google-site-verification" content="IzcWMgn5Qjf-LCtA337KTGjivsf9bmod_1pZ-jxYQh8"/><link rel="canonical" href="https://boatchrnthn.vercel.app"/><meta property="og:title" content="Projects | Charunthon Limseelo"/><meta property="og:description" content="Explore projects built by Charunthon Limseelo"/><meta property="og:url" content="https://boatchrnthn.vercel.app/projects"/><meta property="og:image" content="https://boatchrnthn.vercel.app/projects/OpenGraph.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Projects | Charunthon Limseelo"/><meta name="twitter:description" content="Explore projects built by Charunthon Limseelo"/><meta name="twitter:image" content="https://boatchrnthn.vercel.app/projects/OpenGraph.png"/><link rel="icon" href="/icon?11698b0b37c5039c" type="image/png" sizes="32x32"/><meta name="next-size-adjust"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="__variable_4ed9d7 __variable_9fb2c8 __className_4ed9d7 dark:bg-zinc-900 bg-white dark:text-white text-zinc-700">
1<script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script>
1<header class="text-sm py-6 md:px-16 px-6 border-b dark:border-zinc-800 border-zinc-200 z-30 md:mb-28 mb-10"><div class="max-w-6xl mx-auto flex items-center justify-between"><a class="font-incognito font-bold text-2xl dark:text-white text-zinc-900 hover:text-primary-color transition-colors" href="/">CL</a><nav class="md:block hidden"><ul class="flex items-center gap-x-8"><li><a class="font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base" href="/about">About</a></li><li><a class="font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base" href="/projects">Projects</a></li><li><a class="font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base" href="/talks">Talks</a></li></ul></nav><div class="flex items-center gap-x-4"><span class="animate-pulse min-w-[28px] min-h-[28px] p-2 rounded-full dark:bg-zinc-800 bg-zinc-200 border dark:border-zinc-700 border-zinc-300"></span><button aria-label="Toggle Menu" class="md:hidden dark:bg-primary-bg bg-secondary-bg border dark:border-zinc-800 border-zinc-200 rounded-md p-2"><svg stroke="currentColor" fill="none" stroke-width="0" viewBox="0 0 15 15" class="text-xl" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 3C1.22386 3 1 3.22386 1 3.5C1 3.77614 1.22386 4 1.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H1.5ZM1 7.5C1 7.22386 1.22386 7 1.5 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H1.5C1.22386 8 1 7.77614 1 7.5ZM1 11.5C1 11.2239 1.22386 11 1.5 11H13.5C13.7761 11 14 11.2239 14 11.5C14 11.7761 13.7761 12 13.5 12H1.5C1.22386 12 1 11.7761 1 11.5Z" fill="currentColor"></path></svg></button><div class="md:hidden fixed left-0 top-0 z-10 h-full w-full transform duration-[600ms] ease-[cubic-bezier(0.7,0,0,1)] dark:bg-zinc-900 bg-white translate-x-full"><div class="flex items-center justify-between mt-6 px-8"><a href="/"><div class="font-bold text-lg text-slate-800 dark:text-white">CL</div></a><button aria-label="Toggle Menu" class="md:hidden dark:bg-primary-bg bg-secondary-bg border dark:border-zinc-800 border-zinc-200 rounded-full p-2 duration-500 -rotate-[360deg]"><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true" class="text-xl" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg></button></div><nav class="flex flex-col mt-6"><a class="flex items-center gap-x-2 font-incognito font-semibold text-lg dark:shadow-line-dark shadow-line-light p-6 group" href="/about"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 20 20" aria-hidden="true" class="text-zinc-500 group-hover:dark:text-white group-hover:text-zinc-800 duration-300" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"></path></svg>About</a><a class="flex items-center gap-x-2 font-incognito font-semibold text-lg dark:shadow-line-dark shadow-line-light p-6 group" href="/projects"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 20 20" aria-hidden="true" class="text-zinc-500 group-hover:dark:text-white group-hover:text-zinc-800 duration-300" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M7 2a1 1 0 00-.707 1.707L7 4.414v3.758a1 1 0 01-.293.707l-4 4C.817 14.769 2.156 18 4.828 18h10.343c2.673 0 4.012-3.231 2.122-5.121l-4-4A1 1 0 0113 8.172V4.414l.707-.707A1 1 0 0013 2H7zm2 6.172V4h2v4.172a3 3 0 00.879 2.12l1.027 1.028a4 4 0 00-2.171.102l-.47.156a4 4 0 01-2.53 0l-.563-.187a1.993 1.993 0 00-.114-.035l1.063-1.063A3 3 0 009 8.172z" clip-rule="evenodd"></path></svg>Projects</a><a class="flex items-center gap-x-2 font-incognito font-semibold text-lg dark:shadow-line-dark shadow-line-light p-6 group" href="/talks"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 20 20" aria-hidden="true" class="text-zinc-500 group-hover:dark:text-white group-hover:text-zinc-800 duration-300" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M18 3a1 1 0 00-1.447-.894L8.763 6H5a3 3 0 000 6h.28l1.771 5.316A1 1 0 008 18h1a1 1 0 001-1v-4.382l6.553 3.276A1 1 0 0018 15V3z" clip-rule="evenodd"></path></svg>Talks</a></nav></div></div></div></header><main class="max-w-7xl mx-auto md:px-16 px-6"><header class="mb-10"><div style="opacity:0;transform:translateY(10px) translateZ(0)"><div><h1 class="max-w-3xl font-incognito font-semibold tracking-tight sm:text-5xl text-3xl mb-6 lg:leading-[3.7rem]">Projects</h1><p class="max-w-2xl text-base dark:text-zinc-400 text-zinc-600 leading-relaxed">I've worked on tons of little projects over the years but these are the ones that I'm most proud of. Many of them are open-source, so if you see something that piques your interest, check out the code and contribute if you have ideas on how it can be improved.</p></div></div></header><div style="opacity:0;transform:translateY(10px) translateZ(0)"><div>
1<section class="grid xl:grid-cols-3 md:grid-cols-2 grid-cols-1 gap-5 mb-12"><a class="flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg" href="/projects/mnist-numerical-handwriting-ocr-using-tensorflow-keras"><div class="dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl">ðª´</div><div><h2 class="text-lg tracking-wide mb-1">MNIST Numerical Handwriting OCR using TensorFlow Keras</h2><div class="text-sm dark:text-zinc-400 text-zinc-600">mnist-colab</div></div></a><a class="flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg" href="/projects/electric-charge-visualization-on-jupyter-notebook"><div class="dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl">ðª´</div><div><h2 class="text-lg tracking-wide mb-1">Electric Charge Visualization on Jupyter Notebook</h2><div class="text-sm dark:text-zinc-400 text-zinc-600">Jupyter-Electric</div></div></a><a class="flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg" href="/projects/snowflake-cortex-agent-rag-slack-chat"><div class="dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl">ðª´</div><div><h2 class="text-lg tracking-wide mb-1">Snowflake Cortex Agent RAG Slack Chat</h2><div class="text-sm dark:text-zinc-400 text-zinc-600">Snowflake-Cortex-Agent-RAG-Slack-Chat</div></div></a><a class="flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg" href="/projects/time-series-prediction-for-weather-forecasting"><div class="dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl">ðª´</div><div><h2 class="text-lg tracking-wide mb-1">Time Series Prediction for Weather Forecasting</h2><div class="text-sm dark:text-zinc-400 text-zinc-600">sarima-prediction</div></div></a></section></div></div></main><footer class="border-t dark:border-zinc-800 border-zinc-100 mt-44 lg:min-h-[250px] min-h-full relative"><div class="max-w-7xl mx-auto flex lg:flex-row flex-col items-center lg:justify-between justify-center gap-y-4 md:px-16 px-6 py-16"><div class="flex md:flex-row flex-col items-center gap-x-2"><h3 class="font-inter">Built with:</h3><ul class="flex items-center gap-x-2 text-sm dark:text-zinc-600 text-zinc-400 md:mt-0 mt-3"><li><a href="https://sanity.io" rel="noreferrer noopener" target="_blank" class="flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline"><img alt="sanity logo" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsanity.27f57b08.png&w=32&q=75 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsanity.27f57b08.png&w=48&q=75 2x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsanity.27f57b08.png&w=48&q=75"/> <!-- -->Sanity</a></li><li><a href="https://nextjs.org" rel="noreferrer noopener" target="_blank" class="flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline"><img alt="nextjs logo" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/nextjs.4942ae50.svg"/> <!-- -->Next.js</a></li><li><a href="https://vercel.com" rel="noreferrer noopener" target="_blank" class="flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline"><img alt="vercel logo" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/vercel.92f79275.svg"/> <!-- -->Vercel</a></li></ul></div><div class="flex flex-col lg:items-end items-center lg:text-start text-center"><small class="text-zinc-500">Copyright © Charunthon Limseelo <!-- -->2026<!-- -->. Template by <a href="https://victoreke.com" class="hover:underline">Victor Eke</a>. All rights Reserved</small></div></div></footer>
1<script src="/_next/static/chunks/webpack-7b736e6cf6235fa6.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/0d4277ce62acaedf-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/24f44be2cf98e6f7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/26d4368bf94c0ec4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/4e2312c98e240c05-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/5fcb63deed33aab6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/media/672d4d9b9d8d459a-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n7:HL[\"/_next/static/media/bfdf244a9384e8b2-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n8:HL[\"/_next/static/media/ed2c53d8a7b2376c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n9:HL[\"/_next/static/media/fe1077aea16f7f4c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\na:HL[\"/_next/static/css/35990bacc8f79405.css\",\"style\"]\nb:HL[\"/_next/static/css/758de94b0eb5cf54.css\",\"style\"]\n"])</script>
1<script>self.__next_f.push([1,"c:I[12846,[],\"\"]\nf:I[4707,[],\"\"]\n10:I[36423,[],\"\"]\n11:I[49294,[\"1787\",\"static/chunks/b5c10047-fa097bbfd70d1f27.js\",\"9982\",\"static/chunks/93854f56-3adb2ea3f6c7f3a2.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"3185\",\"static/chunks/app/layout-b169dabab6ec46fa.js\"],\"Providers\"]\n12:I[4858,[\"1787\",\"static/chunks/b5c10047-fa097bbfd70d1f27.js\",\"9982\",\"static/chunks/93854f56-3adb2ea3f6c7f3a2.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"3185\",\"static/chunks/app/layout-b169dabab6ec46fa.js\"],\"default\"]\n13:I[72972,[\"7757\",\"static/chunks/7757-b16ab5d55d2d9707.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"1403\",\"static/chunks/1403-a2858afc65aeba66.js\",\"6710\",\"static/chunks/6710-ebd122d17f54f96b.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"2895\",\"static/chunks/app/projects/page-8ca36d72e7b30cdd.js\"],\"\"]\n14:I[93286,[\"1787\",\"static/chunks/b5c10047-fa097bbfd70d1f27.js\",\"9982\",\"static/chunks/93854f56-3adb2ea3f6c7f3a2.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"3185\",\"static/chunks/app/layout-b169dabab6ec46fa.js\"],\"default\"]\n15:I[57286,[\"1787\",\"static/chunks/b5c10047-fa097bbfd70d1f27.js\",\"9982\",\"static/chunks/93854f56-3adb2ea3f6c7f3a2.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"3185\",\"static/chunks/app/layout-b169dabab6ec46fa.js\"],\"default\"]\n16:I[65878,[\"7757\",\"static/chunks/7757-b16ab5d55d2d9707.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"1403\",\"static/chunks/1403-a2858afc65aeba66.js\",\"6710\",\"static/chunks/6710-ebd122d17f54f96b.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"2895\",\"static/chunks/app/projects/page-8ca36d72e7b30cdd.js\"],\"Image\"]\n17:I[88003,[\"1787\",\"static/chunks/b5c10047-fa097bbfd70d1f27.js\",\"9982\",\"static/chunks/93854f56-3adb2ea3f6c7f3a2.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"3185\",\"static/chunks/app/layou"])</script>
1<script>self.__next_f.push([1,"t-b169dabab6ec46fa.js\"],\"\"]\n19:I[61060,[],\"\"]\n1a:[]\n"])</script>
1<script>self.__next_f.push([1,"0:[\"$\",\"$Lc\",null,{\"buildId\":\"er0kJhIxKj9Pb8fufJ3fI\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"projects\"],\"initialTree\":[\"\",{\"children\":[\"projects\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"projects\",{\"children\":[\"__PAGE__\",{},[[\"$Ld\",\"$Le\",null],null],null]},[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"projects\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/35990bacc8f79405.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/758de94b0eb5cf54.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"body\",null,{\"className\":\"__variable_4ed9d7 __variable_9fb2c8 __className_4ed9d7 dark:bg-zinc-900 bg-white dark:text-white text-zinc-700\",\"children\":[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{\"children\":[\"$\",\"header\",null,{\"className\":\"text-sm py-6 md:px-16 px-6 border-b dark:border-zinc-800 border-zinc-200 z-30 md:mb-28 mb-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-6xl mx-auto flex items-center justify-between\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/\",\"className\":\"font-incognito font-bold text-2xl dark:text-white text-zinc-900 hover:text-primary-color transition-colors\",\"children\":\"CL\"}],[\"$\",\"nav\",null,{\"className\":\"md:block hidden\",\"children\":[\"$\",\"ul\",null,{\"className\":\"flex items-center gap-x-8\",\"children\":[[\"$\",\"li\",\"0\",{\"children\":[\"$\",\"$L13\",null,{\"href\":\"/about\",\"className\":\"font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base\",\"children\":\"About\"}]}],[\"$\",\"li\",\"1\",{\"children\":[\"$\",\"$L13\",null,{\"href\":\"/projects\",\"className\":\"font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base\",\"children\":\"Projects\"}]}],[\"$\",\"li\",\"2\",{\"children\":[\"$\",\"$L13\",null,{\"href\":\"/talks\",\"className\":\"font-incognito dark:text-white text-zinc-600 dark:hover:text-primary-color hover:text-zinc-900 duration-300 text-base\",\"children\":\"Talks\"}]}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-x-4\",\"children\":[[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}]]}]]}]}]}],[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"main\",null,{\"className\":\"min-h-[60vh] max-w-7xl mx-auto md:px-16 px-6\",\"children\":[[\"$\",\"header\",null,{\"className\":\"max-w-4xl\",\"children\":[[\"$\",\"$L16\",null,{\"width\":80,\"height\":80,\"src\":{\"src\":\"/_next/static/media/searching-duck.75ae50c6.gif\",\"height\":90,\"width\":90,\"blurWidth\":0,\"blurHeight\":0},\"alt\":\"Yellow duck searching\"}],[\"$\",\"h1\",null,{\"className\":\"font-incognito font-black tracking-tight sm:text-6xl text-3xl lg:leading-[3.7rem] leading-tight mt-6 mb-3\",\"children\":\"Error 404!\"}],[\"$\",\"p\",null,{\"className\":\"max-w-2xl text-base dark:text-zinc-400 text-zinc-600 leading-relaxed\",\"children\":\"Oopsies! This page does not exist on victoreke.com. While you're here, you can read some featured post below.\"}]]}],[\"$\",\"div\",null,{\"className\":\"max-w-4xl grid lg:grid-cols-2 grid-cols-1 gap-4 mt-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-zinc-50 dark:bg-zinc-900/50 border border-zinc-200 dark:border-zinc-800 rounded-lg p-8 text-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-4xl mb-4\",\"children\":\"ð\"}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-semibold mb-2\",\"children\":\"Check out my projects\"}],[\"$\",\"p\",null,{\"className\":\"dark:text-zinc-400 text-zinc-600 mb-4\",\"children\":\"Explore my latest projects and experiments.\"}]]}],[\"$\",\"div\",null,{\"className\":\"bg-zinc-50 dark:bg-zinc-900/50 border border-zinc-200 dark:border-zinc-800 rounded-lg p-8 text-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-4xl mb-4\",\"children\":\"ð¤\"}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-semibold mb-2\",\"children\":\"Latest Talks \u0026 Publications\"}],[\"$\",\"p\",null,{\"className\":\"dark:text-zinc-400 text-zinc-600 mb-4\",\"children\":\"See my recent speaking engagements and research publications.\"}]]}]]}]]}],\"notFoundStyles\":[]}],[\"$\",\"$L12\",null,{\"children\":[\"$\",\"footer\",null,{\"className\":\"border-t dark:border-zinc-800 border-zinc-100 mt-44 lg:min-h-[250px] min-h-full relative\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto flex lg:flex-row flex-col items-center lg:justify-between justify-center gap-y-4 md:px-16 px-6 py-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex md:flex-row flex-col items-center gap-x-2\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-inter\",\"children\":\"Built with:\"}],[\"$\",\"ul\",null,{\"className\":\"flex items-center gap-x-2 text-sm dark:text-zinc-600 text-zinc-400 md:mt-0 mt-3\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://sanity.io\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"className\":\"flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline\",\"children\":[[\"$\",\"$L16\",null,{\"src\":{\"src\":\"/_next/static/media/sanity.27f57b08.png\",\"height\"
1:258,\"width\":258,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAHlBMVEXwPS7wNib1fXPxSDr5s632iH7yVUfzal780s73mZGL8NgvAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAMElEQVR4nC2LQRIAIAgCATHt/x9usrjALAAAJEYhxbhLOaH9CNZuz0olP5K/Iu//ABAeAHWW1mPNAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":8},\"width\":20,\"height\":20,\"alt\":\"sanity logo\"}],\" \",\"Sanity\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://nextjs.org\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"className\":\"flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline\",\"children\":[[\"$\",\"$L16\",null,{\"src\":{\"src\":\"/_next/static/media/nextjs.4942ae50.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0},\"width\":20,\"height\":20,\"alt\":\"nextjs logo\"}],\" \",\"Next.js\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://vercel.com\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"className\":\"flex items-center gap-x-2 dark:text-white text-zinc-600 hover:underline\",\"children\":[[\"$\",\"$L16\",null,{\"src\":{\"src\":\"/_next/static/media/vercel.92f79275.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0},\"width\":20,\"height\":20,\"alt\":\"vercel logo\"}],\" \",\"Vercel\"]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:items-end items-center lg:text-start text-center\",\"children\":[\"$\",\"small\",null,{\"className\":\"text-zinc-500\",\"children\":[\"Copyright © Charunthon Limseelo \",2026,\". Template by \",[\"$\",\"a\",null,{\"href\":\"https://victoreke.com\",\"className\":\"hover:underline\",\"children\":\"Victor Eke\"}],\". All rights Reserved\"]}]}]]}]}]}]]}]}],[\"$\",\"$L17\",null,{\"defer\":true,\"src\":\"https://cloud.umami.is/script.js\",\"data-website-id\":\"$undefined\"}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L18\"],\"globalErrorComponent\":\"$19\",\"missingSlots\":\"$W1a\"}]\n"])</script>
1<script>self.__next_f.push([1,"18:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Projects | Charunthon Limseelo\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Explore projects built by Charunthon Limseelo\"}],[\"$\",\"meta\",\"4\",{\"name\":\"google-site-verification\",\"content\":\"IzcWMgn5Qjf-LCtA337KTGjivsf9bmod_1pZ-jxYQh8\"}],[\"$\",\"link\",\"5\",{\"rel\":\"canonical\",\"href\":\"https://boatchrnthn.vercel.app\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"Projects | Charunthon Limseelo\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"Explore projects built by Charunthon Limseelo\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:url\",\"content\":\"https://boatchrnthn.vercel.app/projects\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://boatchrnthn.vercel.app/projects/OpenGraph.png\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:title\",\"content\":\"Projects | Charunthon Limseelo\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:description\",\"content\":\"Explore projects built by Charunthon Limseelo\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:image\",\"content\":\"https://boatchrnthn.vercel.app/projects/OpenGraph.png\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"/icon?11698b0b37c5039c\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"meta\",\"15\",{\"name\":\"next-size-adjust\"}]]\nd:null\n"])</script>
1<script>self.__next_f.push([1,"1b:I[51654,[\"7757\",\"static/chunks/7757-b16ab5d55d2d9707.js\",\"2972\",\"static/chunks/2972-09d07a83e49c7939.js\",\"1403\",\"static/chunks/1403-a2858afc65aeba66.js\",\"6710\",\"static/chunks/6710-ebd122d17f54f96b.js\",\"5878\",\"static/chunks/5878-d658bab7fc5971c4.js\",\"2895\",\"static/chunks/app/projects/page-8ca36d72e7b30cdd.js\"],\"Slide\"]\n"])</script>
1<script>self.__next_f.push([1,"e:[\"$\",\"main\",null,{\"className\":\"max-w-7xl mx-auto md:px-16 px-6\",\"children\":[[\"$\",\"header\",null,{\"className\":\"mb-10\",\"children\":[\"$\",\"$L1b\",null,{\"children\":[[\"$\",\"h1\",null,{\"className\":\"max-w-3xl font-incognito font-semibold tracking-tight sm:text-5xl text-3xl mb-6 lg:leading-[3.7rem]\",\"children\":\"Projects\"}],[\"$\",\"p\",null,{\"className\":\"max-w-2xl text-base dark:text-zinc-400 text-zinc-600 leading-relaxed\",\"children\":\"I've worked on tons of little projects over the years but these are the ones that I'm most proud of. Many of them are open-source, so if you see something that piques your interest, check out the code and contribute if you have ideas on how it can be improved.\"}],\"$undefined\"]}]}],[\"$\",\"$L1b\",null,{\"delay\":0.1,\"children\":[\"$\",\"section\",null,{\"className\":\"grid xl:grid-cols-3 md:grid-cols-2 grid-cols-1 gap-5 mb-12\",\"children\":[[\"$\",\"$L13\",\"93bf8f69-6e38-44f6-8c79-cf5894002116\",{\"href\":\"/projects/mnist-numerical-handwriting-ocr-using-tensorflow-keras\",\"className\":\"flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl\",\"children\":\"ðª´\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg tracking-wide mb-1\",\"children\":\"MNIST Numerical Handwriting OCR using TensorFlow Keras\"}],[\"$\",\"div\",null,{\"className\":\"text-sm dark:text-zinc-400 text-zinc-600\",\"children\":\"mnist-colab\"}]]}]]}],[\"$\",\"$L13\",\"86be055a-3155-4137-b3b5-1f734d6b2bb2\",{\"href\":\"/projects/electric-charge-visualization-on-jupyter-notebook\",\"className\":\"flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl\",\"children\":\"ðª´\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg tracking-wide mb-1\",\"children\":\"Electric Charge Visualization on Jupyter Notebook\"}],[\"$\",\"div\",null,{\"className\":\"text-sm dark:text-zinc-400 text-zinc-600\",\"children\":\"Jupyter-Electric\"}]]}]]}],[\"$\",\"$L13\",\"d5a4ece5-f1b9-49ac-a8af-7daebe4a130c\",{\"href\":\"/projects/snowflake-cortex-agent-rag-slack-chat\",\"className\":\"flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl\",\"children\":\"ðª´\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg tracking-wide mb-1\",\"children\":\"Snowflake Cortex Agent RAG Slack Chat\"}],[\"$\",\"div\",null,{\"className\":\"text-sm dark:text-zinc-400 text-zinc-600\",\"children\":\"Snowflake-Cortex-Agent-RAG-Slack-Chat\"}]]}]]}],[\"$\",\"$L13\",\"1ec0cd75-984c-4838-9399-2a6b0ae7ddc7\",{\"href\":\"/projects/time-series-prediction-for-weather-forecasting\",\"className\":\"flex items-center gap-x-4 dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-4 rounded-lg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dark:bg-primary-bg bg-zinc-50 border border-transparent dark:hover:border-zinc-700 hover:border-zinc-200 p-2 rounded-lg text-3xl\",\"children\":\"ðª´\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg tracking-wide mb-1\",\"children\":\"Time Series Prediction for Weather Forecasting\"}],[\"$\",\"div\",null,{\"className\":\"text-sm dark:text-zinc-400 text-zinc-600\",\"children\":\"sarima-prediction\"}]]}]]}]]}]}]]}]\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.