PageSourceSearch

https://subhan-dev-portfolio.vercel.app/

html subhan-dev-portfolio.vercel.app collected 2026-10-03 07:48:45 UTC 196,667 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/gyByhwUxId8gMEwcGFWNOITd-s.p.d06edde1.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/or3nQ6H_1_WfwkMZI_qYFrcdmhHkjko-s.p.9593fb78.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fsubhannadeem.png&amp;w=16&amp;q=100 16w, /_next/image?url=%2Fsubhannadeem.png&amp;w=32&amp;q=100 32w, /_next/image?url=%2Fsubhannadeem.png&amp;w=48&amp;q=100 48w, /_next/image?url=%2Fsubhannadeem.png&amp;w=64&amp;q=100 64w, /_next/image?url=%2Fsubhannadeem.png&amp;w=96&amp;q=100 96w, /_next/image?url=%2Fsubhannadeem.png&amp;w=128&amp;q=100 128w, /_next/image?url=%2Fsubhannadeem.png&amp;w=256&amp;q=100 256w, /_next/image?url=%2Fsubhannadeem.png&amp;w=384&amp;q=100 384w, /_next/image?url=%2Fsubhannadeem.png&amp;w=640&amp;q=100 640w, /_next/image?url=%2Fsubhannadeem.png&amp;w=750&amp;q=100 750w, /_next/image?url=%2Fsubhannadeem.png&amp;w=828&amp;q=100 828w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1080&amp;q=100 1080w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1200&amp;q=100 1200w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1920&amp;q=100 1920w, /_next/image?url=%2Fsubhannadeem.png&amp;w=2048&amp;q=100 2048w, /_next/image?url=%2Fsubhannadeem.png&amp;w=3840&amp;q=100 3840w" imageSizes="40px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fsubhan-nadeem.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=3840&amp;q=75 3840w" imageSizes="(min-width: 1024px) 400px, 100vw"/><link rel="stylesheet" href="/_next/static/chunks/ab3c9e2259127ecc.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/7875c8797e165d7b.js"/>
1<script src="/_next/static/chunks/71e8887ac4a9b62b.js" async=""></script>
1<script src="/_next/static/chunks/7a31b70719fbb0d3.js" async=""></script>
1<script src="/_next/static/chunks/7ebb634447a1082a.js" async=""></script>
1<script src="/_next/static/chunks/7e78753cb7029207.js" async=""></script>
1<script src="/_next/static/chunks/d9d5213ea6e8da5c.js" async=""></script>
1<script src="/_next/static/chunks/ab07b1732b59be53.js" async=""></script>
1<script src="/_next/static/chunks/7c8012aaccdea499.js" async=""></script>
1<script src="/_next/static/chunks/c1f921f6cf0369f5.js" async=""></script>
1<script src="/_next/static/chunks/db82e13da606b56d.js" async=""></script>
1<script src="/_next/static/chunks/0f63189634a29548.js" async=""></script>
1<script src="/_next/static/chunks/d3062ea4b2f67bd6.js" async=""></script>
1<script src="/_next/static/chunks/84bc9a0a8020862f.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Subhan Nadeem — Senior Full-Stack Engineer &amp; Automation Developer</title><meta name="description" content="Subhan Nadeem is a senior full-stack engineer building solar racking configurators, business automation, management systems and AI agents."/><link rel="author" href="https://subhan-dev-portfolio.vercel.app"/><meta name="author" content="Subhan Nadeem"/><meta name="keywords" content="Subhan Nadeem,Senior Full-Stack Engineer,Solar Racking Configurator Developer,Solar Mounting System Configurator,Ralux Solar Configurator,3D Solar Configurator,Solar BOM Software,Business Process Automation,Workflow Automation Developer,Product Configurator Developer,Solar Configurator Software,Custom Management System,Software Engineer,Web Developer,Software Developer,Full-Stack Developer,React Developer,Next.js Developer,Node.js Developer,MERN Stack Developer,AI chatbot developer,Software Engineer Pakistan"/><meta name="creator" content="Subhan Nadeem"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://subhan-dev-portfolio.vercel.app"/><meta name="google-site-verification" content="RQ7rc_JdxMtRkdDjtfQArVibQF9qDzetJVvNJXIdyP4"/><meta property="og:title" content="Subhan Nadeem — Senior Full-Stack Engineer &amp; Automation Developer"/><meta property="og:description" content="I build software and automations that run your business: configurators, management systems and AI agents."/><meta property="og:url" content="https://subhan-dev-portfolio.vercel.app"/><meta property="og:site_name" content="Subhan Nadeem"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png"/><meta property="og:image:width" content="928"/><meta property="og:image:height" content="1120"/><meta property="og:image:alt" content="Subhan Nadeem — Senior Full-Stack Engineer &amp; Automation Developer"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Subhan Nadeem — Senior Full-Stack Engineer &amp; Automation Developer"/><meta name="twitter:description" content="I build software and automations that run your business: configurators, management systems and AI agents."/><meta name="twitter:image" content="https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png"/><link rel="icon" href="/favicon.ico?favicon.1064551c.ico" sizes="48x48" type="image/x-icon"/>
1<script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script>
1<script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script>
1</head><body class="geist_e531dabc-module__QGiZLq__variable geist_mono_68a01160-module__YLcDdW__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class=" min-h-screen px-5 sm:px-10 lg:px-[60px] xl:px-[80px] pt-[30px] pb-[40px] text-white " style="background:linear-gradient(#1C1E28, #10101B, #181232, #0E1018, #16292C)"><div class="sticky top-5 z-50 mx-auto text-white" style="max-width:1440px"><div class="rounded-[20px] border border-white/[0.06] bg-black/85 shadow-[0_10px_40px_-10px_rgba(0,0,0,0.8)] backdrop-blur-xl" style="height:80px"><div class="flex items-center justify-between h-full px-5"><div class="flex items-center"><a class="no-underline" href="/"><div class="flex items-center cursor-pointer"><div class="relative h-10 w-10 mr-2.5 overflow-hidden rounded-full ring-1 ring-white/10"><img alt="@SubhanNadeem" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="40px" srcSet="/_next/image?url=%2Fsubhannadeem.png&amp;w=16&amp;q=100 16w, /_next/image?url=%2Fsubhannadeem.png&amp;w=32&amp;q=100 32w, /_next/image?url=%2Fsubhannadeem.png&amp;w=48&amp;q=100 48w, /_next/image?url=%2Fsubhannadeem.png&amp;w=64&amp;q=100 64w, /_next/image?url=%2Fsubhannadeem.png&amp;w=96&amp;q=100 96w, /_next/image?url=%2Fsubhannadeem.png&amp;w=128&amp;q=100 128w, /_next/image?url=%2Fsubhannadeem.png&amp;w=256&amp;q=100 256w, /_next/image?url=%2Fsubhannadeem.png&amp;w=384&amp;q=100 384w, /_next/image?url=%2Fsubhannadeem.png&amp;w=640&amp;q=100 640w, /_next/image?url=%2Fsubhannadeem.png&amp;w=750&amp;q=100 750w, /_next/image?url=%2Fsubhannadeem.png&amp;w=828&amp;q=100 828w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1080&amp;q=100 1080w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1200&amp;q=100 1200w, /_next/image?url=%2Fsubhannadeem.png&amp;w=1920&amp;q=100 1920w, /_next/image?url=%2Fsubhannadeem.png&amp;w=2048&amp;q=100 2048w, /_next/image?url=%2Fsubhannadeem.png&amp;w=3840&amp;q=100 3840w" src="/_next/image?url=%2Fsubhannadeem.png&amp;w=3840&amp;q=100"/></div><div class="flex items-center"><span class="font-bold text-white text-[16px] sm:text-[18px] xl:text-[24px]">@SubhanNadeem</span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="tabler-icon tabler-icon-rosette-discount-check-filled ml-[5px] mt-[2px]" style="color:#48AEEF"><path d="M12.01 2.011a3.2 3.2 0 0 1 2.113 .797l.154 .145l.698 .698a1.2 1.2 0 0 0 .71 .341l.135 .008h1a3.2 3.2 0 0 1 3.195 3.018l.005 .182v1c0 .27 .092 .533 .258 .743l.09 .1l.697 .698a3.2 3.2 0 0 1 .147 4.382l-.145 .154l-.698 .698a1.2 1.2 0 0 0 -.341 .71l-.008 .135v1a3.2 3.2 0 0 1 -3.018 3.195l-.182 .005h-1a1.2 1.2 0 0 0 -.743 .258l-.1 .09l-.698 .697a3.2 3.2 0 0 1 -4.382 .147l-.154 -.145l-.698 -.698a1.2 1.2 0 0 0 -.71 -.341l-.135 -.008h-1a3.2 3.2 0 0 1 -3.195 -3.018l-.005 -.182v-1a1.2 1.2 0 0 0 -.258 -.743l-.09 -.1l-.697 -.698a3.2 3.2 0 0 1 -.147 -4.382l.145 -.154l.698 -.698a1.2 1.2 0 0 0 .341 -.71l.008 -.135v-1l.005 -.182a3.2 3.2 0 0 1 3.013 -3.013l.182 -.005h1a1.2 1.2 0 0 0 .743 -.258l.1 -.09l.698 -.697a3.2 3.2 0 0 1 2.269 -.944zm3.697 7.282a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z"></path></svg></div></div></a></div><div class="hidden lg:flex items-center gap-1 font-bold"><a class="no-underline" href="/"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 py-2 has-[&gt;svg]:px-3 h-10 rounded-[8px] px-3 text-[16px] transition-colors xl:px-4 xl:text-[18px] text-white bg-[#0E1018]"><div class="flex items-center"><span class="hidden xl:inline-flex"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home "><path d="M5 12l-2 0l9 -9l9 9l-2 0"></path><path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6"></path></svg></span><span class="xl:ml-[7px]">Home</span></div></button></a><a class="no-underline" href="/services"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
1size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 py-2 has-[&gt;svg]:px-3 h-10 rounded-[8px] px-3 text-[16px] transition-colors xl:px-4 xl:text-[18px] text-[#868E96] bg-transparent"><div class="flex items-center"><span class="hidden xl:inline-flex"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-automation "><path d="M13 20.693c-.905 .628 -2.36 .292 -2.675 -1.01a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.492 .362 1.716 2.219 .674 3.03"></path><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path><path d="M17 22l5 -3l-5 -3z"></path></svg></span><span class="xl:ml-[7px]">Services</span></div></button></a><a class="no-underline" href="/about"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 py-2 has-[&gt;svg]:px-3 h-10 rounded-[8px] px-3 text-[16px] transition-colors xl:px-4 xl:text-[18px] text-[#868E96] bg-transparent"><div class="flex items-center"><span class="hidden xl:inline-flex"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user-bolt "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4c.267 0 .529 .026 .781 .076"></path><path d="M19 16l-2 3h4l-2 3"></path></svg></span><span class="xl:ml-[7px]">About</span></div></button></a><a class="no-underline" href="/projects"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 py-2 has-[&gt;svg]:px-3 h-10 rounded-[8px] px-3 text-[16px] transition-colors xl:px-4 xl:text-[18px] text-[#868E96] bg-transparent"><div class="flex items-center"><span class="hidden xl:inline-flex"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-databricks "><path d="M3 17l9 5l9 -5v-3l-9 5l-9 -5v-3l9 5l9 -5v-3l-9 5l-9 -5l9 -5l5.418 3.01"></path></svg></span><span class="xl:ml-[7px]">Projects</span></div></button></a></div><div class="hidden lg:block"><a data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive text-primary-foreground hover:bg-primary/90 py-2 has-[&gt;svg]:px-3 h-12 rounded-[10px] bg-white px-5 text-[17px] font-bold xl:h-[60px] xl:w-[160px] xl:text-[20px]" href="https://wa.me/923057474003">Let&#x27;s chat<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right transition-transform duration-200 group-hover:translate-x-0.5" aria-hidden="true"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></a></div><div class="lg:hidden"><button data-slot="sheet-trigger" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
1size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 has-[&gt;svg]:px-3 h-10 w-10 p-0 text-white" aria-label="Open menu" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-«R13b»" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-menu-2 "><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg></button></div></div></div></div>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://subhan-dev-portfolio.vercel.app/#person","name":"Subhan Nadeem","url":"https://subhan-dev-portfolio.vercel.app","image":[{"@type":"ImageObject","url":"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png","caption":"Subhan Nadeem, senior full-stack engineer"},{"@type":"ImageObject","url":"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.jpeg","caption":"Subhan Nadeem, automation and configurator developer"}],"jobTitle":["Senior Full-Stack Engineer","Solar Racking Configurator Developer","Automation Developer"],"description":"Senior full-stack engineer with 4+ years building solar racking configurators, business automation, management systems and AI agents. Designed and developed the Ralux Solar configurator.","email":"mailto:[email protected]","knowsAbout":["Solar Racking Configurators","Solar Mounting Systems","Structural Load Calculations","Bill of Materials Automation","2D and 3D Product Configurators","Business Process Automation","Workflow Automation","Management Systems","AI Agents","AI Chatbots","Next.js","React","Node.js","Python","TypeScript","LangChain","OpenAI API"],"makesOffer":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Solar racking configurators","url":"https://subhan-dev-portfolio.vercel.app/services/solar-racking-configurator"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Business automation","url":"https://subhan-dev-portfolio.vercel.app/services/business-automation"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Management systems","url":"https://subhan-dev-portfolio.vercel.app/services/management-systems"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"AI agents & chatbots","url":"https://subhan-dev-portfolio.vercel.app/services/ai-agents-chatbots"}}],"sameAs":["https://github.com/subhannadeem1","https://www.linkedin.com/in/subhan-nadeem-dev/","https://www.instagram.com/ch_subhan13/"],"address":{"@type":"PostalAddress","addressCountry":"PK"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://subhan-dev-portfolio.vercel.app/#website","url":"https://subhan-dev-portfolio.vercel.app","name":"Subhan Nadeem","description":"Portfolio of Subhan Nadeem: solar racking configurators, business automation, management systems and AI agents.","publisher":{"@type":"Person","@id":"https://subhan-dev-portfolio.vercel.app/#person","name":"Subhan Nadeem","url":"https://subhan-dev-portfolio.vercel.app"},"inLanguage":"en"}</script>
1<div class="mx-auto flex max-w-[1150px] flex-col gap-5 pt-6 xl:max-w-[1440px]"><div class="grid gap-5 lg:grid-cols-[minmax(0,356px)_1fr] xl:grid-cols-[400px_1fr]"><div class="flex h-full flex-col rounded-[20px] border border-white/[0.06] bg-black p-5 text-white lg:max-w-[400px] "><div class="relative h-[360px] overflow-hidden rounded-[14px] sm:h-[460px] md:h-[520px] lg:h-auto lg:min-h-[360px] lg:flex-1"><img alt="Subhan Nadeem — Senior Full-Stack Engineer and Automation Developer" decoding="async" data-nimg="fill" class="object-cover object-top" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 1024px) 400px, 100vw" srcSet="/_next/image?url=%2Fsubhan-nadeem.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fsubhan-nadeem.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fsubhan-nadeem.png&amp;w=3840&amp;q=75"/><div class="absolute left-3 top-3 flex items-center gap-2 rounded-full border border-white/10 bg-black/60 px-3 py-1.5 text-[12px] font-semibold backdrop-blur"><span class="relative flex h-2 w-2"><span class="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"></span><span class="relative inline-flex h-2 w-2 rounded-full bg-emerald-400"></span></span>Open to work</div></div><div class="mt-5 flex items-center gap-1.5"><h2 class="text-[28px] font-bold leading-none">Subhan Nadeem</h2><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="tabler-icon tabler-icon-rosette-discount-check-filled text-[#48AEEF]"><path d="M12.01 2.011a3.2 3.2 0 0 1 2.113 .797l.154 .145l.698 .698a1.2 1.2 0 0 0 .71 .341l.135 .008h1a3.2 3.2 0 0 1 3.195 3.018l.005 .182v1c0 .27 .092 .533 .258 .743l.09 .1l.697 .698a3.2 3.2 0 0 1 .147 4.382l-.145 .154l-.698 .698a1.2 1.2 0 0 0 -.341 .71l-.008 .135v1a3.2 3.2 0 0 1 -3.018 3.195l-.182 .005h-1a1.2 1.2 0 0 0 -.743 .258l-.1 .09l-.698 .697a3.2 3.2 0 0 1 -4.382 .147l-.154 -.145l-.698 -.698a1.2 1.2 0 0 0 -.71 -.341l-.135 -.008h-1a3.2 3.2 0 0 1 -3.195 -3.018l-.005 -.182v-1a1.2 1.2 0 0 0 -.258 -.743l-.09 -.1l-.697 -.698a3.2 3.2 0 0 1 -.147 -4.382l.145 -.154l.698 -.698a1.2 1.2 0 0 0 .341 -.71l.008 -.135v-1l.005 -.182a3.2 3.2 0 0 1 3.013 -3.013l.182 -.005h1a1.2 1.2 0 0 0 .743 -.258l.1 -.09l.698 -.697a3.2 3.2 0 0 1 2.269 -.944zm3.697 7.282a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z"></path></svg></div><p class="mt-2 text-[16px] font-semibold text-white/90">Senior Full-Stack Engineer</p><p class="mt-1 text-[15px] text-[#868E96]">Automation · Configurators · AI Agents</p><p class="mt-3 flex items-center gap-1.5 text-[14px] text-[#868E96]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-map-pin "><path d="M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path><path d="M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"></path></svg>Pakistan · Working with clients worldwide</p><div class="mt-5 grid grid-cols-4 gap-2"><a href="https://github.com/subhannadeem1" target="_blank" rel="noreferrer" aria-label="GitHub" class="flex h-10 items-center justify-center rounded-[10px] bg-[#0E1018] text-gray-400 transition-colors hover:bg-[#161a26] hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="tabler-icon tabler-icon-brand-github-filled "><path d="M5.315 2.1c.791 -.113 1.9 .145 3.333 .966l.272 .161l.16 .1l.397 -.083a13.3 13.3 0 0 1 4.59 -.08l.456 .08l.396 .083l.161 -.1c1.385 -.84 2.487 -1.17 3.322 -1.148l.164 .008l.147 .017l.076 .014l.05 .011l.144 .047a1 1 0 0 1 .53 .514a5.2 5.2 0 0 1 .397 2.91l-.047 .267l-.046 .196l.123 .163c.574 .795 .93 1.728 1.03 2.707l.023 .295l.007 .272c0 3.855 -1.659 5.883 -4.644 6.68l-.245 .061l-.132 .029l.014 .161l.008 .157l.004 .365l-.002 .213l-.003 3.834a1 1 0 0 1 -.883 .993l-.117 .007h-6a1 1 0 0 1 -.993 -.883l-.007 -.117v-.734c-1.818 .26 -3.03 -.424 -4.11 -1.878l-.535 -.766c-.28 -.396 -.455 -.579 -.589 -.644l-.048 -.019a1 1 0 0 1 .564 -1.918c.642 .188 1.074 .568 1.57 1.239l.538 .769c.76 1.079 1.36 1.459 2.609 1.191l.001 -.678l-.018 -.168a5.03 5.03 0 0 1 -.021 -.824l.017 -.185l.019 -.12l-.108 -.024c-2.976 -.71 -4.703 -2.573 -4.875 -6.139l-.01 -.31l-.004 -.292a5.6 5.6 0 0 1 .908 -3.051l.152 -.222l.122 -.163l-.045 -.196a5.2 5.2 0 0 1 .145 -2.642l.1 -.282l.106 -.253a1 1 0 0 1 .529 -.514l.144 -.047l.154 -.03z"></path></svg></a><a href="https://www.linkedin.com/in/subhan-nadeem-dev/" target="_blank" rel="noreferrer" aria-label="LinkedIn" class="flex h-10 items-center justify-center rounded-[10px] bg-[#0E1018] text-gray-400 transition-colors hover:bg-[#161a26] hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="tabler-icon tabler-icon-brand-linkedin-filled "><path d="M17 2a5 5 0 0 1 5 5v10a5 5 0 0 1 -5 5h-10a5 5 0 0 1 -5 -5v-10a5 5 0 0 1 5 -5zm-9 8a1 1 0 0 0 -1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0 -1 -1m6 0a3 3 0 0 0 -1.168 .236l-.125 .057a1 1 0 0 0 -1.707 .707v5a1 1 0 0 0 2 0v-3a1 1 0 0 1 2 0v3a1 1 0 0 0 2 0v-3a3 3 0 0 0 -3 -3m-6 -3a1 1 0 0 0 -.993 .883l-.007 .127a1 1 0 0 0 1.993 .117l.007 -.127a1 1 0 0 0 -1 -1"></path></svg></a><a href="https://www.instagram.com/ch_subhan13/" target="_blank" rel="noreferrer" aria-label="Instagram" class="flex h-10 items-center justify-center rounded-[10px] bg-[#0E1018] text-gray-400 transition-colors hover:bg-[#161a26] hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-instagram "><path d="M4 8a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z"></path><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path><path d="M16.5 7.5v.01"></path></svg></a><a href="mailto:[email protected]" target="_blank" rel="noreferrer" aria-label="Email" class="flex h-10 items-center justify-center rounded-[10px] bg-[#0E1018] text-gray-400 transition-colors hover:bg-[#161a26] hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-mail "><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"></path><path d="M3 7l9 6l9 -6"></path></svg></a></div></div><div class="relative flex flex-col overflow-hidden rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10"><div aria-hidden="true" class="pointer-events-none absolute -right-24 -top-24 h-72 w-72 rounded-full bg-[#48AEEF]/20 blur-3xl"></div><div aria-hidden="true" class="pointer-events-none absolute -bottom-32 left-1/3 h-72 w-72 rounded-full bg-[#F7B500]/10 blur-3xl"></div><div class="relative flex flex-1 flex-col"><span class="inline-flex w-fit items-center gap-2 rounded-full border border-white/10 bg-white/[0.03] px-3 py-1 text-[13px] font-medium text-[#A5B0BC]"><span class="h-1.5 w-1.5 rounded-full bg-emerald-400"></span>Available for new projects</span><h1 class="mt-5 max-w-[760px] text-[34px] font-bold leading-[1.1] tracking-tight sm:text-[44px] xl:text-[56px]"><span class="sr-only">
1Subhan Nadeem, senior full-stack engineer: </span>I build software &amp; automations that<!-- --> <span class="bg-gradient-to-r from-[#48AEEF] via-[#7CC8F5] to-[#F7B500] bg-clip-text text-transparent">run your business.</span></h1><p class="mt-5 max-w-[640px] text-[16px] leading-relaxed text-[#868E96] md:text-[18px]">Senior full-stack engineer with 4+ years of shipping production systems: configurators, management platforms, AI agents and end-to-end workflow automation for companies in energy, solar, fintech and SaaS.</p><div class="mb-9 mt-7 flex flex-col gap-3 sm:flex-row"><a target="_blank" class="group inline-flex h-12 items-center justify-center gap-2 rounded-[12px] bg-white px-6 text-[16px] font-bold text-black transition-colors hover:bg-white/90" href="https://wa.me/923057474003">Book a free call<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></a><a class="group inline-flex h-12 items-center justify-center gap-2 rounded-[12px] border border-white/10 bg-[#0E1018] px-6 text-[16px] font-bold text-white transition-colors hover:bg-[#161a26]" href="#work">See my work<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-down transition-transform group-hover:translate-y-0.5"><path d="M12 5l0 14"></path><path d="M18 13l-6 6"></path><path d="M6 13l6 6"></path></svg></a></div><dl class="mt-auto grid grid-cols-3 gap-3 border-t border-white/[0.06] pt-6"><div><dt class="sr-only">Years building production software</dt><dd class="text-[28px] font-bold leading-none md:text-[36px]">4+</dd><dd class="mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]">Years building production software</dd></div><div><dt class="sr-only">Products shipped for clients</dt><dd class="text-[28px] font-bold leading-none md:text-[36px]">20+</dd><dd class="mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]">Products shipped for clients</dd></div><div><dt class="sr-only">From idea and design to deploy</dt><dd class="text-[28px] font-bold leading-none md:text-[36px]">E2E</dd><dd class="mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]">From idea and design to deploy</dd></div></dl></div></div></div><div class="@container rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-8"><div class="flex items-center gap-2"><h2 class="text-[22px] font-bold md:text-[25px]">Tech Stack</h2><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="tabler-icon tabler-icon-stack-3 text-[#48AEEF]"><path d="M12 2l-8 4l8 4l8 -4l-8 -4"></path><path d="M4 10l8 4l8 -4"></path><path d="M4 18l8 4l8 -4"></path><path d="M4 14l8 4l8 -4"></path></svg></div><p class="mt-1 text-[15px] text-[#868E96]">The languages and tools I use to ship production systems.</p><div class="mt-6 grid gap-x-8 gap-y-5 @lg:grid-cols-2 @4xl:grid-cols-3"><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">Languages</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#3178C6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-typescript "><path d="M15 17.5c.32 .32 .754 .5 1.207 .5h.543c.69 0 1.25 -.56 1.25 -1.25v-.25a1.5 1.5 0 0 0 -1.5 -1.5a1.5 1.5 0 0 1 -1.5 -1.5v-.25c0 -.69 .56 -1.25 1.25 -1.25h.543c.453 0 .887 .18 1.207 .5"></path><path d="M9 12h4"></path><path d="M11 12v6"></path><path d="M21 19v-14a2 2 0 0 0 -2 -2h-14a2 2 0 0 0 -2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2 -2z"></path></svg>TypeScript</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="#F7DF1E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-javascript "><path d="M20 4l-2 14.5l-6 2l-6 -2l-2 -14.5z"></path><path d="M7.5 8h3v8l-2 -1"></path><path d="M16.5 8h-2.5a.5 .5 0 0 0 -.5 .5v3a.5 .5 0 0 0 .5 .5h1.423a.5 .5 0 0 1 .495 .57l-.418 2.93l-2 .5"></path></svg>JavaScript</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FFD43B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-python "><path d="M12 9h-7a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h3"></path><path d="M12 15h7a2 2 0 0 0 2 -2v-4a2 2 0 0 0 -2 -2h-3"></path><path d="M8 9v-4a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v5a2 2 0 0 1 -2 2h-4a2 2 0 0 0 -2 2v5a2 2 0 0 0 2 2h4a2 2 0 0 0 2 -2v-4"></path><path d="M11 6l0 .01"></path><path d="M13 18l0 .01"></path></svg>Python</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#A5B0BC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-sql "><path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path><path d="M17 8v8h4"></path><path d="M13 15l1 1"></path><path d="M3 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>SQL</li></ul></div><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">Frontend</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#61DBFB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-react "><path d="M6.306 8.711c-2.602 .723 -4.306 1.926 -4.306 3.289c0 2.21 4.477 4 10 4c.773 0 1.526 -.035 2.248 -.102"></path><path d="M17.692 15.289c2.603 -.722 4.308 -1.926 4.308 -3.289c0 -2.21 -4.477 -4 -10 -4c-.773 0 -1.526 .035 -2.25 .102"></path><path d="M6.305 15.287c-.676 2.615 -.485 4.693 .695 5.373c1.913 1.105 5.703 -1.877 8.464 -6.66c.387 -.67 .733 -1.339 1.036 -2"></path><path d="M17.694 8.716c.677 -2.616 .487 -4.696 -.694 -5.376c-1.913 -1.105 -5.703 1.877 -8.464 6.66c-.387 .67 -.733 1.34 -1.037 2"></path><path d="M12 5.424c-1.925 -1.892 -3.82 -2.766 -5 -2.084c-1.913 1.104 -1.226 5.877 1.536 10.66c.386 .67 .793 1.304 1.212 1.896"></path><path d="M12 18.574c1.926 1.893 3.821 2.768 5 2.086c1.913 -1.104 1.226 -5.877 -1.536 -10.66c-.375 -.65 -.78 -1.283 -1.212 -1.897"></path><path d="M11.5 12.866a1 1 0 1 0 1 -1.732a1 1 0 0 0 -1 1.732z"></path></svg>React</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-nextjs "><path d="M9 15v-6l7.745 10.65a9 9 0 1 1 2.255 -1.993"></path><path d="M15 12v-3"></path></svg>Next.js</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#38BDF8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-tailwind "><path d="M11.667 6c-2.49 0 -4.044 1.222 -4.667 3.667c.933 -1.223 2.023 -1.68 3.267 -1.375c.71 .174 1.217 .68 1.778 1.24c.916 .912 2 1.968 4.288 1.968c2.49 0 4.044 -1.222 4.667 -3.667c-.933 1.223 -2.023 1.68 -3.267 1.375c-.71 -.174 -1.217 -.68 -1.778 -1.24c-.9
116 -.912 -1.975 -1.968 -4.288 -1.968zm-4 6.5c-2.49 0 -4.044 1.222 -4.667 3.667c.933 -1.223 2.023 -1.68 3.267 -1.375c.71 .174 1.217 .68 1.778 1.24c.916 .912 1.975 1.968 4.288 1.968c2.49 0 4.044 -1.222 4.667 -3.667c-.933 1.223 -2.023 1.68 -3.267 1.375c-.71 -.174 -1.217 -.68 -1.778 -1.24c-.916 -.912 -1.975 -1.968 -4.288 -1.968z"></path></svg>Tailwind CSS</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#764ABC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-redux "><path d="M16.54 7c-.805 -2.365 -2.536 -4 -4.54 -4c-2.774 0 -5.023 2.632 -5.023 6.496c0 1.956 1.582 4.727 2.512 6"></path><path d="M4.711 11.979c-1.656 1.877 -2.214 4.185 -1.211 5.911c1.387 2.39 5.138 2.831 8.501 .9c1.703 -.979 2.875 -3.362 3.516 -4.798"></path><path d="M15.014 19.99c2.511 0 4.523 -.438 5.487 -2.1c1.387 -2.39 -.215 -5.893 -3.579 -7.824c-1.702 -.979 -4.357 -1.235 -5.927 -1.07"></path><path d="M10.493 9.862c.48 .276 1.095 .112 1.372 -.366a1 1 0 0 0 -.367 -1.365a1.007 1.007 0 0 0 -1.373 .366a1 1 0 0 0 .368 1.365z"></path><path d="M9.5 15.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15.5 14m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path></svg>Redux Toolkit</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-code-circle-2 "><path d="M8.5 13.5l-1.5 -1.5l1.5 -1.5"></path><path d="M15.5 10.5l1.5 1.5l-1.5 1.5"></path><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M13 9.5l-2 5.5"></path></svg>shadcn/ui</li></ul></div><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">Backend &amp; APIs</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#539E43" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-nodejs "><path d="M9 9v8.044a2 2 0 0 1 -2.996 1.734l-1.568 -.9a3 3 0 0 1 -1.436 -2.561v-6.635a3 3 0 0 1 1.436 -2.56l6 -3.667a3 3 0 0 1 3.128 0l6 3.667a3 3 0 0 1 1.436 2.561v6.634a3 3 0 0 1 -1.436 2.56l-6 3.667a3 3 0 0 1 -3.128 0"></path><path d="M17 9h-3.5a1.5 1.5 0 0 0 0 3h2a1.5 1.5 0 0 1 0 3h-3.5"></path></svg>Node.js</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#48AEEF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-api "><path d="M4 13h5"></path><path d="M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3"></path><path d="M20 8v8"></path><path d="M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5"></path></svg>REST APIs</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#F7B500" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-webhook "><path d="M4.876 13.61a4 4 0 1 0 6.124 3.39h6"></path><path d="M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5"></path><path d="M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5"></path></svg>Webhooks</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="#635BFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-stripe "><path d="M11.453 8.056c0 -.623 .518 -.979 1.442 -.979c1.69 0 3.41 .343 4.605 .923l.5 -4c-.948 -.449 -2.82 -1 -5.5 -1c-1.895 0 -3.373 .087 -4.5 1c-1.172 .956 -2 2.33 -2 4c0 3.03 1.958 4.906 5 6c1.961 .69 3 .743 3 1.5c0 .735 -.851 1.5 -2 1.5c-1.423 0 -3.963 -.609 -5.5 -1.5l-.5 4c1.321 .734 3.474 1.5 6 1.5c2 0 3.957 -.468 5.084 -1.36c1.263 -.979 1.916 -2.268 1.916 -4.14c0 -3.096 -1.915 -4.547 -5 -5.637c-1.646 -.605 -2.544 -1.07 -2.544 -1.807z"></path></svg>Stripe</li></ul></div><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">Data</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#699ECA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-database "><path d="M12 6m-8 0a8 3 0 1 0 16 0a8 3 0 1 0 -16 0"></path><path d="M4 6v6a8 3 0 0 0 16 0v-6"></path><path d="M4 12v6a8 3 0 0 0 16 0v-6"></path></svg>PostgreSQL</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#3ECF8E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-supabase "><path d="M4 14h8v7l8 -11h-8v-7z"></path></svg>Supabase</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#47A248" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-mongodb "><path d="M12 3v19"></path><path d="M18 11.227c0 3.273 -1.812 4.77 -6 9.273c-4.188 -4.503 -6 -6 -6 -9.273c0 -4.454 3.071 -6.927 6 -9.227c2.929 2.3 6 4.773 6 9.227z"></path></svg>MongoDB</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#C084FC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-topology-star-3 "><path d="M10 19a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M18 5a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M10 5a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M6 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M18 19a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M14 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M22 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M6 12h4"></path><path d="M14 12h4"></path><path d="M15 7l-2 3"></path><path d="M9 7l2 3"></path><path d="M11 14l-2 3"></path><path d="M13 14l2 3"></path></svg>Vector DBs</li></ul></div><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">AI &amp; Automation</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#10A37F" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-openai "><path d="M11.217 19.384a3.501 3.501 0 0 0 6.783 -1.217v-5.167l-6 -3.35"></path><path d="M5.214 15.014a3.501 3.501 0 0 0 4.446 5.266l4.34 -2.534v-6.946"></path><path d="M6 7.63c-1.391 -.236 -2.787 .395 -3.534 1.689a3.474 3.474 0 0 0 1.271 4.745l4.263 2.514l6 -3.348"></path><path d="M12.783 4.616a3.501 3.501 0 0 0 -6.783 1.217v5.067l6 3.45"></path><path d="M18.786 8.986a3.501 3.501 0 0 0 -4.446 -5.266l-4.34 2.534v6.946"></path><path d="M18 16.302c1.391 .236 2.787 -.395 3.534 -1.689a3.474 3.474 0 0 0 -1.271 -4.745l-4.308 -2.514l-5.955 3.42"></path></svg>OpenAI API</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="#F7B500" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-sparkles "><path d="M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z"></path></svg>LangChain</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-sparkles "><path d="M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z"></path></svg>Vercel AI SDK</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#48AEEF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-robot "><path d="M6 4m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"></path><path d="M12 2v2"></path><path d="M9 12v9"></path><path d="M15 12v9"></path><path d="M5 16l4 -2"></path><path d="M15 14l4 2"></path><path d="M9 18h6"></path><path d="M10 8v.01"></path><path d="M14 8v.01"></path></svg>AI Agents</li></ul></div><div><h3 class="text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]">Cloud &amp; DevOps</h3><ul class="mt-2.5 flex flex-wrap gap-2"><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FF9900" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-aws "><path d="M17 18.5a15.198 15.198 0 0 1 -7.37 1.44a14.62 14.62 0 0 1 -6.63 -2.94"></path><path d="M19.5 21c.907 -1.411 1.451 -3.323 1.5 -5c-1.197 -.773 -2.577 -.935 -4 -1"></path><path d="M3 11v-4.5a1.5 1.5 0 0 1 3 0v4.5"></path><path d="M3 9h3"></path><path d="M9 5l1.2 6l1.8 -4l1.8 4l1.2 -6"></path><path d="M18 10.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75"></path></svg>AWS</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-vercel "><path d="M3 19h18l-9 -15z"></path></svg>Vercel</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#2496ED" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-docker "><path d="M22 12.54c-1.804 -.345 -2.701 -1.08 -3.523 -2.94c-.487 .696 -1.102 1.568 -.92 2.4c.028 .238 -.32 1 -.557 1h-14c0 5.208 3.164 7 6.196 7c4.124 .022 7.828 -1.376 9.854 -5c1.146 -.101 2.296 -1.505 2.95 -2.46z"></path><path d="M5 10h3v3h-3z"></path><path d="M8 10h3v3h-3z"></path><path d="M11 10h3v3h-3z"></path><path d="M8 7h3v3h-3z"></path><path d="M11 7h3v3h-3z"></path><path d="M11 4h3v3h-3z"></path><path d="M4.571 18c1.5 0 2.047 -.074 2.958 -.78"></path><path d="M10 16l0 .01"></path></svg>Docker</li><li class="inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-github "><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path></svg>GitHub</li></ul></div></div></div><section class="rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10"><div class="flex flex-col gap-4 md:flex-row md:items-end md:justify-between"><div><span class="text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]">Experience</span><h2 class="mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]">Companies I&#x27;ve built for</h2><p class="mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16px]">Production systems for companies in energy, solar, fintech and SaaS.</p></div></div><div class="mt-8 grid gap-4 sm:grid-cols-2 xl:grid-cols-4"><a class="group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]" href="/projects/ralux-solar-configurator"><div class="flex items-start justify-between gap-3"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white">RS</div><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></div><h3 class="mt-4 text-[18px] font-bold">Ralux Solar</h3><span class="mt-0.5 text-[13px] font-medium text-[#48AEEF]">Solar mounting systems</span><p class="mt-3 text-[14px] leading-relaxed text-[#868E96]">Configurator with structural load engine, map-based layouts, auto BOM and admin panel.</p></a><a class="group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]" href="/projects/natpower-energy"><div class="flex items-start justify-between gap-3"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white">NE</div><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></div><h3 class="mt-4 text-[18px] font-bold">NatPower Energy</h3><span class="mt-0.5 text-[13px] font-medium text-[#48AEEF]">Energy · UK</span>
1<p class="mt-3 text-[14px] leading-relaxed text-[#868E96]">Animated energy-park platform with Mapbox and fully dynamic content.</p></a><a class="group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]" href="/projects/optionssight-trading-dashboard"><div class="flex items-start justify-between gap-3"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white">O</div><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></div><h3 class="mt-4 text-[18px] font-bold">OptionsSight</h3><span class="mt-0.5 text-[13px] font-medium text-[#48AEEF]">Fintech · Trading</span><p class="mt-3 text-[14px] leading-relaxed text-[#868E96]">Options-flow dashboard, drag-and-drop widgets and a token-based design system.</p></a><a class="group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]" href="/projects/flowtopia-options-analytics"><div class="flex items-start justify-between gap-3"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white">F</div><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></div><h3 class="mt-4 text-[18px] font-bold">Flowtopia</h3><span class="mt-0.5 text-[13px] font-medium text-[#48AEEF]">Fintech · Trading</span><p class="mt-3 text-[14px] leading-relaxed text-[#868E96]">Options analytics platform with live data, notifications and an AI trading bot.</p></a></div><div class="relative mt-6 overflow-hidden [mask-image:linear-gradient(to_right,transparent,black_10%,black_90%,transparent)]"><div class="flex w-max animate-marquee py-2 hover:[animation-play-state:paused]"><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">The Hockey Review</span><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Alpha Padel</span><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Pod Transcripts</span><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Sora AI</span><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">GemHunters</span><span aria-hidden="false" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Mocha Coin</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">The Hockey Review</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Alpha Padel</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Pod Transcripts</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Sora AI</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">GemHunters</span><span aria-hidden="true" class="whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]">Mocha Coin</span></div></div></section><section id="services" class="scroll-mt-32 rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10"><div class="flex flex-col gap-4 md:flex-row md:items-end md:justify-between"><div><span class="text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]">Services</span><h2 class="mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]">What I build for businesses</h2><p class="mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16
1px]">Custom software that removes manual work, from a single automation to a complete system your whole team runs on.</p></div></div><div class="mt-8 grid gap-4 md:grid-cols-2 xl:grid-cols-3"><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-automation "><path d="M13 20.693c-.905 .628 -2.36 .292 -2.675 -1.01a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.492 .362 1.716 2.219 .674 3.03"></path><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path><path d="M17 22l5 -3l-5 -3z"></path></svg></div><h3 class="mt-5 text-[19px] font-bold"><a class="after:absolute after:inset-0 after:content-[&#x27;&#x27;]" href="/services/business-automation">Business Process Automation</a></h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">I map how work moves through your company, then replace the manual steps with systems that run on their own.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Quotes, approvals &amp; data entry</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Tool &amp; API integrations</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Auto emails, reports &amp; alerts</li></ul><span class="mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85">Learn more<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></span></article><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-calculator "><path d="M4 3m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"></path><path d="M8 7m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z"></path><path d="M8 14l0 .01"></path><path d="M12 14l0 .01"></path><path d="M16 14l0 .01"></path><path d="M8 17l0 .01"></path><path d="M12 17l0 .01"></path><path d="M16 17l0 .01"></path></svg></div><h3 class="mt-5 text-[19px] font-bold"><a class="after:absolute after:inset-0 after:content-[&#x27;&#x27;]" href="/services/solar-racking-configurator">Configurators &amp; Quoting Engines</a></h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Product configurators with a real calculation engine behind them: rules, engineering formulas, pricing and BOM.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Rule &amp; formula engines</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Instant BOM &amp; pricing</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Map / 2D / 3D design tools</li></ul><span class="mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85">Learn more<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></span></article><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-layout-dashboard "><path d="M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1"></path><path d="M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1"></path><path d="M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1"></path><path d="M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1"></path></svg></div><h3 class="mt-5 text-[19px] font-bold"><a class="after:absolute after:inset-0 after:content-[&#x27;&#x27;]" href="/services/management-systems">Management Systems</a></h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Custom CRMs, order, inventory and project systems with admin panels, built around your workflow.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Role-based admin panels</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Orders, stock &amp; customers</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>One source of truth</li></ul><span class="mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85">Learn more<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></span></article><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-robot "><path d="M6 4m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"></path><path d="M12 2v2"></path><path d="M9 12v9"></path><path d="M15 12v9"></path><path d="M5 16l4 -2"></path><path d="M15 14l4 2"></path><path d="M9 18h6"></path><path d="M10 8v.01"></path><path d="M14 8v.01"></path></svg></div><h3 class="mt-5 text-[19px] font-bold"><a class="after:absolute after:inset-0 after:content-[&#x27;&#x27;]" href="/services/ai-agents-chatbots">AI Agents &amp; Chatbots</a></h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Assistants trained on your own documents and data that answer customers, qualify leads and do the busywork.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>RAG on your documents</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Lead-qualifying bots</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>AI features in your product</li></ul><span class="mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85">Learn more<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></span></article><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-apps "><path d="M4 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path><path d="M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path><path d="M14 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"></path><path d="M14 7l6 0"></path><path d="M17 4l0 6"></path></svg></div><h3 class="mt-5 text-[19px] font-bold">SaaS &amp; Web Applications</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Full-stack products from authentication and payments to multi-user dashboards, shipped to production.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Auth, roles &amp; billing</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Scalable Next.js + Node</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Pixel-perfect from Figma</li></ul></article><article class="group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]"><div class="flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20"><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="tabler-icon tabler-icon-chart-dots-3 "><path d="M5 7m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M16 15m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M18 6m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path><path d="M6 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path><path d="M9 17l5 -1.5"></path><path d="M6.5 8.5l7.81 5.37"></path><path d="M7 7l8 -1"></path></svg></div><h3 class="mt-5 text-[19px] font-bold">Dashboards &amp; Data Visualization</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Real-time dashboards, analytics, charts and map-based interfaces that turn raw data into decisions.</p><ul class="mt-4 space-y-2"><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Live charts &amp; heatmaps</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>Maps &amp; geo data</li><li class="flex items-center gap-2 text-[14px] text-[#C9D1D9]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400"><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path><path d="M9 12l2 2l4 -4"></path></svg>KPI &amp; reporting views</li></ul></article></div><div class="relative mt-4 overflow-hidden rounded-[16px] border border-[#F7B500]/20 bg-gradient-to-br from-[#1a1508] via-[#0E1018] to-[#0E1018] p-5 md:p-8"><div aria-hidden="true" class="pointer-events-none absolute -right-20 -top-20 h-64 w-64 rounded-full bg-[#F7B500]/15 blur-3xl"></div><div class="relative grid items-center gap-6 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] lg:gap-10"><div><span class="inline-flex items-center gap-2 text-[13px] font-semibold uppercase tracking-[0.14em] text-[#F7B500]"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-solar-panel "><path d="M4.28 14h15.44a1 1 0 0 0 .97 -1.243l-1.5 -6a1 1 0 0 0 -.97 -.757h-12.44a1 1 0 0 0 -.97 .757l-1.5 6a1 1 0 0 0 .97 1.243z"></path><path d="M4 10h16"></path><path d="M10 6l-1 8"></path><path d="M14 6l1 8"></path><path d="M12 14v4"></path><path d="M7 18h10"></path></svg>
1Industry focus</span><h3 class="mt-3 text-[24px] font-bold leading-tight md:text-[30px]">Solar &amp; racking companies<span class="block text-[17px] font-semibold text-white/80 md:text-[18px]">Your whole sales-to-install flow, automated.</span></h3><p class="mt-3 text-[15px] leading-relaxed text-[#868E96]">I&#x27;ve built mounting-system configurators with country-specific structural load engines covering 20+ systems, map-based panel layouts and instant BOM generation. Now I help installers and racking manufacturers automate everything around it.<!-- --> <a class="whitespace-nowrap font-semibold text-[#F7B500] hover:underline" href="/services/solar-racking-configurator">How I build them →</a></p><ol class="mt-5 grid grid-cols-2 gap-2 sm:flex sm:flex-wrap sm:items-center"><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">01</span>Site on map</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block"><path d="M9 6l6 6l-6 6"></path></svg></li><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">02</span>Panel layout</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block"><path d="M9 6l6 6l-6 6"></path></svg></li><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">03</span>Structural calc</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block"><path d="M9 6l6 6l-6 6"></path></svg></li><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">04</span>BOM &amp; pricing</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block"><path d="M9 6l6 6l-6 6"></path></svg></li><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">05</span>Quote</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block"><path d="M9 6l6 6l-6 6"></path></svg></li><li class="flex min-w-0 items-center gap-1.5"><span class="flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto"><span class="text-[11px] font-bold text-[#F7B500]">06</span>Orders &amp; admin</span></li></ol><div class="mt-6 flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4 lg:flex-col lg:items-start xl:flex-row xl:items-center"><a target="_blank" class="group flex h-11 w-full shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[12px] bg-[#F7B500] px-5 text-[15px] font-bold text-black transition-colors hover:bg-[#ffc526] sm:inline-flex sm:w-auto" href="https://wa.me/923057474003">Automate my solar business<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></a><p class="text-[13px] leading-snug text-[#868E96]">Not in solar? Same approach works for any team still running on spreadsheets.</p></div></div><div class="relative mx-auto hidden w-full max-w-[380px] lg:block"><div aria-hidden="true" class="pointer-events-none absolute inset-x-8 bottom-2 h-10 rounded-full bg-[#F7B500]/20 blur-2xl"></div>
1<img alt="3D model of a house with a solar mounting system being installed on the roof" loading="lazy" width="1080" height="903" decoding="async" data-nimg="1" class="relative h-auto w-full drop-shadow-[0_20px_30px_rgba(0,0,0,0.5)]" style="color:transparent" sizes="380px" srcSet="/_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fprojects%2Fralux-solar.png&amp;w=3840&amp;q=75"/></div></div></div></section><div id="work" class="scroll-mt-32"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><section class="rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10"><div class="flex flex-col gap-4 md:flex-row md:items-end md:justify-between"><div><span class="text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]">How I work</span><h2 class="mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]">From manual process to automated system</h2><p class="mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16px]">A clear, milestone-based process, so you always know what&#x27;s being built and when.</p></div></div><ol class="mt-8 grid gap-4 sm:grid-cols-2 xl:grid-cols-4"><li class="relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6"><span class="text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]">01</span><h3 class="mt-4 text-[19px] font-bold">Discover</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">We walk through your current workflow, tools and bottlenecks, including every manual step.</p><span aria-hidden="true" class="absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block"></span></li><li class="relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6"><span class="text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]">02</span><h3 class="mt-4 text-[19px] font-bold">Blueprint</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">I map the automated flow, data model and scope, split into clear milestones.</p><span aria-hidden="true" class="absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block"></span></li><li class="relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6"><span class="text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]">03</span><h3 class="mt-4 text-[19px] font-bold">Build</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Weekly demos you can click through, integrated with the tools you already use.</p><span aria-hidden="true" class="absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block"></span></li><li class="relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6"><span class="text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]">04</span>
1<h3 class="mt-4 text-[19px] font-bold">Launch &amp; support</h3><p class="mt-2 text-[15px] leading-relaxed text-[#868E96]">Deploy, onboard your team and keep improving as the business grows.</p></li></ol></section><section class="relative overflow-hidden rounded-[20px] border border-white/[0.06] bg-black p-6 text-center sm:p-8 md:p-14"><div aria-hidden="true" class="pointer-events-none absolute left-1/2 top-0 h-64 w-[600px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-[#48AEEF]/20 blur-3xl"></div><div class="relative mx-auto max-w-[720px]"><h2 class="text-[28px] font-bold leading-tight tracking-tight md:text-[40px]">Still running on spreadsheets, emails and copy-paste?</h2><p class="mt-4 text-[16px] leading-relaxed text-[#868E96] md:text-[18px]">Tell me how your team works today and I&#x27;ll show you what can be automated.</p><div class="mt-8 flex flex-col justify-center gap-3 sm:flex-row"><a target="_blank" class="group inline-flex h-12 shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[12px] bg-white px-6 text-[16px] font-bold text-black transition-colors hover:bg-white/90" href="https://wa.me/923057474003"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-whatsapp "><path d="M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9"></path><path d="M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1"></path></svg>Chat on WhatsApp<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5"><path d="M17 7l-10 10"></path><path d="M8 7l9 0l0 9"></path></svg></a><a class="inline-flex min-h-12 min-w-0 items-center justify-center gap-2 rounded-[12px] py-2 sm:shrink-0 border border-white/10 bg-[#0E1018] px-3 text-[13px] min-[360px]:px-4 min-[360px]:text-[14px] font-bold text-white transition-colors hover:bg-[#161a26] sm:px-6 sm:text-[16px]" href="mailto:[email protected]"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-mail shrink-0"><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"></path><path d="M3 7l9 6l9 -6"></path></svg><span class="text-left [overflow-wrap:anywhere]">[email protected]</span></a></div></div></section></div><!--$--><!--/$--><footer class="mx-auto mt-5 max-w-[1150px] xl:max-w-[1440px]"><div class="rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10"><div class="grid gap-8 sm:grid-cols-2 lg:grid-cols-[1.4fr_1fr_1fr_1fr]"><div><p class="text-[18px] font-bold">Subhan Nadeem</p><p class="mt-2 max-w-[340px] text-[14px] leading-relaxed text-[#868E96]">Senior full-stack engineer building solar racking configurators, business automation, management systems and AI agents.</p><a target="_blank" class="mt-4 inline-flex h-10 items-center rounded-[10px] bg-white px-4 text-[14px] font-bold text-black transition-colors hover:bg-white/90" href="https://wa.me/923057474003">Start a project</a></div><nav aria-label="Services"><p class="text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]">Services</p><ul class="mt-3 flex flex-col gap-2"><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/services/solar-racking-configurator">Solar racking configurators</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/services/business-automation">Business automation</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/services/management-systems">Management systems</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/services/ai-agents-chatbots">AI agents &amp; chatbots</a></li></ul></nav><nav aria-label="Selected work"><p class="text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]">Work</p><ul class="mt-3 flex flex-col gap-2"><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/projects/ralux-solar-configurator">
1Ralux Solar Configurator</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/projects/natpower-energy">NatPower Energy</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/projects/optionssight-trading-dashboard">OptionsSight</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/projects/flowtopia-options-analytics">Flowtopia</a></li><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/projects">All projects</a></li></ul></nav><nav aria-label="Contact"><p class="text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]">Contact</p><ul class="mt-3 flex flex-col gap-2"><li><a class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white" href="/about">About me</a></li><li><a href="mailto:[email protected]" class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white [overflow-wrap:anywhere]">[email protected]</a></li><li><a href="https://www.linkedin.com/in/subhan-nadeem-dev/" target="_blank" rel="noreferrer" class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white">LinkedIn</a></li><li><a href="https://github.com/subhannadeem1" target="_blank" rel="noreferrer" class="text-[14px] text-[#9AA3AD] transition-colors hover:text-white">GitHub</a></li></ul></nav></div><div class="mt-8 flex flex-col gap-2 border-t border-white/[0.06] pt-5 text-[13px] text-[#5C6670] sm:flex-row sm:justify-between"><p>© <!-- -->2026<!-- --> <!-- -->Subhan Nadeem<!-- -->. All rights reserved.</p><p>Solar racking configurators · Automation · Management systems</p></div></div></footer></div>
1<script src="/_next/static/chunks/7875c8797e165d7b.js" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[68310,[\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"/_next/static/chunks/ab07b1732b59be53.js\",\"/_next/static/chunks/7c8012aaccdea499.js\",\"/_next/static/chunks/c1f921f6cf0369f5.js\"],\"default\"]\n3:I[4620,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"default\"]\n4:I[81105,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"default\"]\n5:I[86240,[\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"/_next/static/chunks/ab07b1732b59be53.js\",\"/_next/static/chunks/7c8012aaccdea499.js\",\"/_next/static/chunks/c1f921f6cf0369f5.js\"],\"default\"]\n7:I[61007,[\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"/_next/static/chunks/ab07b1732b59be53.js\",\"/_next/static/chunks/7c8012aaccdea499.js\",\"/_next/static/chunks/c1f921f6cf0369f5.js\",\"/_next/static/chunks/d3062ea4b2f67bd6.js\",\"/_next/static/chunks/84bc9a0a8020862f.js\"],\"default\"]\n8:I[11772,[\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"/_next/static/chunks/ab07b1732b59be53.js\",\"/_next/static/chunks/7c8012aaccdea499.js\",\"/_next/static/chunks/c1f921f6cf0369f5.js\",\"/_next/static/chunks/d3062ea4b2f67bd6.js\",\"/_next/static/chunks/84bc9a0a8020862f.js\"],\"Image\"]\n9:\"$Sreact.suspense\"\na:I[78185,[\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"/_next/static/chunks/ab07b1732b59be53.js\",\"/_next/static/chunks/7c8012aaccdea499.js\",\"/_next/static/chunks/c1f921f6cf0369f5.js\",\"/_next/static/chunks/d3062ea4b2f67bd6.js\",\"/_next/static/chunks/84bc9a0a8020862f.js\"],\"default\"]\nb:I[83822,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"OutletBoundary\"]\ne:I[2541,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"AsyncMetadataOutlet\"]\n10:I[83822,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"ViewportBoundary\"]\n12:I[83822,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"MetadataBoundary\"]\n14:I[12447,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189"])</script>
1<script>self.__next_f.push([1,"634a29548.js\"],\"default\"]\n:HL[\"/_next/static/chunks/ab3c9e2259127ecc.css\",\"style\"]\n:HL[\"/_next/static/media/gyByhwUxId8gMEwcGFWNOITd-s.p.d06edde1.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/or3nQ6H_1_WfwkMZI_qYFrcdmhHkjko-s.p.9593fb78.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:T7f0,{\"@context\":\"https://schema.org\",\"@type\":\"Person\",\"@id\":\"https://subhan-dev-portfolio.vercel.app/#person\",\"name\":\"Subhan Nadeem\",\"url\":\"https://subhan-dev-portfolio.vercel.app\",\"image\":[{\"@type\":\"ImageObject\",\"url\":\"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png\",\"caption\":\"Subhan Nadeem, senior full-stack engineer\"},{\"@type\":\"ImageObject\",\"url\":\"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.jpeg\",\"caption\":\"Subhan Nadeem, automation and configurator developer\"}],\"jobTitle\":[\"Senior Full-Stack Engineer\",\"Solar Racking Configurator Developer\",\"Automation Developer\"],\"description\":\"Senior full-stack engineer with 4+ years building solar racking configurators, business automation, management systems and AI agents. Designed and developed the Ralux Solar configurator.\",\"email\":\"mailto:[email protected]\",\"knowsAbout\":[\"Solar Racking Configurators\",\"Solar Mounting Systems\",\"Structural Load Calculations\",\"Bill of Materials Automation\",\"2D and 3D Product Configurators\",\"Business Process Automation\",\"Workflow Automation\",\"Management Systems\",\"AI Agents\",\"AI Chatbots\",\"Next.js\",\"React\",\"Node.js\",\"Python\",\"TypeScript\",\"LangChain\",\"OpenAI API\"],\"makesOffer\":[{\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Solar racking configurators\",\"url\":\"https://subhan-dev-portfolio.vercel.app/services/solar-racking-configurator\"}},{\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Business automation\",\"url\":\"https://subhan-dev-portfolio.vercel.app/services/business-automation\"}},{\"@type\":\"Offer\",\"itemOffered\":{\"@type\":\"Service\",\"name\":\"Management systems\",\"url\":\"https://subhan-dev-portfolio.vercel.app/services/management-systems\"}},{\"@type\":\"Offer\",\"itemOffered\":{\"@type"])</script>
1<script>self.__next_f.push([1,"\":\"Service\",\"name\":\"AI agents \u0026 chatbots\",\"url\":\"https://subhan-dev-portfolio.vercel.app/services/ai-agents-chatbots\"}}],\"sameAs\":[\"https://github.com/subhannadeem1\",\"https://www.linkedin.com/in/subhan-nadeem-dev/\",\"https://www.instagram.com/ch_subhan13/\"],\"address\":{\"@type\":\"PostalAddress\",\"addressCountry\":\"PK\"}}"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"KuV0aF5eRk_cR3Z8HkXQc\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ab3c9e2259127ecc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d9d5213ea6e8da5c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/ab07b1732b59be53.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/7c8012aaccdea499.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/c1f921f6cf0369f5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"geist_e531dabc-module__QGiZLq__variable geist_mono_68a01160-module__YLcDdW__variable antialiased\",\"children\":[\"$\",\"div\",null,{\"className\":\" min-h-screen px-5 sm:px-10 lg:px-[60px] xl:px-[80px] pt-[30px] pb-[40px] text-white \",\"style\":{\"background\":\"linear-gradient(#1C1E28, #10101B, #181232, #0E1018, #16292C)\"},\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1150px] pt-6 xl:max-w-[1440px]\",\"children\":[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden rounded-[20px] border border-white/[0.06] bg-black px-5 py-16 text-center sm:px-8 md:py-24\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute left-1/2 top-0 h-64 w-[min(600px,90vw)] -translate-x-1/2 -translate-y-1/2 rounded-full bg-[#48AEEF]/20 blur-3xl\"}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto max-w-[560px]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"bg-gradient-to-r from-[#48AEEF] via-[#7CC8F5] to-[#F7B500] bg-clip-text text-[72px] font-bold leading-none text-transparent sm:text-[96px]\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-[26px] font-bold leading-tight sm:text-[34px]\",\"children\":\"This page doesn't exist\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[16px] leading-relaxed text-[#868E96]\",\"children\":\"The link may be broken or the page may have moved. Here are a few places to go instead.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col justify-center gap-3 sm:flex-row\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"inline-flex h-12 items-center justify-center gap-2 rounded-[12px] bg-white px-6 text-[16px] font-bold text-black transition-colors hover:bg-white/90\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-left \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 12l14 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M5 12l6 6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M5 12l6 -6\"}],\"$undefined\"]}],\"Back to home\"]}],[\"$\",\"$L5\",null,{\"href\":\"/projects\",\"className\":\"inline-flex h-12 items-center justify-center gap-2 rounded-[12px] border border-white/10 bg-[#0E1018] px-6 text-[16px] font-bold text-white transition-colors hover:bg-[#161a26]\",\"children\":[\"View projects\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}]]}]]}]]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"footer\",null,{\"className\":\"mx-auto mt-5 max-w-[1150px] xl:max-w-[1440px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid gap-8 sm:grid-cols-2 lg:grid-cols-[1.4fr_1fr_1fr_1fr]\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[18px] font-bold\",\"children\":\"Subhan Nadeem\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[340px] text-[14px] leading-relaxed text-[#868E96]\",\"children\":\"Senior full-stack engineer building solar racking configurators, business automation, management systems and AI agents.\"}],[\"$\",\"$L5\",null,{\"href\":\"https://wa.me/923057474003\",\"target\":\"_blank\",\"className\":\"mt-4 inline-flex h-10 items-center rounded-[10px] bg-white px-4 text-[14px] font-bold text-black transition-colors hover:bg-white/90\",\"children\":\"Start a project\"}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Services\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]\",\"children\":\"Services\"}],[\"$\",\"ul\",null,{\"className\":\"mt-3 flex flex-col gap-2\",\"children\":[[\"$\",\"li\",\"solar-racking-configurator\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/solar-racking-configurator\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"Solar racking configurators\"}]}],[\"$\",\"li\",\"business-automation\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/business-automation\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"Business automation\"}]}],[\"$\",\"li\",\"management-systems\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/management-systems\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"Management systems\"}]}],[\"$\",\"li\",\"ai-agents-chatbots\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/ai-agents-chatbots\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"AI agents \u0026 chatbots\"}]}]]}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Selected work\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]\",\"children\":\"Work\"}],[\"$\",\"ul\",null,{\"className\":\"mt-3 flex flex-col gap-2\",\"children\":[[[\"$\",\"li\",\"Ralux Solar\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/projects/ralux-solar-configurator\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"Ralux Solar Configurator\"}]}],[\"$\",\"li\",\"NatPower\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/projects/natpower-energy\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"NatPower Energy\"}]}],[\"$\",\"li\",\"OptionsSight\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/projects/optionssight-trading-dashboard\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"OptionsSight\"}]}],[\"$\",\"li\",\"Flowtopia\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/projects/flowtopia-options-analytics\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"Flowtopia\"}]}]],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/projects\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"All projects\"}]}]]}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Contact\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.14em] text-[#5C6670]\",\"children\":\"Contact\"}],[\"$\",\"ul\",null,{\"className\":\"mt-3 flex flex-col gap-2\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/about\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"About me\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white [overflow-wrap:anywhere]\",\"children\":\"[email protected]\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/in/subhan-nadeem-dev/\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"LinkedIn\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/subhannadeem1\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[14px] text-[#9AA3AD] transition-colors hover:text-white\",\"children\":\"GitHub\"}]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col gap-2 border-t border-white/[0.06] pt-5 text-[13px] text-[#5C6670] sm:flex-row sm:justify-between\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" \",\"Subhan Nadeem\",\". All rights reserved.\"]}],[\"$\",\"p\",null,{\"children\":\"Solar racking configurators · Automation · Management systems\"}]]}]]}]}]]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[[\"$\",\"script\",\"0\",{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$6\"}}],[\"$\",\"script\",\"1\",{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"@id\\\":\\\"https://subhan-dev-portfolio.vercel.app/#website\\\",\\\"url\\\":\\\"https://subhan-dev-portfolio.vercel.app\\\",\\\"name\\\":\\\"Subhan Nadeem\\\",\\\"description\\\":\\\"Portfolio of Subhan Nadeem: solar racking configurators, business automation, management systems and AI agents.\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Person\\\",\\\"@id\\\":\\\"https://subhan-dev-portfolio.vercel.app/#person\\\",\\\"name\\\":\\\"Subhan Nadeem\\\",\\\"url\\\":\\\"https://subhan-dev-portfolio.vercel.app\\\"},\\\"inLanguage\\\":\\\"en\\\"}\"}}]],[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-[1150px] flex-col gap-5 pt-6 xl:max-w-[1440px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid gap-5 lg:grid-cols-[minmax(0,356px)_1fr] xl:grid-cols-[400px_1fr]\",\"children\":[[\"$\",\"$L7\",null,{}],[\"$\",\"div\",null,{\"className\":\"relative flex flex-col overflow-hidden rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute -right-24 -top-24 h-72 w-72 rounded-full bg-[#48AEEF]/20 blur-3xl\"}],[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute -bottom-32 left-1/3 h-72 w-72 rounded-full bg-[#F7B500]/10 blur-3xl\"}],[\"$\",\"div\",null,{\"className\":\"relative flex flex-1 flex-col\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex w-fit items-center gap-2 rounded-full border border-white/10 bg-white/[0.03] px-3 py-1 text-[13px] font-medium text-[#A5B0BC]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"h-1.5 w-1.5 rounded-full bg-emerald-400\"}],\"Available for new projects\"]}],[\"$\",\"h1\",null,{\"className\":\"mt-5 max-w-[760px] text-[34px] font-bold leading-[1.1] tracking-tight sm:text-[44px] xl:text-[56px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":\"Subhan Nadeem, senior full-stack engineer: \"}],\"I build software \u0026 automations that\",\" \",[\"$\",\"span\",null,{\"className\":\"bg-gradient-to-r from-[#48AEEF] via-[#7CC8F5] to-[#F7B500] bg-clip-text text-transparent\",\"children\":\"run your business.\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-[640px] text-[16px] leading-relaxed text-[#868E96] md:text-[18px]\",\"children\":\"Senior full-stack engineer with 4+ years of shipping production systems: configurators, management platforms, AI agents and end-to-e
1nd workflow automation for companies in energy, solar, fintech and SaaS.\"}],[\"$\",\"div\",null,{\"className\":\"mb-9 mt-7 flex flex-col gap-3 sm:flex-row\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"https://wa.me/923057474003\",\"target\":\"_blank\",\"className\":\"group inline-flex h-12 items-center justify-center gap-2 rounded-[12px] bg-white px-6 text-[16px] font-bold text-black transition-colors hover:bg-white/90\",\"children\":[\"Book a free call\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"$L5\",null,{\"href\":\"#work\",\"className\":\"group inline-flex h-12 items-center justify-center gap-2 rounded-[12px] border border-white/10 bg-[#0E1018] px-6 text-[16px] font-bold text-white transition-colors hover:bg-[#161a26]\",\"children\":[\"See my work\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-down transition-transform group-hover:translate-y-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 5l0 14\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M18 13l-6 6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M6 13l6 6\"}],\"$undefined\"]}]]}]]}],[\"$\",\"dl\",null,{\"className\":\"mt-auto grid grid-cols-3 gap-3 border-t border-white/[0.06] pt-6\",\"children\":[[\"$\",\"div\",\"Years building production software\",{\"children\":[[\"$\",\"dt\",null,{\"className\":\"sr-only\",\"children\":\"Years building production software\"}],[\"$\",\"dd\",null,{\"className\":\"text-[28px] font-bold leading-none md:text-[36px]\",\"children\":\"4+\"}],[\"$\",\"dd\",null,{\"className\":\"mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]\",\"children\":\"Years building production software\"}]]}],[\"$\",\"div\",\"Products shipped for clients\",{\"children\":[[\"$\",\"dt\",null,{\"className\":\"sr-only\",\"children\":\"Products shipped for clients\"}],[\"$\",\"dd\",null,{\"className\":\"text-[28px] font-bold leading-none md:text-[36px]\",\"children\":\"20+\"}],[\"$\",\"dd\",null,{\"className\":\"mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]\",\"children\":\"Products shipped for clients\"}]]}],[\"$\",\"div\",\"From idea and design to deploy\",{\"children\":[[\"$\",\"dt\",null,{\"className\":\"sr-only\",\"children\":\"From idea and design to deploy\"}],[\"$\",\"dd\",null,{\"className\":\"text-[28px] font-bold leading-none md:text-[36px]\",\"children\":\"E2E\"}],[\"$\",\"dd\",null,{\"className\":\"mt-2 text-[13px] leading-snug text-[#868E96] md:text-[14px]\",\"children\":\"From idea and design to deploy\"}]]}]]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"@container rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-[22px] font-bold md:text-[25px]\",\"children\":\"Tech Stack\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-stack-3 text-[#48AEEF]\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 2l-8 4l8 4l8 -4l-8 -4\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4 10l8 4l8 -4\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M4 18l8 4l8 -4\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M4 14l8 4l8 -4\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-[15px] text-[#868E96]\",\"children\":\"The languages and tools I use to ship production systems.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 grid gap-x-8 gap-y-5 @lg:grid-cols-2 @4xl:grid-cols-3\",\"children\":[[\"$\",\"div\",\"Languages\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"Languages\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"TypeScript\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\"
1:16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#3178C6\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-typescript \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M15 17.5c.32 .32 .754 .5 1.207 .5h.543c.69 0 1.25 -.56 1.25 -1.25v-.25a1.5 1.5 0 0 0 -1.5 -1.5a1.5 1.5 0 0 1 -1.5 -1.5v-.25c0 -.69 .56 -1.25 1.25 -1.25h.543c.453 0 .887 .18 1.207 .5\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12h4\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M11 12v6\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M21 19v-14a2 2 0 0 0 -2 -2h-14a2 2 0 0 0 -2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2 -2z\"}],\"$undefined\"]}],\"TypeScript\"]}],[\"$\",\"li\",\"JavaScript\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#F7DF1E\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-javascript \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M20 4l-2 14.5l-6 2l-6 -2l-2 -14.5z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M7.5 8h3v8l-2 -1\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M16.5 8h-2.5a.5 .5 0 0 0 -.5 .5v3a.5 .5 0 0 0 .5 .5h1.423a.5 .5 0 0 1 .495 .57l-.418 2.93l-2 .5\"}],\"$undefined\"]}],\"JavaScript\"]}],[\"$\",\"li\",\"Python\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFD43B\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-python \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 9h-7a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h3\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M12 15h7a2 2 0 0 0 2 -2v-4a2 2 0 0 0 -2 -2h-3\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M8 9v-4a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v5a2 2 0 0 1 -2 2h-4a2 2 0 0 0 -2 2v5a2 2 0 0 0 2 2h4a2 2 0 0 0 2 -2v-4\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M11 6l0 .01\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M13 18l0 .01\"}],\"$undefined\"]}],\"Python\"]}],[\"$\",\"li\",\"SQL\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#A5B0BC\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-sql \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M17 8v8h4\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M13 15l1 1\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M3 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1\"}],\"$undefined\"]}],\"SQL\"]}]]}]]}],[\"$\",\"div\",\"Frontend\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"Frontend\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"React\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#61DBFB\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-react \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M6.306 8.711c-2.602 .723 -4.306 1.926 -4.306 3.289c0 2.21 4.477 4 10 4c.773 0 1.526 -.035 2.248 -.102\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M17.692 15.289c2.603 -.722 4.308 -1.926 4.308 -3.289c0 -2.21 -4.477 -4 -10 -4c-.773 0 -1.526 .035 -2.25 .102\"}
1],[\"$\",\"path\",\"svg-2\",{\"d\":\"M6.305 15.287c-.676 2.615 -.485 4.693 .695 5.373c1.913 1.105 5.703 -1.877 8.464 -6.66c.387 -.67 .733 -1.339 1.036 -2\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M17.694 8.716c.677 -2.616 .487 -4.696 -.694 -5.376c-1.913 -1.105 -5.703 1.877 -8.464 6.66c-.387 .67 -.733 1.34 -1.037 2\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M12 5.424c-1.925 -1.892 -3.82 -2.766 -5 -2.084c-1.913 1.104 -1.226 5.877 1.536 10.66c.386 .67 .793 1.304 1.212 1.896\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M12 18.574c1.926 1.893 3.821 2.768 5 2.086c1.913 -1.104 1.226 -5.877 -1.536 -10.66c-.375 -.65 -.78 -1.283 -1.212 -1.897\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M11.5 12.866a1 1 0 1 0 1 -1.732a1 1 0 0 0 -1 1.732z\"}],\"$undefined\"]}],\"React\"]}],[\"$\",\"li\",\"Next.js\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFFFFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-nextjs \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 15v-6l7.745 10.65a9 9 0 1 1 2.255 -1.993\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M15 12v-3\"}],\"$undefined\"]}],\"Next.js\"]}],[\"$\",\"li\",\"Tailwind CSS\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#38BDF8\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-tailwind \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M11.667 6c-2.49 0 -4.044 1.222 -4.667 3.667c.933 -1.223 2.023 -1.68 3.267 -1.375c.71 .174 1.217 .68 1.778 1.24c.916 .912 2 1.968 4.288 1.968c2.49 0 4.044 -1.222 4.667 -3.667c-.933 1.223 -2.023 1.68 -3.267 1.375c-.71 -.174 -1.217 -.68 -1.778 -1.24c-.916 -.912 -1.975 -1.968 -4.288 -1.968zm-4 6.5c-2.49 0 -4.044 1.222 -4.667 3.667c.933 -1.223 2.023 -1.68 3.267 -1.375c.71 .174 1.217 .68 1.778 1.24c.916 .912 1.975 1.968 4.288 1.968c2.49 0 4.044 -1.222 4.667 -3.667c-.933 1.223 -2.023 1.68 -3.267 1.375c-.71 -.174 -1.217 -.68 -1.778 -1.24c-.916 -.912 -1.975 -1.968 -4.288 -1.968z\"}],\"$undefined\"]}],\"Tailwind CSS\"]}],[\"$\",\"li\",\"Redux Toolkit\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#764ABC\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-redux \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M16.54 7c-.805 -2.365 -2.536 -4 -4.54 -4c-2.774 0 -5.023 2.632 -5.023 6.496c0 1.956 1.582 4.727 2.512 6\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4.711 11.979c-1.656 1.877 -2.214 4.185 -1.211 5.911c1.387 2.39 5.138 2.831 8.501 .9c1.703 -.979 2.875 -3.362 3.516 -4.798\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M15.014 19.99c2.511 0 4.523 -.438 5.487 -2.1c1.387 -2.39 -.215 -5.893 -3.579 -7.824c-1.702 -.979 -4.357 -1.235 -5.927 -1.07\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M10.493 9.862c.48 .276 1.095 .112 1.372 -.366a1 1 0 0 0 -.367 -1.365a1.007 1.007 0 0 0 -1.373 .366a1 1 0 0 0 .368 1.365z\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M9.5 15.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M15.5 14m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"}],\"$undefined\"]}],\"Redux Toolkit\"]}],[\"$\",\"li\",\"shadcn/ui\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\"
1:16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFFFFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-code-circle-2 \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M8.5 13.5l-1.5 -1.5l1.5 -1.5\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M15.5 10.5l1.5 1.5l-1.5 1.5\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M13 9.5l-2 5.5\"}],\"$undefined\"]}],\"shadcn/ui\"]}]]}]]}],[\"$\",\"div\",\"Backend \u0026 APIs\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"Backend \u0026 APIs\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"Node.js\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#539E43\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-nodejs \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 9v8.044a2 2 0 0 1 -2.996 1.734l-1.568 -.9a3 3 0 0 1 -1.436 -2.561v-6.635a3 3 0 0 1 1.436 -2.56l6 -3.667a3 3 0 0 1 3.128 0l6 3.667a3 3 0 0 1 1.436 2.561v6.634a3 3 0 0 1 -1.436 2.56l-6 3.667a3 3 0 0 1 -3.128 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M17 9h-3.5a1.5 1.5 0 0 0 0 3h2a1.5 1.5 0 0 1 0 3h-3.5\"}],\"$undefined\"]}],\"Node.js\"]}],[\"$\",\"li\",\"REST APIs\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#48AEEF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-api \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 13h5\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M12 16v-8h3a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-3\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M20 8v8\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M9 16v-5.5a2.5 2.5 0 0 0 -5 0v5.5\"}],\"$undefined\"]}],\"REST APIs\"]}],[\"$\",\"li\",\"Webhooks\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#F7B500\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-webhook \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4.876 13.61a4 4 0 1 0 6.124 3.39h6\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5\"}],\"$undefined\"]}],\"Webhooks\"]}],[\"$\",\"li\",\"Stripe\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#635BFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-stripe \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M11.453 8.056c0 -.623 .518 -.979 1.442 -.979c1.69 0 3.41 .343 4.605 .923l.5 -4c-.948 -.449 -2.82 -1 -5.5 -1c-1.895 0 -3.373 .087 -4.5 1c-1.172 .956 -2 2.33 -2 4c0 3.03 1.958 4.906 5 6c1.961 .69 3 .743 3 1.5c0 .735 -.851 1.5 -2 1.5c-1.423 0 -3.963 -.609 -5.5 -1.5l-.5 4c1.321 .734 3.474 1.5 6 1.5c2 0 3.957 -.468 5.084 -1.36c1.263 -.979 1.916 -2.268 1.916 -4.14c0 -3.096 -1.915 -4.547 -5 -5.637c-1.646 
1-.605 -2.544 -1.07 -2.544 -1.807z\"}],\"$undefined\"]}],\"Stripe\"]}]]}]]}],[\"$\",\"div\",\"Data\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"Data\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"PostgreSQL\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#699ECA\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-database \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 6m-8 0a8 3 0 1 0 16 0a8 3 0 1 0 -16 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4 6v6a8 3 0 0 0 16 0v-6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M4 12v6a8 3 0 0 0 16 0v-6\"}],\"$undefined\"]}],\"PostgreSQL\"]}],[\"$\",\"li\",\"Supabase\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#3ECF8E\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-supabase \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 14h8v7l8 -11h-8v-7z\"}],\"$undefined\"]}],\"Supabase\"]}],[\"$\",\"li\",\"MongoDB\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#47A248\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-mongodb \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 3v19\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M18 11.227c0 3.273 -1.812 4.77 -6 9.273c-4.188 -4.503 -6 -6 -6 -9.273c0 -4.454 3.071 -6.927 6 -9.227c2.929 2.3 6 4.773 6 9.227z\"}],\"$undefined\"]}],\"MongoDB\"]}],[\"$\",\"li\",\"Vector DBs\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#C084FC\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-topology-star-3 \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M10 19a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M18 5a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M10 5a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M6 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M18 19a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M14 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M22 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z\"}],[\"$\",\"path\",\"svg-7\",{\"d\":\"M6 12h4\"}],[\"$\",\"path\",\"svg-8\",{\"d\":\"M14 12h4\"}],[\"$\",\"path\",\"svg-9\",{\"d\":\"M15 7l-2 3\"}],[\"$\",\"path\",\"svg-10\",{\"d\":\"M9 7l2 3\"}],[\"$\",\"path\",\"svg-11\",{\"d\":\"M11 14l-2 3\"}],[\"$\",\"path\",\"svg-12\",{\"d\":\"M13 14l2 3\"}],\"$undefined\"]}],\"Vector DBs\"]}]]}]]}],[\"$\",\"div\",\"AI \u0026 Automation\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"AI \u0026 Automation\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"OpenAI API\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\"
1:16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#10A37F\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-openai \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M11.217 19.384a3.501 3.501 0 0 0 6.783 -1.217v-5.167l-6 -3.35\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M5.214 15.014a3.501 3.501 0 0 0 4.446 5.266l4.34 -2.534v-6.946\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M6 7.63c-1.391 -.236 -2.787 .395 -3.534 1.689a3.474 3.474 0 0 0 1.271 4.745l4.263 2.514l6 -3.348\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M12.783 4.616a3.501 3.501 0 0 0 -6.783 1.217v5.067l6 3.45\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M18.786 8.986a3.501 3.501 0 0 0 -4.446 -5.266l-4.34 2.534v6.946\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M18 16.302c1.391 .236 2.787 -.395 3.534 -1.689a3.474 3.474 0 0 0 -1.271 -4.745l-4.308 -2.514l-5.955 3.42\"}],\"$undefined\"]}],\"OpenAI API\"]}],[\"$\",\"li\",\"LangChain\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#F7B500\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-sparkles \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z\"}],\"$undefined\"]}],\"LangChain\"]}],[\"$\",\"li\",\"Vercel AI SDK\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFFFFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-sparkles \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2zm-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6z\"}],\"$undefined\"]}],\"Vercel AI SDK\"]}],[\"$\",\"li\",\"AI Agents\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#48AEEF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-robot \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M6 4m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M12 2v2\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M9 12v9\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M15 12v9\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M5 16l4 -2\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M15 14l4 2\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M9 18h6\"}],[\"$\",\"path\",\"svg-7\",{\"d\":\"M10 8v.01\"}],[\"$\",\"path\",\"svg-8\",{\"d\":\"M14 8v.01\"}],\"$undefined\"]}],\"AI Agents\"]}]]}]]}],[\"$\",\"div\",\"Cloud \u0026 DevOps\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-[12px] font-semibold uppercase tracking-[0.12em] text-[#5C6670]\",\"children\":\"Cloud \u0026 DevOps\"}],[\"$\",\"ul\",null,{\"className\":\"mt-2.5 flex flex-wrap gap-2\",\"children\":[[\"$\",\"li\",\"AWS\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\"
1:16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FF9900\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-aws \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 18.5a15.198 15.198 0 0 1 -7.37 1.44a14.62 14.62 0 0 1 -6.63 -2.94\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M19.5 21c.907 -1.411 1.451 -3.323 1.5 -5c-1.197 -.773 -2.577 -.935 -4 -1\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M3 11v-4.5a1.5 1.5 0 0 1 3 0v4.5\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M3 9h3\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M9 5l1.2 6l1.8 -4l1.8 4l1.2 -6\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M18 10.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75\"}],\"$undefined\"]}],\"AWS\"]}],[\"$\",\"li\",\"Vercel\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFFFFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-vercel \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M3 19h18l-9 -15z\"}],\"$undefined\"]}],\"Vercel\"]}],[\"$\",\"li\",\"Docker\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#2496ED\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-docker \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M22 12.54c-1.804 -.345 -2.701 -1.08 -3.523 -2.94c-.487 .696 -1.102 1.568 -.92 2.4c.028 .238 -.32 1 -.557 1h-14c0 5.208 3.164 7 6.196 7c4.124 .022 7.828 -1.376 9.854 -5c1.146 -.101 2.296 -1.505 2.95 -2.46z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M5 10h3v3h-3z\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M8 10h3v3h-3z\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M11 10h3v3h-3z\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M8 7h3v3h-3z\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M11 7h3v3h-3z\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M11 4h3v3h-3z\"}],[\"$\",\"path\",\"svg-7\",{\"d\":\"M4.571 18c1.5 0 2.047 -.074 2.958 -.78\"}],[\"$\",\"path\",\"svg-8\",{\"d\":\"M10 16l0 .01\"}],\"$undefined\"]}],\"Docker\"]}],[\"$\",\"li\",\"GitHub\",{\"className\":\"inline-flex items-center gap-1.5 rounded-[8px] border border-white/[0.06] bg-[#0E1018] px-2.5 py-1.5 text-[14px] font-medium text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"#FFFFFF\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-github \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5\"}],\"$undefined\"]}],\"GitHub\"]}]]}]]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4 md:flex-row md:items-end md:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]\",\"children\":\"Experience\"}],[\"$\",\"h2\",null,{\"className\":\"mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]\",\"children\":\"Companies I've built for\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16
1px]\",\"children\":\"Production systems for companies in energy, solar, fintech and SaaS.\"}]]}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"mt-8 grid gap-4 sm:grid-cols-2 xl:grid-cols-4\",\"children\":[[\"$\",\"$L5\",\"Ralux Solar\",{\"href\":\"/projects/ralux-solar-configurator\",\"className\":\"group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white\",\"children\":\"RS\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[18px] font-bold\",\"children\":\"Ralux Solar\"}],[\"$\",\"span\",null,{\"className\":\"mt-0.5 text-[13px] font-medium text-[#48AEEF]\",\"children\":\"Solar mounting systems\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[14px] leading-relaxed text-[#868E96]\",\"children\":\"Configurator with structural load engine, map-based layouts, auto BOM and admin panel.\"}]]}],[\"$\",\"$L5\",\"NatPower Energy\",{\"href\":\"/projects/natpower-energy\",\"className\":\"group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white\",\"children\":\"NE\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[18px] font-bold\",\"children\":\"NatPower Energy\"}],[\"$\",\"span\",null,{\"className\":\"mt-0.5 text-[13px] font-medium text-[#48AEEF]\",\"children\":\"Energy · UK\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[14px] leading-relaxed text-[#868E96]\",\"children\":\"Animated energy-park platform with Mapbox and fully dynamic content.\"}]]}],[\"$\",\"$L5\",\"OptionsSight\",{\"href\":\"/projects/optionssight-trading-dashboard\",\"className\":\"group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white\",\"children\":\"O\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[18px] font-bold\",\"children\":\"OptionsSight\"}],[\"$\",\"span\",null,{\"className\":\"mt-0.5 text-[13px] font-medium text-[#48AEEF]\",\"children\":\"Fintech · Trading\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[14px] leading-relaxed text-[#868E96]\",\"children\":\"Options-flow dashboard, drag-and-drop widgets and a token-based design system.\"}]]}],[\"$\",\"$L5\",\"Flowtopia\",{\"href\":\"/projects/flowtopia-options-analytics\",\"className\":\"group flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors hover:border-white/15 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-gradient-to-br from-[#48AEEF]/25 to-[#48AEEF]/5 text-[17px] font-bold text-white\",\"children\":\"F\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\"
1:18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right text-[#5C6670] transition-all group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-white\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[18px] font-bold\",\"children\":\"Flowtopia\"}],[\"$\",\"span\",null,{\"className\":\"mt-0.5 text-[13px] font-medium text-[#48AEEF]\",\"children\":\"Fintech · Trading\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[14px] leading-relaxed text-[#868E96]\",\"children\":\"Options analytics platform with live data, notifications and an AI trading bot.\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"relative mt-6 overflow-hidden [mask-image:linear-gradient(to_right,transparent,black_10%,black_90%,transparent)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex w-max animate-marquee py-2 hover:[animation-play-state:paused]\",\"children\":[[\"$\",\"span\",\"The Hockey Review-0\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"The Hockey Review\"}],[\"$\",\"span\",\"Alpha Padel-1\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Alpha Padel\"}],[\"$\",\"span\",\"Pod Transcripts-2\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Pod Transcripts\"}],[\"$\",\"span\",\"Sora AI-3\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Sora AI\"}],[\"$\",\"span\",\"GemHunters-4\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"GemHunters\"}],[\"$\",\"span\",\"Mocha Coin-5\",{\"aria-hidden\":false,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Mocha Coin\"}],[\"$\",\"span\",\"The Hockey Review-6\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"The Hockey Review\"}],[\"$\",\"span\",\"Alpha Padel-7\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Alpha Padel\"}],[\"$\",\"span\",\"Pod Transcripts-8\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Pod Transcripts\"}],[\"$\",\"span\",\"Sora AI-9\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Sora AI\"}],[\"$\",\"span\",\"GemHunters-10\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"GemHunters\"}],[\"$\",\"span\",\"Mocha Coin-11\",{\"aria-hidden\":true,\"className\":\"whitespace-nowrap pr-10 text-[18px] font-bold text-[#3A424B]\",\"children\":\"Mocha Coin\"}]]}]}]]}],[\"$\",\"section\",null,{\"id\":\"services\",\"className\":\"scroll-mt-32 rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4 md:flex-row md:items-end md:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]\",\"children\":\"Services\"}],[\"$\",\"h2\",null,{\"className\":\"mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]\",\"children\":\"What I build for businesses\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16px]\",\"children\":\"Custom software that removes manual work, from a single automation to a complete system your whole team runs on.\"}]]}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"mt-8 grid gap-4 md:grid-cols-2 xl:grid-cols-3\",\"children\":[[\"$\",\"article\",\"automation\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-automation \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M13 20.693c-.905 .628 -2.36 .292 -2.675 -1.01a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.492 .362 1.716 2.219 .674 3.03\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M17 22l5 -3l-5 -3z\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/business-automation\",\"className\":\"after:absolute after:inset-0 after:content-['']\",\"children\":\"Business Process Automation\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"I map how work moves through your company, then replace the manual steps with systems that run on their own.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"Quotes, approvals \u0026 data entry\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Quotes, approvals \u0026 data entry\"]}],[\"$\",\"li\",\"Tool \u0026 API integrations\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Tool \u0026 API integrations\"]}],[\"$\",\"li\",\"Auto emails, reports \u0026 alerts\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Auto emails, reports \u0026 alerts\"]}]]}],[\"$\",\"span\",null,{\"className\":\"mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85\",\"children\":[\"Learn more\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 12l14 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M13 18l6 -6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M13 6l6 6\"}],\"$undefined\"]}]]}]]}],[\"$\",\"article\",\"configurator\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-calculator \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 3m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M8 14l0 .01\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M12 14l0 .01\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M16 14l0 .01\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M8 17l0 .01\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M12 17l0 .01\"}],[\"$\",\"path\",\"svg-7\",{\"d\":\"M16 17l0 .01\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/solar-racking-configurator\",\"className\":\"after:absolute after:inset-0 after:content-['']\",\"children\":\"Configurators \u0026 Quoting Engines\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Product configurators with a real calculation engine behind them: rules, engineering formulas, pricing and BOM.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"Rule \u0026 formula engines\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Rule \u0026 formula engines\"]}],[\"$\",\"li\",\"Instant BOM \u0026 pricing\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Instant BOM \u0026 pricing\"]}],[\"$\",\"li\",\"Map / 2D / 3D design tools\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Map / 2D / 3D design tools\"]}]]}],[\"$\",\"span\",null,{\"className\":\"mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85\",\"children\":[\"Learn more\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 12l14 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M13 18l6 -6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M13 6l6 6\"}],\"$undefined\"]}]]}]]}],[\"$\",\"article\",\"management\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-layout-dashboard \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/management-systems\",\"className\":\"after:absolute after:inset-0 after:content-['']\",\"children\":\"Management Systems\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Custom CRMs, order, inventory and project systems with admin panels, built around your workflow.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"Role-based admin panels\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Role-based admin panels\"]}],[\"$\",\"li\",\"Orders, stock \u0026 customers\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Orders, stock \u0026 customers\"]}],[\"$\",\"li\",\"One source of truth\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"One source of truth\"]}]]}],[\"$\",\"span\",null,{\"className\":\"mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85\",\"children\":[\"Learn more\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 12l14 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M13 18l6 -6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M13 6l6 6\"}],\"$undefined\"]}]]}]]}],[\"$\",\"article\",\"ai\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-robot \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M6 4m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M12 2v2\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M9 12v9\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M15 12v9\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M5 16l4 -2\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M15 14l4 2\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M9 18h6\"}],[\"$\",\"path\",\"svg-7\",{\"d\":\"M10 8v.01\"}],[\"$\",\"path\",\"svg-8\",{\"d\":\"M14 8v.01\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":[\"$\",\"$L5\",null,{\"href\":\"/services/ai-agents-chatbots\",\"className\":\"after:absolute after:inset-0 after:content-['']\",\"children\":\"AI Agents \u0026 Chatbots\"}]}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Assistants trained on your own documents and data that answer customers, qualify leads and do the busywork.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"RAG on your documents\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"RAG on your documents\"]}],[\"$\",\"li\",\"Lead-qualifying bots\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Lead-qualifying bots\"]}],[\"$\",\"li\",\"AI features in your product\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"AI features in your product\"]}]]}],[\"$\",\"span\",null,{\"className\":\"mt-auto inline-flex items-center gap-1.5 pt-5 text-[14px] font-semibold text-white/85\",\"children\":[\"Learn more\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-right text-[#48AEEF] transition-transform group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 12l14 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M13 18l6 -6\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M13 6l6 6\"}],\"$undefined\"]}]]}]]}],[\"$\",\"article\",\"saas\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-apps \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M14 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M14 7l6 0\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M17 4l0 6\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":\"SaaS \u0026 Web Applications\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Full-stack products from authentication and payments to multi-user dashboards, shipped to production.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"Auth, roles \u0026 billing\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Auth, roles \u0026 billing\"]}],[\"$\",\"li\",\"Scalable Next.js + Node\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Scalable Next.js + Node\"]}],[\"$\",\"li\",\"Pixel-perfect from Figma\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Pixel-perfect from Figma\"]}]]}],\"$undefined\"]}],[\"$\",\"article\",\"dashboards\",{\"className\":\"group relative flex flex-col rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 transition-colors sm:p-6 hover:border-[#48AEEF]/30 hover:bg-[#111521]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex h-11 w-11 items-center justify-center rounded-[12px] bg-[#48AEEF]/10 text-[#48AEEF] transition-colors group-hover:bg-[#48AEEF]/20\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"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\":\"tabler-icon tabler-icon-chart-dots-3 \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M5 7m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M16 15m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M18 6m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M6 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M9 17l5 -1.5\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M6.5 8.5l7.81 5.37\"}],[\"$\",\"path\",\"svg-6\",{\"d\":\"M7 7l8 -1\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mt-5 text-[19px] font-bold\",\"children\":\"Dashboards \u0026 Data Visualization\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Real-time dashboards, analytics, charts and map-based interfaces that turn raw data into decisions.\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2\",\"children\":[[\"$\",\"li\",\"Live charts \u0026 heatmaps\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\"
1:16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Live charts \u0026 heatmaps\"]}],[\"$\",\"li\",\"Maps \u0026 geo data\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"Maps \u0026 geo data\"]}],[\"$\",\"li\",\"KPI \u0026 reporting views\",{\"className\":\"flex items-center gap-2 text-[14px] text-[#C9D1D9]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":16,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-circle-check shrink-0 text-emerald-400\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 12l2 2l4 -4\"}],\"$undefined\"]}],\"KPI \u0026 reporting views\"]}]]}],\"$undefined\"]}]]}],[\"$\",\"div\",null,{\"className\":\"relative mt-4 overflow-hidden rounded-[16px] border border-[#F7B500]/20 bg-gradient-to-br from-[#1a1508] via-[#0E1018] to-[#0E1018] p-5 md:p-8\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute -right-20 -top-20 h-64 w-64 rounded-full bg-[#F7B500]/15 blur-3xl\"}],[\"$\",\"div\",null,{\"className\":\"relative grid items-center gap-6 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] lg:gap-10\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-2 text-[13px] font-semibold uppercase tracking-[0.14em] text-[#F7B500]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":18,\"height\":18,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-solar-panel \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M4.28 14h15.44a1 1 0 0 0 .97 -1.243l-1.5 -6a1 1 0 0 0 -.97 -.757h-12.44a1 1 0 0 0 -.97 .757l-1.5 6a1 1 0 0 0 .97 1.243z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M4 10h16\"}],[\"$\",\"path\",\"svg-2\",{\"d\":\"M10 6l-1 8\"}],[\"$\",\"path\",\"svg-3\",{\"d\":\"M14 6l1 8\"}],[\"$\",\"path\",\"svg-4\",{\"d\":\"M12 14v4\"}],[\"$\",\"path\",\"svg-5\",{\"d\":\"M7 18h10\"}],\"$undefined\"]}],\"Industry focus\"]}],[\"$\",\"h3\",null,{\"className\":\"mt-3 text-[24px] font-bold leading-tight md:text-[30px]\",\"children\":[\"Solar \u0026 racking companies\",[\"$\",\"span\",null,{\"className\":\"block text-[17px] font-semibold text-white/80 md:text-[18px]\",\"children\":\"Your whole sales-to-install flow, automated.\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-[15px] leading-relaxed text-[#868E96]\",\"children\":[\"I've built mounting-system configurators with country-specific structural load engines covering 20+ systems, map-based panel layouts and instant BOM generation. Now I help installer
1s and racking manufacturers automate everything around it.\",\" \",[\"$\",\"$L5\",null,{\"href\":\"/services/solar-racking-configurator\",\"className\":\"whitespace-nowrap font-semibold text-[#F7B500] hover:underline\",\"children\":\"How I build them →\"}]]}],[\"$\",\"ol\",null,{\"className\":\"mt-5 grid grid-cols-2 gap-2 sm:flex sm:flex-wrap sm:items-center\",\"children\":[[\"$\",\"li\",\"Site on map\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"01\"}],\"Site on map\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 6l6 6l-6 6\"}],\"$undefined\"]}]]}],[\"$\",\"li\",\"Panel layout\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"02\"}],\"Panel layout\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 6l6 6l-6 6\"}],\"$undefined\"]}]]}],[\"$\",\"li\",\"Structural calc\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"03\"}],\"Structural calc\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 6l6 6l-6 6\"}],\"$undefined\"]}]]}],[\"$\",\"li\",\"BOM \u0026 pricing\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"04\"}],\"BOM \u0026 pricing\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\":14,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 6l6 6l-6 6\"}],\"$undefined\"]}]]}],[\"$\",\"li\",\"Quote\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"05\"}],\"Quote\"]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":14,\"height\"
1:14,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-chevron-right hidden shrink-0 text-[#5C6670] sm:block\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M9 6l6 6l-6 6\"}],\"$undefined\"]}]]}],[\"$\",\"li\",\"Orders \u0026 admin\",{\"className\":\"flex min-w-0 items-center gap-1.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex w-full items-center gap-2 rounded-[10px] border border-white/10 bg-black/60 px-2.5 py-1.5 text-[13px] font-medium sm:inline-flex sm:w-auto\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[11px] font-bold text-[#F7B500]\",\"children\":\"06\"}],\"Orders \u0026 admin\"]}],false]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-6 flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4 lg:flex-col lg:items-start xl:flex-row xl:items-center\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"https://wa.me/923057474003\",\"target\":\"_blank\",\"className\":\"group flex h-11 w-full shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[12px] bg-[#F7B500] px-5 text-[15px] font-bold text-black transition-colors hover:bg-[#ffc526] sm:inline-flex sm:w-auto\",\"children\":[\"Automate my solar business\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":17,\"height\":17,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-[13px] leading-snug text-[#868E96]\",\"children\":\"Not in solar? Same approach works for any team still running on spreadsheets.\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto hidden w-full max-w-[380px] lg:block\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute inset-x-8 bottom-2 h-10 rounded-full bg-[#F7B500]/20 blur-2xl\"}],[\"$\",\"$L8\",null,{\"src\":\"/projects/ralux-solar.png\",\"alt\":\"3D model of a house with a solar mounting system being installed on the roof\",\"width\":1080,\"height\":903,\"sizes\":\"380px\",\"className\":\"relative h-auto w-full drop-shadow-[0_20px_30px_rgba(0,0,0,0.5)]\"}]]}]]}]]}]]}],[\"$\",\"div\",null,{\"id\":\"work\",\"className\":\"scroll-mt-32\",\"children\":[\"$\",\"$9\",null,{\"fallback\":null,\"children\":[\"$\",\"$La\",null,{}]}]}],[\"$\",\"section\",null,{\"className\":\"rounded-[20px] border border-white/[0.06] bg-black p-5 sm:p-6 md:p-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4 md:flex-row md:items-end md:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13px] font-semibold uppercase tracking-[0.14em] text-[#48AEEF]\",\"children\":\"How I work\"}],[\"$\",\"h2\",null,{\"className\":\"mt-2 text-[26px] font-bold leading-tight tracking-tight md:text-[34px]\",\"children\":\"From manual process to automated system\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[620px] text-[15px] leading-relaxed text-[#868E96] md:text-[16px]\",\"children\":\"A clear, milestone-based process, so you always know what's being built and when.\"}]]}],\"$undefined\"]}],[\"$\",\"ol\",null,{\"className\":\"mt-8 grid gap-4 sm:grid-cols-2 xl:grid-cols-4\",\"children\":[[\"$\",\"li\",\"01\",{\"className\":\"relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]\",\"children\":\"01\"}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[19px] font-bold\",\"children\":\"Discover\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"We walk through your current workflow, tools and bottlenecks, including every manual step.\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block\"}]]}],[\"$\",\"li\",\"02\",{\"className\":\"relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]\",\"children\":\"02\"}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[19px] font-bold\",\"children\":\"Blueprint\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"I map the automated flow, data model and scope, split into clear milestones.\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block\"}]]}],[\"$\",\"li\",\"03\",{\"className\":\"relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]\",\"children\":\"03\"}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[19px] font-bold\",\"children\":\"Build\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Weekly demos you can click through, integrated 
1with the tools you already use.\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"absolute right-[-13px] top-1/2 z-10 hidden h-px w-[22px] bg-gradient-to-r from-[#48AEEF]/60 to-transparent xl:block\"}]]}],[\"$\",\"li\",\"04\",{\"className\":\"relative rounded-[16px] border border-white/[0.06] bg-[#0E1018] p-5 sm:p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[40px] font-bold leading-none text-transparent [-webkit-text-stroke:1px_#48AEEF]\",\"children\":\"04\"}],[\"$\",\"h3\",null,{\"className\":\"mt-4 text-[19px] font-bold\",\"children\":\"Launch \u0026 support\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-[15px] leading-relaxed text-[#868E96]\",\"children\":\"Deploy, onboard your team and keep improving as the business grows.\"}],false]}]]}]]}],[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden rounded-[20px] border border-white/[0.06] bg-black p-6 text-center sm:p-8 md:p-14\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":true,\"className\":\"pointer-events-none absolute left-1/2 top-0 h-64 w-[600px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-[#48AEEF]/20 blur-3xl\"}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto max-w-[720px]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-[28px] font-bold leading-tight tracking-tight md:text-[40px]\",\"children\":\"Still running on spreadsheets, emails and copy-paste?\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-[16px] leading-relaxed text-[#868E96] md:text-[18px]\",\"children\":\"Tell me how your team works today and I'll show you what can be automated.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-col justify-center gap-3 sm:flex-row\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"https://wa.me/923057474003\",\"target\":\"_blank\",\"className\":\"group inline-flex h-12 shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-[12px] bg-white px-6 text-[16px] font-bold text-black transition-colors hover:bg-white/90\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":20,\"height\":20,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-brand-whatsapp \",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1\"}],\"$undefined\"]}],\"Chat on WhatsApp\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":17,\"height\":17,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-arrow-up-right transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M17 7l-10 10\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M8 7l9 0l0 9\"}],\"$undefined\"]}]]}],[\"$\",\"$L5\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"inline-flex min-h-12 min-w-0 items-center justify-center gap-2 rounded-[12px] py-2 sm:shrink-0 border border-white/10 bg-[#0E1018] px-3 text-[13px] min-[360px]:px-4 min-[360px]:text-[14px] font-bold text-white transition-colors hover:bg-[#161a26] sm:px-6 sm:text-[16px]\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":20,\"height\":20,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"tabler-icon tabler-icon-mail shrink-0\",\"children\":[\"$undefined\",[\"$\",\"path\",\"svg-0\",{\"d\":\"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z\"}],[\"$\",\"path\",\"svg-1\",{\"d\":\"M3 7l9 6l9 -6\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"text-left [overflow-wrap:anywhere]\",\"children\":\"[email protected]\"}]]}]]}]]}]]}]]}]],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d3062ea4b2f67bd6.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/84bc9a0a8020862f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",\"$Ld\",[\"$\",\"$Le\",null,{\"promise\":\"$@f\"}]]}]]}],{}
1,null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"K0d0umjmUSz-1coSSTcftv\",{\"children\":[[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],[\"$\",\"$L12\",null,{\"children\":\"$L13\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"15:I[2541,[\"/_next/static/chunks/db82e13da606b56d.js\",\"/_next/static/chunks/0f63189634a29548.js\"],\"AsyncMetadata\"]\n13:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$9\",null,{\"fallback\":null,\"children\":[\"$\",\"$L15\",null,{\"promise\":\"$@16\"}]}]}]\nd:null\n"])</script>
1<script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script>
1<script>self.__next_f.push([1,"f:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Subhan Nadeem — Senior Full-Stack Engineer \u0026 Automation Developer\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Subhan Nadeem is a senior full-stack engineer building solar racking configurators, business automation, management systems and AI agents.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"author\",\"href\":\"https://subhan-dev-portfolio.vercel.app\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"Subhan Nadeem\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"Subhan Nadeem,Senior Full-Stack Engineer,Solar Racking Configurator Developer,Solar Mounting System Configurator,Ralux Solar Configurator,3D Solar Configurator,Solar BOM Software,Business Process Automation,Workflow Automation Developer,Product Configurator Developer,Solar Configurator Software,Custom Management System,Software Engineer,Web Developer,Software Developer,Full-Stack Developer,React Developer,Next.js Developer,Node.js Developer,MERN Stack Developer,AI chatbot developer,Software Engineer Pakistan\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"Subhan Nadeem\"}],[\"$\",\"meta\",\"6\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"7\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"8\",{\"rel\":\"canonical\",\"href\":\"https://subhan-dev-portfolio.vercel.app\"}],[\"$\",\"meta\",\"9\",{\"name\":\"google-site-verification\",\"content\":\"RQ7rc_JdxMtRkdDjtfQArVibQF9qDzetJVvNJXIdyP4\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Subhan Nadeem — Senior Full-Stack Engineer \u0026 Automation Developer\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"I build software and automations that run your business: configurators, management systems and AI agents.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://subhan-dev-portfolio.vercel.app\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"Subhan Nadeem\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image\",\"content\":\"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:width\",\"content\":\"928\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image:height\",\"content\":\"1120\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:alt\",\"content\":\"Subhan Nadeem — Senior Full-Stack Engineer \u0026 Automation Developer\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:title\",\"content\":\"Subhan Nadeem — Senior Full-Stack Engineer \u0026 Automation Developer\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:description\",\"content\":\"I build software and automations that run your business: configurators, management systems and AI agents.\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image\",\"content\":\"https://subhan-dev-portfolio.vercel.app/subhan-nadeem.png\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.1064551c.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
1<script>self.__next_f.push([1,"16:{\"metadata\":\"$f:metadata\",\"error\":null,\"digest\":\"$undefined\"}\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.