PageSourceSearch

https://andrevitorio.com/posts

html andrevitorio.com collected 2026-10-02 05:16:55 UTC 26,650 bytes, 2 lines download raw bytes

1<!DOCTYPE html><!--ZSmC9_ILtV_EAOlatKnv_--><html lang="en" class="geist_9e050971-module__05dp7a__className"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/b1d597dfa718b5fb.css?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/61928773be58afdd.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6"/>
1<script src="/_next/static/chunks/3be176fb98664b66.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/3de64e66ff8c9fae.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/3a4ab1eba1b8c40e.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/turbopack-574dcdede5964dfd.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<script src="/_next/static/chunks/70053ffafc1af7b5.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js? 
2      id=G-8K3G81D1XQ" as="script"/><meta name="next-size-adjust" content=""/><title>All posts | Andre Vitorio</title><meta name="description" content="All posts"/><meta property="og:title" content="Andre Vitorio - Design. Develop. Deploy."/><meta property="og:description" content="Design engineer from Maceió, Brazil. I write about web development, software engineering, and more."/><meta property="og:url" content="https://www.andrevitorio.com"/><meta property="og:site_name" content="AndreVitorio.com"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://www.andrevitorio.com/api/og?title=Andre%20Vitorio%20-%20Design.%20Develop.%20Deploy.&amp;siteUrl=www.andrevitorio.com"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Andre Vitorio - Design. Develop. Deploy."/><meta name="twitter:description" content="Design engineer from Maceió, Brazil. I write about web development, software engineering, and more."/><meta name="twitter:image" content="https://www.andrevitorio.com/api/og?title=Andre%20Vitorio%20-%20Design.%20Develop.%20Deploy.&amp;siteUrl=www.andrevitorio.com"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/favicon/favicon-32x32.png"/><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png"/>
2<script src="/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" noModule=""></script>
2</head><body class="relative pb-56 md:pb-36 min-h-screen"><div hidden=""><!--$--><!--/$--></div>
2<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>
2<header class="p-2 fixed bottom-2 border md:bottom-auto md:top-2 left-1/2 -translate-x-1/2 w-[90vw] lg:w-[56rem] z-20 bg-background/50 backdrop-blur-lg rounded-lg"><nav class="w-full layout flex items-center justify-between"><a class="hover:text-slate-900 pl-3 dark:hover:text-blue-200 underline-offset-2 font-semibold" href="/">Andre Vitorio</a><ul class="hidden md:flex items-center justify-between space-x-3 text-xs md:space-x-4 md:text-base"><li><a class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50" href="/about">About Me</a></li><li><a class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50" href="/posts">posts</a></li><li><a class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50" href="/projects">projects</a></li><button class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 bg-background/50"><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-sun h-[1.5rem] w-[1.3rem] dark:hidden"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><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-moon hidden h-5 w-5 dark:block"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span class="sr-only">Toggle theme</span></button></ul><div class="block md:hidden px-2"><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_6qivb_" data-state="closed"><div class="p-2"><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-menu" aria-label="open menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></div></button></div></nav></header><div class="relative max-w-[56rem] mx-auto px-5 lg:px-0 h-full pt-8 md:py-24"><div class="pt-24 mb-16 animate-fade-up opacity-0"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><!--$--><!--/$--></div><div class="absolute bottom-0 w-full py-2 pb-20 md:pb-10 md:py-10"><footer class="max-w-4xl container mx-auto flex flex-col md:flex-row items-start justify-between p6-4 px-6"><div class="flex justify-between w-full items-center"><div class="flex w-full justify-between"><p class="hidden md:block text-sm">Follow me on<!-- --> <a class="underline underline-offset-2 hover:text-gray-600 dark:hover:text-white" target="_blank" rel="noopener noreferrer" href="https://x.com/andrevitorio">X</a>,<!-- --> <a class="underline underline-offset-2 hover:text-gray-600 dark:hover:text-white" target="_blank" rel="noopener noreferrer" href="https://github.com/avitorio">Github</a> <!-- -->or<!-- --> <a class="underline underline-offset-2 hover:text-gray-600 dark:hover:text-white" target="_blank" rel="noopener noreferrer" href="https://linkedin.com/in/andrevitorio">LinkedIn</a>.</p><p class="text-sm">Site built with<!-- --> <a class="underline underline-offset-2 hover:text-gray-600 dark:hover:text-white" target="_blank" rel="noopener noreferrer" href="https://outstatic.
2com">Outstatic</a> <!-- -->and<!-- --> <a class="underline underline-offset-2 hover:text-gray-600 dark:hover:text-white" target="_blank" rel="noopener noreferrer" href="https://nextjs.org">Next.js</a>.</p></div></div></footer></div>
2<script src="/_next/static/chunks/61928773be58afdd.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6" id="_R_" async=""></script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[956778,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"default\"]\n3:I[790342,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"default\"]\n4:I[634183,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"\"]\n5:I[427423,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"ThemeProvider\"]\n7:I[38577,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"\"]\ne:I[308617,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"default\"]\n:HL[\"/_next/static/chunks/b1d597dfa718b5fb.css?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"style\"]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
2<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ZSmC9-ILtV-EAOlatKnv-\",\"c\":[\"\",\"posts\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(web)\",{\"children\":[[\"slug\",\"posts\",\"c\"],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/b1d597dfa718b5fb.css?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"geist_9e050971-module__05dp7a__className\",\"children\":[\"$\",\"body\",null,{\"className\":\"relative pb-56 md:pb-36 min-h-screen\",\"children\":[[[\"$\",\"$L4\",null,{\"async\":true,\"src\":\"https://www.googletagmanager.com/gtag/js? \\n      id=G-8K3G81D1XQ\"}],[\"$\",\"$L4\",null,{\"id\":\"google-analytics\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n          window.dataLayer = window.dataLayer || [];\\n          function gtag(){dataLayer.push(arguments);}\\n          gtag('js', new Date());\\n\\n          gtag('config', 'G-8K3G81D1XQ');\\n        \"}}]],[\"$\",\"$L5\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$L6\",[\"$\",\"div\",null,{\"className\":\"relative max-w-[56rem] mx-auto px-5 lg:px-0 h-full pt-8 md:py-24\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"py-24 animate-fade-up opacity-0\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 text-sm font-medium text-muted-foreground\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mb-4 text-4xl font-semibold tracking-tight\",\"children\":\"Page not found\"}],[\"$\",\"p\",null,{\"className\":\"mb-8 max-w-xl text-muted-foreground\",\"children\":\"The page you are looking for does not exist or may have moved.\"}],[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-4\",\"href\":\"/\",\"children\":\"Return home\"}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"div\",null,{\"className\":\"absolute bottom-0 w-full py-2 pb-20 md:pb-10 md:py-10\",\"children\":[\"$\",\"footer\",null,{\"className\":\"max-w-4xl container mx-auto flex flex-col md:flex-row items-start justify-between p6-4 px-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex justify-between w-full items-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex w-full justify-between\",\"children\":[[\"$\",\"p\",null,{\"className\":\"hidden md:block text-sm\",\"children\":[\"Follow me on\",\" \",[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-2 hover:text-gray-600 dark:hover:text-white\",\"href\":\"https://x.com/andrevitorio\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"X\"}],\",\",\" \",\"$L8\",\" \",\"or\",\" \",\"$L9\",\".\"]}],\"$La\"]}]}]}]}]]}]]}]}]]}],{\"children\":[\"$Lb\",{\"children\":[\"$Lc\",{}
2,null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true}\n"])</script>
2<script>self.__next_f.push([1,"10:I[222257,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"OutletBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[222257,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"ViewportBoundary\"]\n15:I[222257,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"MetadataBoundary\"]\n8:[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-2 hover:text-gray-600 dark:hover:text-white\",\"href\":\"https://github.com/avitorio\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Github\"}]\n9:[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-2 hover:text-gray-600 dark:hover:text-white\",\"href\":\"https://linkedin.com/in/andrevitorio\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"LinkedIn\"}]\na:[\"$\",\"p\",null,{\"className\":\"text-sm\",\"children\":[\"Site built with\",\" \",[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-2 hover:text-gray-600 dark:hover:text-white\",\"href\":\"https://outstatic.com\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Outstatic\"}],\" \",\"and\",\" \",[\"$\",\"$L7\",null,{\"className\":\"underline underline-offset-2 hover:text-gray-600 dark:hover:text-white\",\"href\":\"https://nextjs.org\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Next.js\"}],\".\"]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[\"$Lf\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/70053ffafc1af7b5.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@12\"}]}]]}]\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L16\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
2<script>self.__next_f.push([1,"14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
2<script>self.__next_f.push([1,"17:I[894013,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"ThemeToggle\"]\n18:I[779569,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"MobileMenu\"]\n19:I[591593,[\"/_next/static/chunks/66e2c834731659fc.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/795155212724f989.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/c9a2006657baf801.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/70053ffafc1af7b5.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"default\"]\n1a:I[833911,[\"/_next/static/chunks/dadf8110626b0e3c.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\",\"/_next/static/chunks/f34377ceeb7ceee1.js?dpl=dpl_E8RBe964ozixRKLVgS3n5faF2Ze6\"],\"IconMark\"]\n"])</script>
2<script>self.__next_f.push([1,"6:[\"$\",\"header\",null,{\"className\":\"p-2 fixed bottom-2 border md:bottom-auto md:top-2 left-1/2 -translate-x-1/2 w-[90vw] lg:w-[56rem] z-20 bg-background/50 backdrop-blur-lg rounded-lg\",\"children\":[\"$\",\"nav\",null,{\"className\":\"w-full layout flex items-center justify-between\",\"children\":[[\"$\",\"$L7\",null,{\"href\":\"/\",\"className\":\"hover:text-slate-900 pl-3 dark:hover:text-blue-200 underline-offset-2 font-semibold\",\"children\":\"Andre Vitorio\"}],[\"$\",\"ul\",null,{\"className\":\"hidden md:flex items-center justify-between space-x-3 text-xs md:space-x-4 md:text-base\",\"children\":[[[\"$\",\"li\",\"about\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/about\",\"className\":\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50\",\"children\":\"About Me\"}]}]],[[\"$\",\"li\",\"posts\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/posts\",\"className\":\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50\",\"children\":\"posts\"}]}],[\"$\",\"li\",\"projects\",{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/projects\",\"className\":\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 capitalize bg-background/50\",\"children\":\"projects\"}]}]],[\"$\",\"$L17\",null,{}]]}],[\"$\",\"$L18\",null,{\"pages\":[{\"title\":\"About Me\",\"slug\":\"about\"}],\"collections\":[\"posts\",\"projects\"]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"f:[\"$\",\"div\",null,{\"className\":\"pt-24 mb-16 animate-fade-up opacity-0\",\"children\":[\"$\",\"$L19\",null,{\"title\":\"All posts\",\"items\":[{\"title\":\"Fix: Prevent Videos from Auto-Expanding to Fullscreen in iOS Safari\",\"slug\":\"fix-prevent-videos-from-auto-expanding-to-fullscreen-in-ios-safari\",\"coverImage\":\"\",\"description\":\"Have you ever noticed videos on your website suddenly going fullscreen when users scroll on iOS?\",\"tags\":[]},{\"title\":\"Cross-platform transparent background videos for the web\",\"slug\":\"cross-platform-transparent-background-videos-for-the-web\",\"coverImage\":\"\",\"description\":\"Step-by-step guide for creating compatible webm and HEVC video formats for web use.\",\"tags\":[{\"label\":\"Webdev\",\"value\":\"webdev\"}]},{\"title\":\"Add a free CMS to your Next.js website with Outstatic\",\"slug\":\"add-a-free-cms-to-your-nextjs-website-with-outstatic\",\"coverImage\":\"/images/outstatic-landing-M3MT.png\",\"description\":\"Learn how to seamlessly integrate Outstatic into your Next.js website.\",\"tags\":[{\"label\":\"Outstatic\",\"value\":\"outstatic\"},{\"label\":\"NextJs\",\"value\":\"nextJs\"}]},{\"title\":\"Far Out - The Next Steps for Outstatic \",\"slug\":\"the-next-steps-for-outstatic\",\"coverImage\":\"/images/1500x500-Q3ND.webp\",\"description\":\"The plan was simple: start a blog and write about my journey as a developer. But that's exactly the problem, I'm a developer. \",\"tags\":[{\"label\":\"Outstatic\",\"value\":\"outstatic\"},{\"label\":\"NextJs\",\"value\":\"nextJs\"},{\"label\":\"GitHub\",\"value\":\"gitHub\"}]}],\"collection\":\"posts\"}]}]\n"])</script>
2<script>self.__next_f.push([1,"12:null\n"])</script>
2<script>self.__next_f.push([1,"16:[[\"$\",\"title\",\"0\",{\"children\":\"All posts | Andre Vitorio\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"All posts\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Andre Vitorio - Design. Develop. Deploy.\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Design engineer from Maceió, Brazil. I write about web development, software engineering, and more.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:url\",\"content\":\"https://www.andrevitorio.com\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:site_name\",\"content\":\"AndreVitorio.com\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://www.andrevitorio.com/api/og?title=Andre%20Vitorio%20-%20Design.%20Develop.%20Deploy.\u0026siteUrl=www.andrevitorio.com\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Andre Vitorio - Design. Develop. Deploy.\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"Design engineer from Maceió, Brazil. I write about web development, software engineering, and more.\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://www.andrevitorio.com/api/og?title=Andre%20Vitorio%20-%20Design.%20Develop.%20Deploy.\u0026siteUrl=www.andrevitorio.com\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon/favicon-32x32.png\"}],[\"$\",\"link\",\"18\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon/apple-touch-icon.png\"}],[\"$\",\"$L1a\",\"19\",{}]]\n"])</script>
2</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.