-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1 lines (1 loc) · 42.8 KB
/
index.html
File metadata and controls
1 lines (1 loc) · 42.8 KB
1
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="description" content="Web & Mobile, Brand Identity, Enterprise Software, Product Team Building, Product Management, AI Utilization Strategy"><meta name="viewport" content="width=device-width"><link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="shortcut icon" href="/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="AlecVision"><link rel="manifest" href="/site.webmanifest"><script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0"></script><script type="module">window.plausible=window.plausible||function(){(window.plausible.q=window.plausible.q||[]).push(arguments)};</script><script type="module">var e=document.createElement("script");e.defer=!0,e.dataset.domain="alecvision.com",e.dataset.api="https://plausible.io/api/event",e.src="https://plausible.io/js/script.hash.outbound-links.pageview-props.tagged-events.js",document.getElementsByTagName("head")[0]?.appendChild(e);const t=new URL(location.href),a=new URLSearchParams(t.search);for(const[s]of a)s.startsWith("utm_")&&a.delete(s);t.search=a.toString(),window.history.replaceState({},"",t);</script><title>AlecVision - Digital Innovation Studio</title><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script type="module" src="/_/ClientRouter.astro_astro_type_script_index_0_lang.sZLOWUL1.js"></script><link rel="stylesheet" href="/_/index.C9iiaKAx.css"></head> <body class="bg-surface-soft text-line-soft"> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(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),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(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")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z2sW73F" prefix="r8" component-url="/_/Header.BurERFPF.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"Header","value":true}" await-children><header class="border-line-firm/20 bg-surface-soft/90 fixed z-50 w-full border-b backdrop-blur-md"><div class="mx-auto px-4 sm:px-6 lg:px-8"><div class="flex h-16 place-content-between items-center"><a href="/" class="flex items-center gap-2"><astro-slot name="logoIcon"><picture> <source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"> <img src="/_/favicon.o1YStsdY_Z1JPlyA.svg" alt="logo" slot="logo-icon" width="1000" height="1000" loading="lazy" decoding="async" class="aspect-auto h-10 w-10 scale-95 rounded-md object-cover object-top"> </picture></astro-slot><span class="text-surface-hard hover:text-surface-sharp text-xl font-bold">AlecVision</span></a><nav class="hidden md:flex lg:space-x-6 xl:space-x-8"><a href="/#about" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">About</a><a href="/#services" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">Services</a><a href="/#case-studies" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">Case Studies</a><a href="/#process" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">Process</a><a href="/#faq" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">FAQ</a></nav><div class="hidden items-center space-x-4 md:flex"><a href="/#contact" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-surface-hard text-line-hard shadow-sm hover:bg-surface-sharp h-9 px-4 py-2">Contact Us</a></div><div class="md:hidden"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 bg-surface-hard text-line-hard shadow-sm hover:bg-surface-sharp size-9 [&_svg]:pointer-events-none [&_svg]:size-8 [&_svg]:shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-6 w-6"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></div></div></header><template data-astro-template="logo-icon"><picture> <source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"><source srcset="/_/favicon.o1YStsdY_Z1JPlyA.svg" type="image/svg+xml"> <img src="/_/favicon.o1YStsdY_Z1JPlyA.svg" alt="logo" slot="logo-icon" width="1000" height="1000" loading="lazy" decoding="async" class="aspect-auto h-10 w-10 scale-95 rounded-md object-cover object-top"> </picture></template><!--astro:end--></astro-island> <main> <astro-island uid="2emJhy" prefix="r7" component-url="/_/HeroSection.YA6GSp-w.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"HeroSection","value":true}" await-children><section id="hero" class="h-[calc((5*100svh)/6)] sm:min-h-[45ch] relative place-content-center overflow-hidden pt-16"><astro-slot name="heroImage"><picture> <source srcset="/_/logo.AFMxfjdw_2hLXqG.avif" type="image/avif"><source srcset="/_/logo.AFMxfjdw_2hdjQ0.webp" type="image/webp"><source srcset="/_/logo.AFMxfjdw_Z1RIWwM.png" type="image/png"> <img src="/_/logo.AFMxfjdw_Z1RIWwM.png" slot="hero-image" alt="AlecVision Logo" width="1238" height="1958" loading="lazy" decoding="async" class="max-h-[calc((10*100svh)/6)] sm:min-h-[90ch] max-[360px]:hidden absolute inset-0 z-0 mx-auto object-contain -translate-x-[2.5%] scale-115 transform opacity-20 max-[625px]:translate-y-25"> </picture></astro-slot><div class="relative z-10 mx-auto max-w-4xl px-6 text-center"><h1 class="text-surface-hard text-5xl font-bold tracking-tight max-[275px]:text-4xl sm:text-6xl">AlecVision</h1><div class="bg-surface-sharp border-surface-soft inline-block rounded-md border-1 px-2 py-1 max-[350px]:hidden max-sm:px-1 max-sm:py-0"><h2 class="text-surface-soft max-[350px]:text:base text-lg font-semibold whitespace-nowrap sm:text-xl">DIGITAL INNOVATION STUDIO</h2></div><p class="text-line-firm pt-6 text-lg max-[350px]:text-base sm:text-lg sm:leading-8">Based in Tulsa, we deliver tailored, high-impact software solutions that combine innovative strategies with a personalized touch—giving businesses an edge through digital innovation.</p><div class="mt-10 flex items-center justify-center gap-x-6"><a href="/#contact" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-surface-hard text-line-hard shadow-sm hover:bg-surface-sharp h-10 rounded-md px-8 group">Get Started<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-2 h-4 w-4 transition-transform group-hover:translate-x-1"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><template data-astro-template="hero-image"><picture> <source srcset="/_/logo.AFMxfjdw_2hLXqG.avif" type="image/avif"><source srcset="/_/logo.AFMxfjdw_2hdjQ0.webp" type="image/webp"><source srcset="/_/logo.AFMxfjdw_Z1RIWwM.png" type="image/png"> <img src="/_/logo.AFMxfjdw_Z1RIWwM.png" slot="hero-image" alt="AlecVision Logo" width="1238" height="1958" loading="lazy" decoding="async" class="max-h-[calc((10*100svh)/6)] sm:min-h-[90ch] max-[360px]:hidden absolute inset-0 z-0 mx-auto object-contain -translate-x-[2.5%] scale-115 transform opacity-20 max-[625px]:translate-y-25"> </picture></template><!--astro:end--></astro-island> <astro-island uid="Z1qrWvz" prefix="r5" component-url="/_/AboutSection.Cki7K5CR.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"AboutSection","value":true}" await-children><section id="about" class="bg-surface-firm flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Our Story</h2><p class="text-line-firm text-base">Founded in Tulsa on a vision of quality and service, AlecVision brings a tailored approach to adding business value through software. We pride ourselves on a hands-on commitment to our your success.<br/><br/>AlecVision is much more than just a software company—we're your partner in innovation.</p></div><div class="grid grid-cols-1 lg:grid-cols-3 max-w-2xl lg:max-w-4xl gap-0"><div class="text-card-foreground rounded-xl border bg-transparent border-transparent shadow-none py-0 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-line-firm py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check -mr-1 h-5 w-5 flex-none"><path d="M20 6 9 17l-5-5"></path></svg>Innovate & Transform</div></div><div class="p-6 py-3"><p class="text-line-firm/80 p-0">We leverage modern, purpose-driven systems and state-of-the-art tools to build maintainable software that adapts as your business grows.</p></div></div><div class="text-card-foreground rounded-xl border bg-transparent border-transparent shadow-none py-0 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-line-firm py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check -mr-1 h-5 w-5 flex-none"><path d="M20 6 9 17l-5-5"></path></svg>Personalize & Empower</div></div><div class="p-6 py-3"><p class="text-line-firm/80 p-0">Our small-team agility and cutting-edge methodology ensures a bespoke, responsive experience that larger firms simply can't match.</p></div></div><div class="text-card-foreground rounded-xl border bg-transparent border-transparent shadow-none py-0 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-line-firm py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check -mr-1 h-5 w-5 flex-none"><path d="M20 6 9 17l-5-5"></path></svg>Deliver Real Results</div></div><div class="p-6 py-3"><p class="text-line-firm/80 p-0">From startups to growing enterprises, our mission is to empower you with high-impact, scalable solutions that deliver value from day one.</p></div></div></div></section><!--astro:end--></astro-island> <astro-island uid="1YveHA" prefix="r6" component-url="/_/ServicesSection.bWRp24P4.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"ServicesSection","value":true}" await-children><section id="services" class="bg-surface-soft flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Services</h2><p class="text-line-firm text-base">Whether you're launching, pivoting, scaling, or just getting started, we offer smart solutions—tailored to your unique needs.</p></div><div class="text-card-foreground rounded-xl border shadow-sm border-line-firm/20 bg-surface-firm max-w-full"><div class="grid transform grid-cols-1 gap-x-8 gap-y-6 p-12 sm:w-xl lg:w-3xl lg:grid-cols-2"><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Websites and Web Apps</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">iOS and Android Development</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Enterprise Software Solutions</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Staff Augmentation Services</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Research, Design, Prototyping</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Brand Voice & Identity</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Product Team Building</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Cloud Solutions Implementation</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">Product Strategy Consulting</p></div><div class="flex w-80 max-w-full items-center gap-x-2 justify-self-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check text-line-firm h-6 w-6"><path d="M20 6 9 17l-5-5"></path></svg><p class="text-line-firm/80 grow-1 text-lg font-semibold">GenAI Strategy Development</p></div></div></div></section><!--astro:end--></astro-island> <astro-island uid="9FAa2" prefix="r0" component-url="/_/CaseStudiesSection.DowE-68v.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"CaseStudiesSection","value":true}" await-children><section id="case-studies" class="bg-surface-firm flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Case Studies</h2><p class="text-line-firm text-base">Real-world examples of how AlecVision helps organizations like yours transform and grow.</p></div><div class="grid grid-cols-1 lg:grid-cols-3 xl:gap-8 gap-6 max-w-2xl lg:max-w-6xl"><div class="text-card-foreground rounded-xl border shadow-sm bg-surface-soft py-4 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-surface-hard py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold">A Map of Times Past</div></div><div class="p-6 py-2"><p class="text-line-firm/80 p-0">AlecVision partnered with an NYC-based non-profit dedicated to mapping historical collections to help them revamp their data pipeline, streamlining data from non-standard sources and broadening their ability to onboard diverse institutions worldwide.</p></div></div><div class="text-card-foreground rounded-xl border shadow-sm bg-surface-soft py-4 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-surface-hard py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold">Unwrapping New Possibilities</div></div><div class="p-6 py-2"><p class="text-line-firm/80 p-0">Realizing a 'wrapper app' wouldn't offer the real-time features they wanted, a local design team tapped AlecVision to bridge the gap. We bootstrapped the cross-platform project, providing strategic guidance and hands-on support to give them a running start.</p></div></div><div class="text-card-foreground rounded-xl border shadow-sm bg-surface-soft py-4 max-w-xl space-y-1"><div class="flex flex-col space-y-1.5 p-6 text-surface-hard py-0"><div class="tracking-tight flex items-center gap-x-2 text-lg font-semibold">A Phoenix from the Ashes</div></div><div class="p-6 py-2"><p class="text-line-firm/80 p-0">When a local software shop needed a senior analyst to rebuild a client's engineering team, they partnered with AlecVision to help rescue the project, positioning the client to explore new commercialization opportunities with renewed confidence.</p></div></div></div></section><!--astro:end--></astro-island> <astro-island uid="1pYhjU" prefix="r1" component-url="/_/ProcessSection.DM2KdY_U.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"ProcessSection","value":true}" await-children><section id="process" class="bg-surface-soft flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Our Process</h2><p class="text-line-firm text-base">A proven approach from concept to launch, carefully designed to deliver exceptional results.</p></div><div class="max-w-2xl place-content-center"><ol class="space-y-8"><li class="flex items-center gap-4"><div class="bg-surface-hard text-surface-soft size-9 shrink-0 grow-0 content-center rounded-full text-center font-bold">1</div><div class="flex-col gap-2"><h3 class="text-surface-hard text-xl font-semibold">Discovery & Analysis</h3><p class="text-line-firm/80">We begin by understanding your unique vision and challenges, setting the stage for a tailored solution that meets your goals.</p></div></li><li class="flex items-center gap-4"><div class="bg-surface-hard text-surface-soft size-9 shrink-0 grow-0 content-center rounded-full text-center font-bold">2</div><div class="flex-col gap-2"><h3 class="text-surface-hard text-xl font-semibold">Planning & Strategy</h3><p class="text-line-firm/80">Together, we define clear milestones and choose a strategy that leverages our purpose-driven systems to ensure seamless scalability.</p></div></li><li class="flex items-center gap-4"><div class="bg-surface-hard text-surface-soft size-9 shrink-0 grow-0 content-center rounded-full text-center font-bold">3</div><div class="flex-col gap-2"><h3 class="text-surface-hard text-xl font-semibold">Design & Development</h3><p class="text-line-firm/80">Using our advanced internal methodologies, we rapidly prototype and iteratively develop your solution—ensuring it's both robust and adaptable.</p></div></li><li class="flex items-center gap-4"><div class="bg-surface-hard text-surface-soft size-9 shrink-0 grow-0 content-center rounded-full text-center font-bold">4</div><div class="flex-col gap-2"><h3 class="text-surface-hard text-xl font-semibold">Testing & Deployment</h3><p class="text-line-firm/80">Rigorous testing and careful deployment guarantee that your software is secure, reliable, and ready to perform at scale.</p></div></li><li class="flex items-center gap-4"><div class="bg-surface-hard text-surface-soft size-9 shrink-0 grow-0 content-center rounded-full text-center font-bold">5</div><div class="flex-col gap-2"><h3 class="text-surface-hard text-xl font-semibold">Ongoing Support & Optimization</h3><p class="text-line-firm/80">Our commitment doesn't end at launch. We provide continuous support and fine-tuning to ensure your solution evolves with your business.</p></div></li></ol></div></section><!--astro:end--></astro-island> <astro-island uid="ZxD1e1" prefix="r2" component-url="/_/FAQSection.D37r9Wb9.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"FAQSection","value":true}" await-children><section id="faq" class="bg-surface-firm flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Frequently Asked Questions</h2></div><div class="w-2xl max-w-full place-content-center"><div data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="border-b border-line-firm/20"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-:r2R16:" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-:r2R6:" class="flex-1 text-left [&[data-state=open]>svg]:rotate-180 inline-flex items-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-10 rounded-md w-full justify-between p-0.5 py-6" data-radix-collection-item=""><span class="text-wrap">What types of projects do you handle?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-:r2R16:" hidden="" role="region" aria-labelledby="radix-:r2R6:" data-orientation="vertical" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-line-firm/20"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-:r2R1a:" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-:r2Ra:" class="flex-1 text-left [&[data-state=open]>svg]:rotate-180 inline-flex items-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-10 rounded-md w-full justify-between p-0.5 py-6" data-radix-collection-item=""><span class="text-wrap">What engagement models do you offer?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-:r2R1a:" hidden="" role="region" aria-labelledby="radix-:r2Ra:" data-orientation="vertical" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-line-firm/20"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-:r2R1e:" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-:r2Re:" class="flex-1 text-left [&[data-state=open]>svg]:rotate-180 inline-flex items-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-10 rounded-md w-full justify-between p-0.5 py-6" data-radix-collection-item=""><span class="text-wrap">How do you ensure project success?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-:r2R1e:" hidden="" role="region" aria-labelledby="radix-:r2Re:" data-orientation="vertical" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-line-firm/20"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-:r2R1i:" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-:r2Ri:" class="flex-1 text-left [&[data-state=open]>svg]:rotate-180 inline-flex items-center gap-2 whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-10 rounded-md w-full justify-between p-0.5 py-6" data-radix-collection-item=""><span class="text-wrap">How do you scale projects from a startup idea to an enterprise-level solution?</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-:r2R1i:" hidden="" role="region" aria-labelledby="radix-:r2Ri:" data-orientation="vertical" class="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div></div></section><!--astro:end--></astro-island> <astro-island uid="Z1BDa8u" prefix="r3" component-url="/_/ContactSection.oOr-tGZG.js" component-export="default" renderer-url="/_/client.Bq-ruzfd.js" props="{}" ssr client="load" opts="{"name":"ContactSection","value":true}" await-children><section id="contact" class="bg-surface-soft flex flex-col place-items-center gap-y-6 py-24"><div class="flex flex-col gap-y-6 lg:text-center max-w-full w-2xl px-4 pb-8"><h2 class="text-surface-hard text-4xl font-bold">Get in Touch</h2></div><div class="flex w-3xl max-w-full gap-12 p-4"><div class="text-card-foreground rounded-xl border shadow-sm border-line-firm/20 bg-surface-firm md:100 w-full"><div class="flex flex-col space-y-1.5 p-6"><div class="leading-none font-semibold tracking-tight text-line-firm">Send us a message</div></div><div class="p-6 pt-0"><form class="gform"><div class="space-y-4"><div class="grid grid-cols-2 gap-4"><input class="text-line-hard border-input/50 file:text-foreground placeholder:text-line-hard/65 focus-visible:ring-ring bg-surface-sharp/70 file:bg-surface-sharp/70 flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm" placeholder="First Name" name="firstname" required=""/><input class="text-line-hard border-input/50 file:text-foreground placeholder:text-line-hard/65 focus-visible:ring-ring bg-surface-sharp/70 file:bg-surface-sharp/70 flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm" placeholder="Last Name" name="lastname" required=""/></div><input type="email" class="text-line-hard border-input/50 file:text-foreground placeholder:text-line-hard/65 focus-visible:ring-ring bg-surface-sharp/70 file:bg-surface-sharp/70 flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm" placeholder="Email" name="email" required=""/><input class="text-line-hard border-input/50 file:text-foreground placeholder:text-line-hard/65 focus-visible:ring-ring bg-surface-sharp/70 file:bg-surface-sharp/70 flex h-9 w-full rounded-md border px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm" placeholder="Company" name="company"/><textarea class="border-input/50 placeholder:text-line-hard/65 text-line-hard focus-visible:ring-ring bg-surface-sharp/70 flex min-h-[60px] w-full rounded-md border px-3 py-2 text-base shadow-xs focus-visible:ring-1 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm" placeholder="Tell us about your project" name="message" required=""></textarea><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-surface-hard text-line-hard shadow-sm hover:bg-surface-sharp h-9 px-4 py-2 w-full" type="submit">Send Message</button></div></form></div></div></div><div aria-hidden="true" class="bg-line-hard/50 fixed inset-0 place-content-center opacity-100 transition-opacity duration-300 ease-in aria-hidden:pointer-events-none aria-hidden:opacity-0"><div class="text-card-foreground rounded-xl border shadow-sm border-line-firm/20 bg-surface-soft place-self-center"><div class="flex flex-col space-y-1.5 p-6"><div class="tracking-tight text-surface-hard text-center text-2xl font-bold">Thanks for reaching out!</div></div><div class="p-6 pt-0"><div class="text-line-firm/80"><p>We'll follow up within 1-3 business days.</p></div></div><div class="flex items-center p-6 pt-0"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 bg-surface-hard text-line-hard shadow-sm hover:bg-surface-sharp h-9 px-4 py-2 w-full">Close</button></div></div></div></section><!--astro:end--></astro-island> </main> <footer class="border-surface-hard/20 bg-surface-soft border-t"><div class="flex flex-col items-center justify-center space-y-4 overflow-hidden px-6 py-8 sm:py-12 lg:px-8"><nav class="flex justify-center text-sm" aria-label="Footer"><a href="/#services" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">Services</a><a href="/#about" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">About</a><a href="/#contact" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-line-firm hover:text-line-soft underline-offset-4 hover:underline h-9 px-4 py-2">Contact</a></nav><div class="text-surface-hard hover:text-surface-sharp flex place-content-center gap-x-6"><a href="https://github.com/alecvision" aria-label="GitHub" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 text-line-firm hover:text-line-soft underline-offset-4 hover:underline size-9 [&_svg]:pointer-events-none [&_svg]:size-8 [&_svg]:shrink-0"><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"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg></a><a href="https://www.linkedin.com/in/alechelmturner/" aria-label="LinkedIn" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 text-line-firm hover:text-line-soft underline-offset-4 hover:underline size-9 [&_svg]:pointer-events-none [&_svg]:size-8 [&_svg]:shrink-0"><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"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg></a></div><div class="space-y-2 text-center"><h3 class="text-surface-hard text-4xl font-bold tracking-tight sm:text-5xl">AlecVision</h3><h2 class="text-surface-soft text-md bg-surface-sharp border-surface-soft rounded-md border-1 px-1 py-0.5 font-semibold">DIGITAL INNOVATION STUDIO</h2></div><p class="text-surface-hard flex flex-col text-xs">© <!-- -->2025<!-- --> AlecVision, LLC. All rights reserved.</p><p class="text-surface-hard text-center text-lg">[email protected]<br/>918-404-2425</p></div></footer> </body></html>