1<!DOCTYPE html><html class="2xl:text-[20px]" dir="ltr" lang="en"><head><meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><link href="/sitemap-index.xml" rel="sitemap"><link href="/_astro/favicon.DKl5JFfQ.ico" rel="shortcut icon"><link href="/_astro/favicon.DuXcTq9k.svg" rel="icon" type="image/svg+xml"><link href="/_astro/favicon.DuXcTq9k.svg" rel="mask-icon" color="#8D46E7"><link href="/_astro/apple-touch-icon.DbClAM0W.png" rel="apple-touch-icon" sizes="180x180"><style is:global>:root{--aw-font-sans:'Inter Variable';--aw-font-serif:var(--aw-font-sans);--aw-font-heading:var(--aw-font-sans);--aw-color-primary:rgb(30 64 175);--aw-color-secondary:rgb(30 58 138);--aw-color-accent:rgb(109 40 217);--aw-color-text-heading:rgb(0 0 0);--aw-color-text-default:rgb(16 16 16);--aw-color-text-muted:rgb(16 16 16 / 66%);--aw-color-bg-page:rgb(255 255 255);--aw-color-bg-page-dark:rgb(3 6 32)}.dark{--aw-font-sans:'Inter Variable';--aw-font-serif:var(--aw-font-sans);--aw-font-heading:var(--aw-font-sans);--aw-color-primary:rgb(30 64 175);--aw-color-secondary:rgb(30 58 138);--aw-color-accent:rgb(109 40 217);--aw-color-text-heading:rgb(0 0 0);--aw-color-text-default:rgb(229 236 246);--aw-color-text-muted:rgb(229 236 246 / 66%);--aw-color-bg-page:var(--aw-color-bg-page-dark)}</style>
1<script>!function(){const e="light:only";function t(e){"dark"===e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");const t=document.querySelectorAll("[data-aw-toggle-color-scheme] > input");t&&t.length&&t.forEach((t=>{t.checked="dark"!==e}))}e&&e.endsWith(":only")||!localStorage.theme?t(e.replace(":only","")):"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):t("light")}()</script>
1<title>Products â CodeAddon</title><meta content="ð CodeAddon is a blog about web development, programming, and technology. Learn to code, build websites, and create web applications." name="description"/><meta content="index,follow" name="robots"/><link href="https://codeaddon.com/products" rel="canonical"/><meta content="Products" property="og:title"/><meta content="ð CodeAddon is a blog about web development, programming, and technology. Learn to code, build websites, and create web applications." property="og:description"/><meta content="https://codeaddon.com/products" property="og:url"/><meta content="website" property="og:type"/><meta content="https://codeaddon.com/_astro/default.BOHV0qv1_aJquC.webp" property="og:image"/><meta content="en" property="og:locale"/><meta content="CodeAddon" property="og:site_name"/><meta content="summary_large_image" name="twitter:card"/><meta content="@kalpasuraweera" name="twitter:site"/><meta content="@kalpasuraweera" name="twitter:creator"/><meta content="orcPxI47GSa-cRvY11tUe6iGg2IO_RPvnA1q95iEM3M" name="google-site-verification">
vendor: 85 bytes, line 1
1<script type="text/partytown" async src="https://www.googletagmanager.com/gtag/js?id=
1G-CX42JGVMGY
vendor: 11 bytes, line 1
1"></script>
1<script type="text/partytown">(function(){const id = "G-CX42JGVMGY"; 2 3 window.dataLayer = window.dataLayer || []; 4 function gtag() { 5 window.dataLayer.push(arguments); 6 } 7 gtag("js", new Date()); 8 gtag("config", id); 9})();</script>
9<link href="/_astro/click-through.BtxVQIVn.css" rel="stylesheet"/>
9<script>!function(t,e,n,r){(window.crossOriginIsolated||navigator.serviceWorker)&&((r=t[e]=Object.assign(t[e]||{},{lib:"/~partytown/",debug:!1}))[n]=(r[n]||[]).concat(["dataLayer.push"]))}(window,"partytown","forward"),function(t,e,n,r,i,o,a,s,d,c,l,p){function u(){p||(p=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(d=e.querySelectorAll('script[type="text/partytown"]'),r!=t?r.dispatchEvent(new CustomEvent("pt1",{detail:t})):(s=setTimeout(f,1e4),e.addEventListener("pt0",y),i?w(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?w():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&w()}))}),console.error):f())))}function w(t){c=e.createElement(t?"script":"iframe"),t||(c.style.display="block",c.style.width="0",c.style.height="0",c.style.border="0",c.style.visibility="hidden",c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.8.2":"sandbox-sw.html?"+Date.now()),e.querySelector(o.sandboxParent||"body").appendChild(c)}function f(n,i){for(y(),r==t&&(o.forward||[]).map((function(e){delete t[e.split(".")[0]]})),n=0;n<d.length;n++)(i=e.createElement("script")).innerHTML=d[n].innerHTML,i.nonce=o.nonce,e.head.appendChild(i);c&&c.parentNode.removeChild(c)}function y(){clearTimeout(s)}o=t.partytown||{},r==t&&(o.forward||[]).map((function(e){l=t,e.split(".").map((function(e,n,r){l=l[r[n]]=n+1<r.length?"push"==r[n+1]?[]:l[r[n]]||{}:function(){(t._ptf=t._ptf||[]).push(r,arguments)}}))})),"complete"==e.readyState?u():(t.addEventListener("DOMContentLoaded",u),t.addEventListener("load",u))}(window,document,navigator,top,window.crossOriginIsolated),((t,e)=>{e=t.currentScript,t.addEventListener("astro:before-swap",(()=>e.remove()),{once:!0})})(document)</script>
9</head><body class="tracking-tight antialiased bg-page text-default"><style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
9<script>(self.Astro||(self.Astro={})).load=async t=>{await(await t())()},window.dispatchEvent(new Event("astro:load")),(()=>{var t,e=Object.defineProperty,r=(t,r,n)=>(((t,r,n)=>{r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n})(t,"symbol"!=typeof r?r+"":r,n),n);{let e={0:t=>i(t),1:t=>s(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(s(t)),5:t=>new Set(s(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},n=t=>{let[r,n]=t;return r in e?e[r](n):void 0},s=t=>t.map(n),i=t=>"object"!=typeof t||null===t?t:Object.fromEntries(Object.entries(t).map((([t,e])=>[t,n(e)])));customElements.get("astro-island")||customElements.define("astro-island",(t=class extends HTMLElement{constructor(){super(...arguments),r(this,"Component"),r(this,"hydrator"),r(this,"hydrate",(async()=>{var t;if(!this.hydrator||!this.isConnected)return;let e=null==(t=this.parentElement)?void 0:t.closest("astro-island[ssr]");if(e)return void e.addEventListener("astro:hydrate",this.hydrate,{once:!0});let r,n=this.querySelectorAll("astro-slot"),s={},o=this.querySelectorAll("template[data-astro-template]");for(let t of o){let e=t.closest(this.tagName);null!=e&&e.isSameNode(this)&&(s[t.getAttribute("data-astro-template")||"default"]=t.innerHTML,t.remove())}for(let t of n){let e=t.closest(this.tagName);null!=e&&e.isSameNode(this)&&(s[t.getAttribute("name")||"default"]=t.innerHTML)}try{r=this.hasAttribute("props")?i(JSON.parse(this.getAttribute("props"))):{}}catch(t){let e=this.getAttribute("component-url")||"<unknown>",r=this.getAttribute("component-export");throw r&&(e+=` (export ${r})`),console.error(`[hydrate] Error parsing props for component ${e}`,this.getAttribute("props"),t),t}await this.hydrator(this)(this.Component,r,s,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))})),r(this,"unmount",(()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))}))}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(this.hasAttribute("await-children")&&"interactive"!==document.readyState&&"complete"!==document.readyState){let t=()=>{document.removeEventListener("DOMContentLoaded",t),e.disconnect(),this.childrenConnectedCallback()},e=new MutationObserver((()=>{var e;(null==(e=this.lastChild)?void 0:e.nodeType)===Node.COMMENT_NODE&&"astro:end"===this.lastChild.nodeValue&&(this.lastChild.remove(),t())}));e.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",t)}else this.childrenConnectedCallback()}async childrenConnectedCallback(){let t=this.getAttribute("before-hydration-url");t&&await import(t),this.start()}async start(){let t=JSON.parse(this.getAttribute("opts")),e=this.getAttribute("client");if(void 0!==Astro[e])try{await Astro[e]((async()=>{let t=this.getAttribute("renderer-url"),[e,{default:r}]=await Promise.all([import(this.getAttribute("component-url")),t?import(t):()=>()=>{}]),n=this.getAttribute("component-export")||"default";if(n.includes(".")){this.Component=e;for(let t of n.split("."))this.Component=this.Component[t]}else this.Component=e[n];return this.hydrator=r,this.hydrate}),t,this)}catch(t){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,t)}else window.addEventListener(`astro:${e}`,(()=>this.start()),{once:!0})}attributeChangedCallback(){this.hydrate()}},r(t,"observedAttributes",["props"]),t))}})()</script>
9<astro-island client="load" component-export="default" component-url="/_astro/inverted-cursor.8a3bCOZS.js" opts="{"name":"Cursor","value":true}" props="{}" renderer-url="/_astro/client.CKXQVQpW.js" ssr="" uid="ZJj22m" await-children="" prefix="r1"><div class="rounded-full bg-white duration-300 fixed mix-blend-difference pointer-events-none transition-opacity z-[9999]" style="width:60px;height:60px;opacity:0;top:0;left:0;will-change:transform" aria-hidden="true"></div></astro-island><header class="w-full mx-auto px-3 ease-in-out flex-none md:pt-4 md:px-6 pt-3 sticky top-0 transition-[opacity] z-40" data-aw-sticky-header id="header"><div class="rounded-full items-center gap-2 aw-header-bar backdrop-blur-xl backdrop-saturate-150 bg-white/70 border border-white/50 dark:bg-slate-900/60 dark:border-white/10 flex justify-between max-w-7xl md:px-4 mx-auto px-3 py-2 relative shadow-[0_8px_32px_-8px_rgba(0,0,0,0.15)] w-full"><div class="items-center flex justify-between"><a class="items-center flex px-2" href="/"><span class="font-bold text-2xl dark:text-white md:text-xl ml-2 rtl:ml-0 rtl:mr-2 self-center text-gray-900 whitespace-nowrap"><img alt="CodeAddon" loading="lazy" src="/_astro/logo.XCvrB7FN_1mPCbb.webp" decoding="async" height="80" width="272"></span></a><div class="items-center flex md:hidden"><button aria-label="Toggle Menu" class="items-center flex justify-center cursor-pointer flex-col group h-12 rounded w-12" data-aw-toggle-menu><span class="sr-only">Toggle Menu</span> <span class="rounded-full dark:bg-white bg-black duration-200 ease h-0.5 my-1 opacity-80 transform transition w-6 group-[.expanded]:rotate-45 group-[.expanded]:translate-y-2.5" aria-hidden="true"></span> <span class="rounded-full dark:bg-white bg-black duration-200 ease h-0.5 my-1 opacity-80 transform transition w-6 group-[.expanded]:opacity-0" aria-hidden="true"></span> <span class="rounded-full dark:bg-white bg-black duration-200 ease h-0.5 my-1 opacity-80 transform transition w-6 group-[.expanded]:-rotate-45 group-[.expanded]:-translate-y-2.5" aria-hidden="true"></span></button></div></div><nav aria-label="Main navigation" class="items-center hidden md:flex md:overflow-x-auto md:overflow-y-visible md:w-auto overflow-x-hidden overflow-y-auto text-default w-full"><ul class="flex flex-col font-medium gap-0.5 md:flex-row md:items-center md:text-[0.9375rem] md:w-auto text-xl tracking-[0.01rem] w-full"><li class=""><a class="rounded-full items-center flex py-2 px-4 transition-colors dark:hover:bg-white/10 hover:bg-slate-900/5" href="/">Home</a></li><li class=""><a class="rounded-full items-center flex py-2 px-4 transition-colors bg-slate-900 dark:bg-white dark:text-slate-900 text-white" href="/products">Products</a></li><li class=""><a class="rounded-full items-center flex py-2 px-4 transition-colors dark:hover:bg-white/10 hover:bg-slate-900/5" href="/blog">Blog</a></li><li class=""><a class="rounded-full items-center flex py-2 px-4 transition-colors dark:hover:bg-white/10 hover:bg-slate-900/5" href="/about">About</a></li><li class=""><a class="rounded-full items-center flex py-2 px-4 transition-colors dark:hover:bg-white/10 hover:bg-slate-900/5" href="/contact">Contact</a></li></ul></nav><div class="items-center hidden md:flex gap-2"><a class="rounded-full items-center inline-flex text-sm dark:focus:ring-gray-700 dark:hover:bg-white/10 dark:text-gray-400 focus:outline-none focus:ring-4 focus:ring-gray-200 hover:bg-slate-900/5 p-2.5 text-muted" href="/rss.xml" aria-label="RSS Feed"><svg class="h-5 w-5" height="1em" viewBox="0 0 24 24" width="1em" data-icon="tabler:rss"><symbol id="ai:tabler:rss"><path d="M4 19a1 1 0 1 0 2 0a1 1 0 1 0-2 0M4 4a16 16 0 0 1 16 16M4 11a9 9 0 0 1 9 9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></symbol><use xlink:href="#ai:tabler:rss"></use></svg> </a><a class="btn-primary md:pl-6 md:pr-1.5 pl-6 pr-1.5 font-semibold shadow-none text-sm w-auto" href="/contact">Talk with us<span class="rounded-full items-center inline-flex -mr-1 bg-white h-8 justify-center ml-1.5 text-primary w-8"><svg class="h-4 w-4" height="1em" viewBox="0 0 24 24" width="1em" data-icon="tabler:arrow-up-right"><use xlink:href="#ai:tabler:arrow-up-right"></use></svg></span></a></div></div></header><main>
9<section class="relative not-prose"><div class="relative mx-auto max-w-7xl lg:py-20 md:py-16 px-4 py-12 sm:px-6"><div class="text-center max-w-3xl mb-8 md:mb-12 md:mx-auto"><p class="font-bold text-base tracking-wide uppercase dark:text-blue-200 text-secondary">Portfolio</p><h2 class="font-bold text-heading font-heading leading-tighter text-4xl tracking-tighter md:text-7xl">Our <span class="text-[#1e40af] dark:text-blue-400">Products</span></h2><p class="text-muted mt-4 text-xl">Chrome extensions, Google Workspace add-ons, mobile apps, and webapps â every product we've shipped, in one place.</p></div>
9<script>(self.Astro||(self.Astro={})).visible=(e,t,o)=>{let i=async()=>{await(await e())()},n="object"==typeof t.value?t.value:void 0,r={rootMargin:null==n?void 0:n.rootMargin},s=new IntersectionObserver((e=>{for(let t of e)if(t.isIntersecting){s.disconnect(),i();break}}),r);for(let e of o.children)s.observe(e)},window.dispatchEvent(new Event("astro:visible"))</script>
9<astro-island client="visible" component-export="default" component-url="/_astro/ProductsShowcase.DpDf9PZq.js" opts="{"name":"ProductsShowcase","value":true}" props="{}" renderer-url="/_astro/client.CKXQVQpW.js" ssr="" uid="Z1A7Q6D" await-children="" prefix="r0"><div class="w-full mx-auto max-w-5xl"><div class="items-center flex justify-center flex-wrap gap-2.5 mb-10 md:mb-14"><span class="rounded-full font-semibold uppercase bg-card border border-border/60 px-4 py-1.5 text-muted text-xs tracking-wide">Google Workspace Addon</span><span class="rounded-full font-semibold uppercase bg-card border border-border/60 px-4 py-1.5 text-muted text-xs tracking-wide">Chrome Extension</span><span class="rounded-full font-semibold uppercase bg-card border border-border/60 px-4 py-1.5 text-muted text-xs tracking-wide">Mobile App</span><span class="rounded-full font-semibold uppercase bg-card border border-border/60 px-4 py-1.5 text-muted text-xs tracking-wide">Webapp</span></div><div class="flex flex-col gap-8 md:gap-10"><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Google Workspace Addon</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Geocode Finder" loading="lazy" src="https://images.unsplash.com/photo-1524661135-423995f22d0b?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="9" r="2.5" stroke="currentColor" stroke-width="2"></circle><path d="M9 17L18 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M6 12L14 2.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M7 5L10 7.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.0097 22C11.656 22 11.4911 21.8487 11.3085 21.341C10.8283 19.6517 9.93051 18.1911 8.84193 16.8195C7.85602 15.5031 6.40188 14.0036 5.64625 12.2964C3.54607 7.65487 6.8014 1.99238 11.9927 2.00003C17.3276 1.98532 20.5359 7.85105 18.2565 12.5446C17.5862 13.7271 16.8028 14.8433 15.917 15.878C14.5359 17.5095 13.2946 19.2753 12.7057 21.3436C12.5703 21.7426 12.3955 22 12.0097 22Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Geocode Finder</h3><p class="text-muted leading-relaxed">A powerful Google Workspace add-on for finding geocodes and locations in your sheets.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem]
9shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Google Workspace Addon</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Slide Translator" loading="lazy" src="https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M2 10.5C2 9.72921 2.01346 8.97679 2.03909 8.2503C2.12282 5.87683 2.16469 4.69009 3.13007 3.71745C4.09545 2.74481 5.3157 2.6926 7.7562 2.58819C9.09517 2.5309 10.5209 2.5 12 2.5C13.4791 2.5 14.9048 2.5309 16.2438 2.58819C18.6843 2.6926 19.9046 2.74481 20.8699 3.71745C21.8353 4.69009 21.8772 5.87683 21.9609 8.2503C21.9865 8.97679 22 9.72921 22 10.5C22 11.2708 21.9865 12.0232 21.9609 12.7497C21.8772 15.1232 21.8353 16.3099 20.8699 17.2826C19.9046 18.2552 18.6843 18.3074 16.2437 18.4118C15.5098 18.4432 14.7498 18.4667 13.9693 18.4815C13.2282 18.4955 12.8576 18.5026 12.532 18.6266C12.2064 18.7506 11.9325 18.9855 11.3845 19.4553L9.20503 21.3242C9.07273 21.4376 8.90419 21.5 8.72991 21.5C8.32679 21.5 8 21.1732 8 20.7701V18.4219C7.91842 18.4186 7.83715 18.4153 7.75619 18.4118C5.31569 18.3074 4.09545 18.2552 3.13007 17.2825C2.16469 16.3099 2.12282 15.1232 2.03909 12.7497C2.01346 12.0232 2 11.2708 2 10.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12 7.5V6M8 7.5H16M9 15C11.7116 13.1923 13.8451 10.7747 14.5 7.5M13.5 13.5C11.8882 12.2106 11.0341 10.8345 10.6761 10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Slide Translator</h3><p class="text-muted leading-relaxed">Instantly translate entire Google Slides presentations while preserving layouts, formats, and fonts.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">
9Google Workspace Addon</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Slide Quiz" loading="lazy" src="https://images.unsplash.com/photo-1518133910546-b6c2fb7d79e3?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></circle><path d="M9.5 9.5C9.5 8.11929 10.6193 7 12 7C13.3807 7 14.5 8.11929 14.5 9.5C14.5 10.3569 14.0689 11.1131 13.4117 11.5636C12.7283 12.0319 12 12.6716 12 13.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.125 16.75H12M12.25 16.75C12.25 16.8881 12.1381 17 12 17C11.8619 17 11.75 16.8881 11.75 16.75C11.75 16.6119 11.8619 16.5 12 16.5C12.1381 16.5 12.25 16.6119 12.25 16.75Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Slide Quiz</h3><p class="text-muted leading-relaxed">Easily turn your Google Slides presentations into interactive quizzes, tests, and homework modules.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Google Workspace Addon</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="HTML Forms to Sheets" loading="lazy" src="https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M20.0165 19.4118L21.4236 16.8293C21.811 16.1181 22.0048 15.7625 21.9999 15.3776C21.995 14.9927 21.7923 14.642 21.3869 13.9404L15.9448 4.52296C15.5155 3.78003 15.3009 3.40856 14.9431 3.20428C14.5852 3 14.1493 3 13.2773 3H10.7227C9.85074 3 9.41475 3 9.05694 3.20428C8.69913 3.40856 8.48447 3.78003 8.05515 4.52296L2.61306 13.9404C2.20767 14.642 2.00497 14.9927 2.00009 15.3776C1.99521 15.7625 2.18895 16.1181 2.57643 16.8293L3.98351 19.4118C4.40512 20.1856 4.61592 20.5725 4.97988 20.7862C5.34384 21 5.7918 21 6.68772 21H17.3123C18.2082 21 18.6562 21 19.0201 20.7862C19.3841 20.5725 19.5949 20.1856 20.0165 19.4118Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9 4L16 15" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.5 20.5L12 9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M21 15H9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">HTML Forms to Sheets</h3><p class="text-muted leading-relaxed">Connect custom web forms directly to Google Sheets for automated data collection.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">
9View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Chrome Extension</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Imagio" loading="lazy" src="https://images.unsplash.com/photo-1542838132-92c53300491e?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M12.6974 3.5H11.303C10.5884 3.5 10.2311 3.5 9.91067 3.612C9.71499 3.68039 9.53113 3.77879 9.36568 3.90367C9.09474 4.10816 8.89655 4.40544 8.50018 5L8.50017 5.00001C8.29717 5.30453 7.99794 5.75337 7.87867 5.87871C7.58314 6.18927 7.19563 6.39666 6.77329 6.47029C6.60284 6.5 6.41985 6.5 6.05387 6.5C5.07379 6.5 4.58376 6.5 4.18307 6.61342C3.18074 6.89716 2.39734 7.68055 2.1136 8.68289C2.00018 9.08357 2.00018 9.57361 2.00018 10.5537V14.5C2.00018 17.3284 2.00018 18.7426 2.87886 19.6213C3.75754 20.5 5.17176 20.5 8.00018 20.5H16.0002C18.8286 20.5 20.2428 20.5 21.1215 19.6213C22.0002 18.7426 22.0002 17.3284 22.0002 14.5V10.5537C22.0002 9.57361 22.0002 9.08357 21.8868 8.68289C21.603 7.68055 20.8196 6.89716 19.8173 6.61342C19.4166 6.5 18.9266 6.5 17.9465 6.5C17.5805 6.5 17.3975 6.5 17.2271 6.47029C16.8047 6.39666 16.4172 6.18927 16.1217 5.87871C16.0024 5.75336 15.7032 5.30451 15.5002 5C15.1038 4.40544 14.9056 4.10816 14.6347 3.90367C14.4692 3.77879 14.2854 3.68039 14.0897 3.612C13.7693 3.5 13.412 3.5 12.6974 3.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16.0002 13C16.0002 15.2091 14.2093 17 12.0002 17C9.79104 17 8.00018 15.2091 8.00018 13C8.00018 10.7909 9.79104 9 12.0002 9C14.2093 9 16.0002 10.7909 16.0002 13Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M19.1252 9.5H19.0002M19.2502 9.5C19.2502 9.63807 19.1383 9.75 19.0002 9.75C18.8621 9.75 18.7502 9.63807 18.7502 9.5C18.7502 9.36193 18.8621 9.25 19.0002 9.25C19.1383 9.25 19.2502 9.36193 19.2502 9.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Imagio</h3><p class="text-muted leading-relaxed">An elegant Chrome extension to instantly capture, resize, and optimize web images.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">
9View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Chrome Extension</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Right Click & Search" loading="lazy" src="https://images.unsplash.com/photo-1502945015378-0e2840291f14?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2"></circle><circle cx="12" cy="12" r="4" stroke="currentColor" stroke-width="2"></circle><path d="M8.53448 14L4.0332 6" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M11.5 21.5L15.5 14" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M12 8H21" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Right Click & Search</h3><p class="text-muted leading-relaxed">Boost productivity by searching any highlighted text through customized contextual search engines.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Chrome Extension</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Image Finder" loading="lazy" src="https://images.unsplash.com/photo-1551288049-bbda38a10ad5?q=80&w=1200" class="w-full h-full object-cover"/>
9</div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="8" r="1.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></circle><path d="M20.9977 11C21 11.4701 21 11.9693 21 12.5C21 16.9783 21 19.2175 19.6088 20.6088C18.2175 22 15.9783 22 11.5 22C7.02166 22 4.78249 22 3.39124 20.6088C2 19.2175 2 16.9783 2 12.5C2 8.02166 2 5.78249 3.39124 4.39124C4.78249 3 7.02166 3 11.5 3C12.0307 3 12.5299 3 13 3.00231" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path><path d="M18.5 2L18.7579 2.69703C19.0961 3.61102 19.2652 4.06802 19.5986 4.40139C19.932 4.73477 20.389 4.90387 21.303 5.24208L22 5.5L21.303 5.75792C20.389 6.09613 19.932 6.26524 19.5986 6.59861C19.2652 6.93198 19.0961 7.38898 18.7579 8.30297L18.5 9L18.2421 8.30297C17.9039 7.38898 17.7348 6.93198 17.4014 6.59861C17.068 6.26524 16.611 6.09613 15.697 5.75792L15 5.5L15.697 5.24208C16.611 4.90387 17.068 4.73477 17.4014 4.40139C17.7348 4.06802 17.9039 3.61102 18.2421 2.69703L18.5 2Z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path><path d="M4.5 21.4999C8.87246 16.275 13.7741 9.384 20.9975 14.0424" stroke="currentColor" stroke-width="2"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Image Finder</h3><p class="text-muted leading-relaxed">Quickly scan any webpage to download high-resolution and license-free visual assets.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Chrome Extension</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="BatchDoc PDF Tool Kit" loading="lazy" src="https://images.unsplash.com/photo-1568605117036-5fe5e7bab0b7?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M18 16L19.8398 17.5858C20.6133 18.2525 21 18.5858 21 19C21 19.4142 20.6133 19.7475 19.8398 20.4142L18 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14 16L12.1602 17.5858C11.3867 18.2525 11 18.5858 11 19C11 19.4142 11.3867 19.7475 12.1602 20.4142L14 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M20 13.0032L20 7.8199C20 6.12616 20 5.27929 19.732 4.60291C19.3013 3.51555 18.39
902 2.65784 17.2352 2.25228C16.5168 2 15.6173 2 13.8182 2C10.6698 2 9.09563 2 7.83836 2.44148C5.81714 3.15122 4.22281 4.6522 3.46894 6.55509C3 7.73875 3 9.22077 3 12.1848L3 14.731C3 17.8013 3 19.3364 3.8477 20.4025C4.09058 20.708 4.37862 20.9792 4.70307 21.2078C5.61506 21.8506 6.85019 21.9757 9 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3 12C3 10.159 4.49238 8.66667 6.33333 8.66667C6.99912 8.66667 7.78404 8.78333 8.43137 8.60988C9.00652 8.45576 9.45576 8.00652 9.60988 7.43136C9.78333 6.78404 9.66667 5.99912 9.66667 5.33333C9.66667 3.49238 11.1591 2 13 2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">BatchDoc PDF Tool Kit</h3><p class="text-muted leading-relaxed">Stitch, merge, compress, and organize multiple PDF documents in batches in seconds.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Mobile App</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="PinkStitch" loading="lazy" src="https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M6 22V13.6944C6 12.1287 6 11.3459 6.21454 10.6077C6.42908 9.86948 6.84589 9.21812 7.6795 7.91542L10.3359 3.76419C11.0885 2.58806 11.4648 2 12 2C12.5352 2 12.9115 2.58806 13.6641 3.76419L16.3205 7.91542C17.1541 9.21812 17.5709 9.86948 17.7855 10.6077C18 11.3459 18 12.1287 18 13.6944V22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M7 11C7.63152 11.3231 8.4887 11.9732 9.28009 11.9991C10.2988 12.0324 10.9868 11.1372 12 11.1372C13.0132 11.1372 13.7012 12.0324 14.7199 11.9991C15.5113 11.9732 16.3685 11.3231 17 11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12 12L12 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10 5H14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">PinkStitch</h3><p class="text-muted leading-relaxed">Track and stitch elegant custom designs with a modern mobile app companion.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">
9View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Mobile App</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="EchoLingo" loading="lazy" src="https://images.unsplash.com/photo-1517048676732-d65bc937f952?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M4 9V15" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 3L8 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12 6L12 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M16 9V15" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M20 7L20 17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">EchoLingo</h3><p class="text-muted leading-relaxed">Learn languages in record time using AI-powered voice detection and feedback on the go.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Mobile App</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Nolda" loading="lazy" src="https://images.unsplash.com/photo-1546820389-424957d2
90fb6?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M2 12C2 13.0519 2.18046 14.0616 2.51212 15M13.0137 8.99997H21.5015M11 15H2.51212M21.5015 8.99997C20.266 5.50439 16.9323 2.99997 13.0137 2.99997C14.6146 2.99997 15.9226 6.76197 16.0091 11.5M21.5015 8.99997C21.7803 9.78864 21.9522 10.6278 22 11.5M2.51212 15C3.74763 18.4956 7.08134 21 11 21C9.45582 21 8.18412 17.4999 8.01831 13" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 5.29734C2 4.19897 2 3.64979 2.18738 3.22389C2.3861 2.77223 2.72861 2.40921 3.15476 2.1986C3.55661 2 4.07478 2 5.11111 2H6C7.88562 2 8.82843 2 9.41421 2.62085C10 3.2417 10 4.24095 10 6.23944V8.49851C10 9.37026 10 9.80613 9.73593 9.95592C9.47186 10.1057 9.12967 9.86392 8.4453 9.38036L8.34103 9.30669C7.84086 8.95329 7.59078 8.77658 7.30735 8.68563C7.02392 8.59468 6.72336 8.59468 6.12223 8.59468H5.11111C4.07478 8.59468 3.55661 8.59468 3.15476 8.39608C2.72861 8.18547 2.3861 7.82245 2.18738 7.37079C2 6.94489 2 6.39571 2 5.29734Z" stroke="currentColor" stroke-width="2"></path><path d="M22 17.2973C22 16.199 22 15.6498 21.8126 15.2239C21.6139 14.7722 21.2714 14.4092 20.8452 14.1986C20.4434 14 19.9252 14 18.8889 14H18C16.1144 14 15.1716 14 14.5858 14.6209C14 15.2417 14 16.2409 14 18.2394V20.4985C14 21.3703 14 21.8061 14.2641 21.9559C14.5281 22.1057 14.8703 21.8639 15.5547 21.3804L15.659 21.3067C16.1591 20.9533 16.4092 20.7766 16.6926 20.6856C16.9761 20.5947 17.2766 20.5947 17.8778 20.5947H18.8889C19.9252 20.5947 20.4434 20.5947 20.8452 20.3961C21.2714 20.1855 21.6139 19.8225 21.8126 19.3708C22 18.9449 22 18.3957 22 17.2973Z" stroke="currentColor" stroke-width="2"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Nolda</h3><p class="text-muted leading-relaxed">Learn Korean with lessons and vocabulary in your preferred language â Sinhala, Tamil, or English.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Webapp</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="NoslopUI.com" loading="lazy" src="https://images.unsplash.com/photo-1507238691740-187a5b1d37b8?q=80&w=1200" class="w-full h-full object-cover"/>
9</div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M7 11V9C7 5.70017 7 4.05025 8.02513 3.02513C9.05025 2 10.7002 2 14 2C17.2998 2 18.9497 2 19.9749 3.02513C21 4.05025 21 5.70017 21 9V11C21 14.2998 21 15.9497 19.9749 16.9749C18.9497 18 17.2998 18 14 18C10.7002 18 9.05025 18 8.02513 16.9749C7 15.9497 7 14.2998 7 11Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3 6V15C3 18.2998 3 19.9497 4.02513 20.9749C5.05025 22 6.70017 22 10 22H17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">NoslopUI.com</h3><p class="text-muted leading-relaxed">Click to copy verified Tailwind and modern UI codes directly into your design projects.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div><div><div class="relative overflow-hidden bg-card border border-border/60 md:rounded-[2.5rem] rounded-[2rem] shadow-2xl shadow-black/10" style="opacity:0;transform:translateY(72px) scale(.94)"><div class="items-center flex justify-between bg-secondary/40 border-b border-border/50 gap-3 md:px-6 px-5 py-3"><div class="items-center flex gap-1.5"><span class="rounded-full h-2.5 w-2.5 bg-red-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-yellow-400/70"></span><span class="rounded-full h-2.5 w-2.5 bg-green-400/70"></span></div><span class="rounded-full font-semibold uppercase bg-background/80 dark:text-blue-400 px-3 py-1 text-[#1e40af] text-[10px] tracking-widest">Webapp</span></div><div class="grid grid-cols-1 md:grid-cols-2"><div class="relative overflow-hidden aspect-[16/10] bg-secondary/30 md:aspect-auto"><img alt="Tyrolead" loading="lazy" src="https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=1200" class="w-full h-full object-cover"/></div><div class="flex justify-center flex-col gap-4 lg:p-12 md:p-10 p-8"><div class="items-center flex justify-center bg-[#1e40af]/10 dark:bg-blue-400/10 dark:text-blue-400 h-11 rounded-xl text-[#1e40af] w-11"><svg class="" height="22" viewBox="0 0 24 24" width="22" color="currentColor" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 19L12.5 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10.5 22H14.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="7" cy="7" r="7" stroke="currentColor" stroke-width="2" stroke-linecap="round" transform="matrix(-1 0 0 1 20.5 2)"></circle><path d="M8.5 4C9.15431 4.0385 9.49236 4.35899 10.0735 4.97301C11.1231 6.08206 12.1727 6.1746 12.8724 5.80492C13.922 5.2504 13.04 4.35221 14.2719 3.86409C15.0748 3.54595 15.1868 2.68026 14.7399 2" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path><path d="M20 10C18.5 10 18.2338 11.2468 17 11C14.5 10.5 13.7916 11.0589 13.7916 12.2511C13.7916 13.4432 13.7916 13.4432 13.2717 14.3373C12.9335 14.9189 12.8153 15.5004 13.4894 16" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path><path d="M6.5 2C4.64864 3.79995 3.5 6.3082 3.5 9.08251C3.5 14.5598 7.97715 19 13.5 19C16.2255 19 18.6962 17.9187 20.5 16.
9165" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></div><h3 class="font-bold text-heading md:text-3xl text-2xl tracking-tight">Tyrolead</h3><p class="text-muted leading-relaxed">Find qualified B2B leads and automate customized outbound email sequences easily.</p><a class="rounded-full font-semibold bg-[#1e40af] duration-300 gap-2 hover:bg-[#1e3a8a] hover:scale-105 inline-flex items-center mt-2 px-5 py-2.5 text-sm text-white transition-transform w-fit" href="#">View product<svg class="" height="16" viewBox="0 0 24 24" width="16" color="currentColor" fill="none" stroke="currentColor" stroke-width="2.5" xmlns="http://www.w3.org/2000/svg"><path d="M12.9997 11L5.99969 18" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15.5407 6.08278L14.2989 6.19567C12.287 6.37857 11.2811 6.47002 11.0444 7.12388C10.8076 7.77774 11.5219 8.49198 12.9504 9.92046L14.0792 11.0493C15.5077 12.4778 16.222 13.1921 16.8758 12.9553C17.5297 12.7186 17.6211 11.7127 17.804 9.70078L17.9169 8.45902C18.027 7.24766 18.0821 6.64198 17.7199 6.27979C17.3577 5.9176 16.752 5.97266 15.5407 6.08278Z" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div></div></div></astro-island></div></section><section class="relative not-prose scroll-mt-[72px]"><div class="absolute pointer-events-none -z-[1] inset-0" aria-hidden="true"><div class="absolute inset-0"></div></div><div class="relative mx-auto max-w-7xl lg:py-20 md:py-16 px-4 py-12 md:px-6 text-default"><div class="relative overflow-hidden bg-blue-50 dark:bg-slate-800/40 rounded-3xl"><div class="rounded-full pointer-events-none absolute bg-[#1e40af]/10 blur-2xl dark:bg-blue-400/10 -right-24 -top-24 h-80 w-80" aria-hidden="true"></div><div class="rounded-full pointer-events-none absolute bg-[#1e40af]/10 blur-2xl dark:bg-blue-400/10 -bottom-24 -left-24 h-72 w-72" aria-hidden="true"></div><div class="relative mx-auto max-w-2xl md:px-12 md:py-20 px-6 py-16 text-center"><p class="font-bold text-base tracking-wide uppercase dark:text-blue-400 text-[#1e40af]">Let's talk</p><h2 class="font-bold text-heading font-heading leading-tighter text-4xl tracking-tighter md:text-5xl mt-2">Have an idea for your own product?</h2><p class="text-muted mt-4 md:text-xl text-lg">Tell us what you're building and we'll help you ship it.</p><div class="flex justify-center mt-8"><a class="btn-primary md:pl-6 md:pr-1.5 pl-6 pr-1.5" href="/contact">Talk with us<span class="rounded-full items-center inline-flex -mr-1 bg-white h-8 justify-center ml-1.5 text-primary w-8"><svg class="h-4 w-4" height="1em" viewBox="0 0 24 24" width="1em" data-icon="tabler:arrow-up-right"><symbol id="ai:tabler:arrow-up-right"><path d="M17 7L7 17M8 7h9v9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></symbol><use xlink:href="#ai:tabler:arrow-up-right"></use></svg></span></a></div></div></div></div></section></main>
9<script>(self.Astro||(self.Astro={})).only=async t=>{await(await t())()},window.dispatchEvent(new Event("astro:only"))</script>
9<astro-island client="only" component-export="CinematicFooter" component-url="/_astro/motion-footer.CoT6ATNs.js" opts="{"name":"CinematicFooter","value":"react"}" props="{"links":[1,[[0,{"title":[0,"Tools"],"links":[1,[[0,{"text":[0,"PDF to Editable Doc"],"href":[0,"#"]}],[0,{"text":[0,"Image Finder"],"href":[0,"#"]}]]]}],[0,{"title":[0,"Apps"],"links":[1,[[0,{"text":[0,"EchoLingo"],"href":[0,"#"]}],[0,{"text":[0,"PinkStitch"],"href":[0,"#"]}]]]}],[0,{"title":[0,"Articles"],"links":[1,[[0,{"text":[0,"New Updates"],"href":[0,"#"]}],[0,{"text":[0,"Web Development"],"href":[0,"#"]}],[0,{"text":[0,"Programming"],"href":[0,"#"]}],[0,{"text":[0,"Algorithms"],"href":[0,"#"]}]]]}],[0,{"title":[0,"Services"],"links":[1,[[0,{"text":[0,"Courses"],"href":[0,"#"]}],[0,{"text":[0,"Consulting"],"href":[0,"#"]}]]]}]]],"secondaryLinks":[1,[[0,{"text":[0,"Terms"],"href":[0,"/terms"]}],[0,{"text":[0,"Privacy Policy"],"href":[0,"/privacy"]}]]],"socialLinks":[1,[[0,{"ariaLabel":[0,"X"],"icon":[0,"tabler:brand-x"],"href":[0,"#"]}],[0,{"ariaLabel":[0,"Instagram"],"icon":[0,"tabler:brand-instagram"],"href":[0,"#"]}],[0,{"ariaLabel":[0,"Facebook"],"icon":[0,"tabler:brand-facebook"],"href":[0,"#"]}],[0,{"ariaLabel":[0,"RSS"],"icon":[0,"tabler:rss"],"href":[0,"/rss.xml"]}],[0,{"ariaLabel":[0,"Github"],"icon":[0,"tabler:brand-github"],"href":[0,"https://codeaddon.com/"]}]]],"footNote":[0,"\n <span class=\"w-5 h-5 md:w-6 md:h-6 md:-mt-0.5 bg-cover mr-1.5 rtl:mr-0 rtl:ml-1.5 float-left rtl:float-right rounded-sm bg-[url(https://kalpasuraweera.com/favicon/favicon-32x32.png)]\"></span>\n Made by <a class=\"text-blue-600 hover:underline dark:text-gray-200\" href=\"https://codeaddon.com/\">CodeAddon Team</a> · All rights reserved.\n "]}" renderer-url="/_astro/client.CKXQVQpW.js" ssr="" uid="1eK0lX"></astro-island>
9<script>!function(){const e="light:only";if(window.basic_script)return;function t(e){"dark"===e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}window.basic_script=!0;const d=function(){e&&e.endsWith(":only")||!localStorage.theme?t(e.replace(":only","")):"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):t("light")};function a(e,t,d){const a="string"==typeof e?document.querySelectorAll(e):e;a&&a.length&&a.forEach((e=>{e.addEventListener(t,(t=>d(t,e)),!1)}))}d();const o=function(){let t=window.scrollY,d=!0;function o(){const e=document.querySelector("#header[data-aw-sticky-header]");t>60&&!e.classList.contains("scroll")?document.getElementById("header").classList.add("scroll"):t<=60&&e.classList.contains("scroll")&&document.getElementById("header").classList.remove("scroll"),d=!1}a("#header nav","click",(function(){document.querySelector("[data-aw-toggle-menu]")?.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.getElementById("header")?.classList.remove("bg-page"),document.querySelector("#header nav")?.classList.add("hidden"),document.querySelector("#header > div > div:last-child")?.classList.add("hidden")})),a("[data-aw-toggle-menu]","click",(function(e,t){t.classList.toggle("expanded"),document.body.classList.toggle("overflow-hidden"),document.getElementById("header")?.classList.toggle("h-screen"),document.getElementById("header")?.classList.toggle("expanded"),document.getElementById("header")?.classList.toggle("bg-page"),document.querySelector("#header nav")?.classList.toggle("hidden"),document.querySelector("#header > div > div:last-child")?.classList.toggle("hidden")})),a("[data-aw-toggle-color-scheme]","click",(function(){e.endsWith(":only")||(document.documentElement.classList.toggle("dark"),localStorage.theme=document.documentElement.classList.contains("dark")?"dark":"light")})),a("[data-aw-social-share]","click",(function(e,t){const d=t.getAttribute("data-aw-social-share"),a=encodeURIComponent(t.getAttribute("data-aw-url")),o=encodeURIComponent(t.getAttribute("data-aw-text"));let n;switch(d){case"facebook":n=`https://www.facebook.com/sharer.php?u=${a}`;break;case"twitter":n=`https://twitter.com/intent/tweet?url=${a}&text=${o}`;break;case"linkedin":n=`https://www.linkedin.com/shareArticle?mini=true&url=${a}&title=${o}`;break;case"whatsapp":n=`https://wa.me/?text=${o}%20${a}`;break;case"mail":n=`mailto:?subject=%22${o}%22&body=${o}%20${a}`;break;default:return}const c=document.createElement("a");c.target="_blank",c.href=n,c.click()})),window.matchMedia("(max-width: 767px)").addEventListener("change",(function(){document.querySelector("[data-aw-toggle-menu]")?.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.getElementById("header")?.classList.remove("bg-page"),document.querySelector("#header nav")?.classList.add("hidden"),document.querySelector("#header > div > div:last-child")?.classList.add("hidden")})),o(),a([document],"scroll",(function(){t=window.scrollY,d||(window.requestAnimationFrame((()=>{o()})),d=!0)}))},n=function(){document.documentElement.classList.add("motion-safe:scroll-smooth");const e=document.querySelector("[data-aw-toggle-menu]");e&&e.classList.remove("expanded"),document.body.classList.remove("overflow-hidden"),document.getElementById("header")?.classList.remove("h-screen"),document.getElementById("header")?.classList.remove("expanded"),document.querySelector("#header nav")?.classList.add("hidden")};window.onload=o,window.onpageshow=n,document.addEventListener("astro:after-swap",(()=>{d(),o(),n()}))}()</script>
9</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.