1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,1953,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(46932),a=e.i(75157);function o({children:e,className:o,delay:s=0}){let i=(0,r.useRef)(null),[l,c]=(0,r.useState)({x:0,y:0,active:!1});return(0,t.jsxs)(n.motion.div,{ref:i,onMouseMove:e=>{if(!i.current)return;let t=i.current.getBoundingClientRect();c({x:e.clientX-t.left,y:e.clientY-t.top,active:!0})},onMouseLeave:()=>c(e=>({...e,active:!1})),whileHover:{y:-4,boxShadow:"0 0 35px -5px rgba(99,102,241,0.40), 0 20px 30px -10px rgba(0,0,0,0.2)",transition:{duration:.2}},className:(0,a.cn)("h-full relative overflow-hidden rounded-lg",o),children:[(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 z-10 transition-opacity duration-200",style:{opacity:+!!l.active,background:l.active?`radial-gradient(280px circle at ${l.x}px ${l.y}px, rgba(99,102,241,0.10), transparent 70%)`:"transparent"}}),e]})}e.s(["AnimatedCard",()=>o])},55838,(e,t,r)=>{"use strict";var n=e.r(71645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,s=n.useEffect,i=n.useLayoutEffect,l=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var d="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=o({inst:{value:r,getSnapshot:t}}),a=n[0].inst,d=n[1];return i(function(){a.value=r,a.getSnapshot=t,c(a)&&d({inst:a})},[e,r,t]),s(function(){return c(a)&&d({inst:a}),e(function(){c(a)&&d({inst:a})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:d},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52683,e=>{"use strict";var t=e.i(43476),r=e.i(19455),n=e.i(22016),a=e.i(46932),o=e.i(71645),s=e.i(30207),i=e.i(34620);e.i(74080);var l=e.i(91918),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let n=(0,l.createSlot)(`Primitive.${r}`),a=o.forwardRef((e,a)=>{let{asChild:o,...s}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(o?n:r,{...s,ref:a})});return a.displayName=`Primitive.${r}`,{...e,[r]:a}},{}),d=e.i(2239);function u(){return()=>{}}var x="Avatar",[m,p]=function(e,r=[]){let n=[],a=()=>{let t=n.map(e=>o.createContext(e));return function(r){let n=r?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return a.scopeName=e,[function(r,a){let s=o.createContext(a);s.displayName=r+"Context";let i=n.length;n=[...n,a];let l=r=>{let{scope:n,children:a,...l}=r,c=n?.[e]?.[i]||s,d=o.useMemo(()=>l,Object.values(l));return(0,t.jsx)(c.Provider,{value:d,children:a})};return l.displayName=r+"Provider",[l,function(t,n){let l=n?.[e]?.[i]||s,c=o.useContext(l);if(c)return c;if(void 0!==a)return a;throw Error(`\`${t}\` must be used within \`${r}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let a=r(e)[`__scope${n}`];return{...t,...a}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(a,...r)]}(x),[g,f]=m(x),h=o.forwardRef((e,r)=>{let{__scopeAvatar:n,...a}=e,[s,i]=o.useState("idle");return(0,t.jsx)(g,{scope:n,imageLoadingStatus:s,onImageLoadingStatusChange:i,children:(0,t.jsx)(c.span,{...a,ref:r})})});h.displayName=x;var b="AvatarImage",v=o.forwardRef((e,r)=>{let{__scopeAvatar:n,src:a,onLoadingStatusChange:l=()=>{},...x}=e,m=f(b,n),p=function(e,{referrerPolicy:t,crossOrigin:r}){let n=(0,d.useSyncExternalStore)(u,()=>!0,()=>!1),a=o.useRef(null),s=n?(a.current||(a.current=new window.Image),a.current):null,[l,c]=o.useState(()=>y(s,e));return(0,i.useLayoutEffect)(()=>{c(y(s,e))},[s,e]),(0,i.useLayoutEffect)(()=>{let e=e=>()=>{c(e)};if(!s)return;let n=e("loaded"),a=e("error");return s.addEventListener("load",n),s.addEventListener("error",a),t&&(s.referrerPolicy=t),"string"==typeof r&&(s.crossOrigin=r),()=>{s.removeEventListener("load",n),s.removeEventListener("error",a)}},[s,r,t]),l}(a,x),g=(0,s.useCallbackRef)(e=>{l(e),m.onImageLoadingStatusChange(e)}
1);return(0,i.useLayoutEffect)(()=>{"idle"!==p&&g(p)},[p,g]),"loaded"===p?(0,t.jsx)(c.img,{...x,ref:r,src:a}):null});v.displayName=b;var w="AvatarFallback",j=o.forwardRef((e,r)=>{let{__scopeAvatar:n,delayMs:a,...s}=e,i=f(w,n),[l,d]=o.useState(void 0===a);return o.useEffect(()=>{if(void 0!==a){let e=window.setTimeout(()=>d(!0),a);return()=>window.clearTimeout(e)}},[a]),l&&"loaded"!==i.imageLoadingStatus?(0,t.jsx)(c.span,{...s,ref:r}):null});function y(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}j.displayName=w;var N=e.i(75157);function k({className:e,...r}){return(0,t.jsx)(h,{"data-slot":"avatar",className:(0,N.cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full",e),...r})}function S({className:e,...r}){return(0,t.jsx)(v,{"data-slot":"avatar-image",className:(0,N.cn)("aspect-square size-full",e),...r})}function A({className:e,...r}){return(0,t.jsx)(j,{"data-slot":"avatar-fallback",className:(0,N.cn)("bg-muted flex size-full items-center justify-center rounded-full",e),...r})}var I=e.i(75254);let _=(0,I.default)("linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]),C=(0,I.default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);var R=e.i(1953);function E(){return(0,t.jsx)(R.AnimatedCard,{className:"col-span-1 md:col-span-2 lg:col-span-2 !rounded-none",children:(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 bg-border gap-[1px] border border-border p-[1px]",children:[(0,t.jsx)("div",{className:"md:col-span-2 lg:col-span-4 bg-background p-6 flex flex-col",children:(0,t.jsxs)("div",{className:"flex flex-col gap-6 h-full",children:[(0,t.jsxs)(k,{className:"h-24 w-24 rounded-[2px] shrink-0 border border-border",children:[(0,t.jsx)(S,{src:"/linkedin profile pic.jpg",alt:"Ray Vakil",className:"object-cover"}),(0,t.jsx)(A,{className:"bg-muted text-foreground font-mono text-2xl rounded-[2px]",children:"RV"})]}),(0,t.jsxs)("div",{className:"mt-auto",children:[(0,t.jsx)("h2",{className:"text-foreground text-3xl font-black tracking-tight mb-4 uppercase",children:"Ray Vakil"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,t.jsx)("a",{href:"https://www.linkedin.com/in/rayvakil/",target:"_blank",rel:"noopener noreferrer",children:(0,t.jsxs)(r.Button,{size:"sm",variant:"outline",className:"gap-2 rounded-[2px] border-border hover:bg-muted font-mono text-xs uppercase bg-background text-foreground",children:[(0,t.jsx)(_,{className:"h-3 w-3"})," LinkedIn"]})}),(0,t.jsx)("a",{href:"https://github.com/RayanVakil",target:"_blank",rel:"noopener noreferrer",children:(0,t.jsxs)(r.Button,{size:"sm",variant:"outline",className:"gap-2 rounded-[2px] border-border hover:bg-muted font-mono text-xs uppercase bg-background text-foreground",children:[(0,t.jsx)(C,{className:"h-3 w-3"})," GitHub"]})}),(0,t.jsx)(n.default,{href:"/projects",className:"w-full sm:w-auto",children:(0,t.jsx)(r.Button,{size:"sm",className:"w-full bg-transparent border border-foreground text-foreground rounded-none transition-all duration-75 hover:bg-foreground hover:text-background hover:translate-x-[-2px] hover:translate-y-[-2px] hover:shadow-[4px_4px_0px_currentColor] font-mono text-xs uppercase font-bold",children:"View Work"})})]})]})]})}),(0,t.jsxs)("div",{className:"md:col-span-2 lg:col-span-8 bg-card p-6 flex flex-col justify-center",children:[(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs uppercase tracking-widest mb-2",children:"ROLE SPECIFICATION"}),(0,t.jsxs)("h3",{className:"text-foreground font-mono text-xl sm:text-2xl md:text-3xl font-bold uppercase leading-tight",children:["AI Engineer",(0,t.jsx)("span",{className:"text-muted-foreground mx-3",children:"/"}),"Technical Solutions Architect"]})]}),(0,t.jsxs)("div",{className:"md:col-span-1 lg:col-span-4 bg-background p-6",children:[(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs uppercase tracking-widest mb-4 border-b border-border pb-2",children:"01 // Purpose"}
1),(0,t.jsx)("p",{className:"text-foreground/80 text-sm font-mono leading-relaxed",children:"I genuinely love building AI systems that take over the heavy lifting so people can focus on what actually matters. Whether I'm tinkering with a wild new concept or shipping a production-ready app to clients, I thrive on turning ambitious ideas into reality."})]}),(0,t.jsxs)("div",{className:"md:col-span-1 lg:col-span-4 bg-background p-6",children:[(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs uppercase tracking-widest mb-4 border-b border-border pb-2",children:"02 // Expertise"}),(0,t.jsx)("p",{className:"text-foreground/80 text-sm font-mono leading-relaxed",children:"I spend my days deep in Agentic AI and complex RAG pipelines. But writing the code is only half the battleâif people don't love using it, it doesn't matter. Whether I'm orchestrating real-time AI voice agents for AuraDesk or locking down custom middleware, my goal is always to build things that are fast, scalable, and actually make a difference."})]}),(0,t.jsxs)("div",{className:"md:col-span-2 lg:col-span-4 bg-background p-6",children:[(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs uppercase tracking-widest mb-4 border-b border-border pb-2",children:"03 // Execution"}),(0,t.jsx)("p",{className:"text-foreground/80 text-sm font-mono leading-relaxed",children:"Because I've spent years jumping between React Native, Python, and Linux automation, I'm comfortable owning a project from start to finish. I don't just sit in a corner writing codeâI love talking to clients, designing the architecture, and making sure the technology we build actually solves the right problems."})]})]})})}var P=e.i(16512);let M="!<>-_\\\\/[]{}â=+*^?#________";function L({text:e,className:r="",as:n="span",variant:s="blur",delay:i=0}){let[l,c]=(0,o.useState)("scramble"===s?"":e);if((0,o.useEffect)(()=>{let t;if("scramble"!==s)return;let r=0,n=setTimeout(()=>{t=setInterval(()=>{c(t=>e.split("").map((t,n)=>n<r?e[n]:M[Math.floor(Math.random()*M.length)]).join("")),r>=e.length&&clearInterval(t),r+=1/3},30)},1e3*i);return()=>{clearTimeout(n),clearInterval(t)}},[e,s,i]),"blur"===s){let s=e.split(" ");return(0,t.jsx)(n,{className:r,children:s.map((e,r)=>(0,t.jsxs)(o.default.Fragment,{children:[(0,t.jsx)(a.motion.span,{initial:{filter:"blur(10px)",opacity:0,y:10},animate:{filter:"blur(0px)",opacity:1,y:0},transition:{duration:.8,delay:i+.1*r,ease:[.2,.65,.3,.9]},className:"inline-block",children:e}),r<s.length-1&&" "]},r))})}return"scramble"===s?(0,t.jsx)(n,{className:r,children:l}):(0,t.jsx)(n,{className:r,children:e})}let T=["React 19","Next.js 15","TypeScript","Python","FastAPI","Model Context Protocol (MCP)","Azure AI","AWS","Supabase","LangChain","LangGraph","Firebase","Node.js","RAG Pipelines","Saga Pattern","LLM Orchestration","React Native","Google Gemini 2.0","Pipecat","WebSockets","TanStack Start","Docker & Kubernetes","PostgreSQL","Framer Motion","Tailwind CSS","Autonomous Agents","Cloud Functions","gRPC & Protobuf","Drizzle ORM","Chrome Extensions","Java 21","C++"];function z(){return(0,t.jsx)("main",{className:"min-h-screen bg-transparent text-foreground p-4 pt-24 md:p-8 md:pt-28 font-sans selection:bg-indigo-500/30",children:(0,t.jsxs)("div",{className:"relative",style:{zIndex:2},children:[(0,t.jsx)("div",{className:"sr-only",children:(0,t.jsx)("p",{children:"Ray Vakil is an experienced AI Engineer, Full-Stack Software Engineer, and Technical Account Manager at TechInvolvedHQ. He specializes in building agentic AI systems, RAG (Retrieval-Augmented Generation) pipelines, and autonomous Python architectures. His flagship projects include Saga Gateway (an enterprise MCP proxy) and AuraDesk (a cognitive voice engine). Ray is actively seeking full-time opportunities in Software Engineering, AI Engineering, and Technical Account Management."})}),(0,t.jsx)("div",{className:"max-w-6xl mx-auto mb-10 overflow-hidden [mask-image:linear-gradient(to_right,transparent,black_15%,black_85%,transparent)]",children:(0,t.jsx)("div",{className:"flex gap-10 animate-marquee whitespace-nowrap",children:[...T,...T].map((e,r)=>
1(0,t.jsx)("span",{className:"text-foreground/60 text-xs font-mono font-semibold shrink-0 uppercase tracking-widest",children:e},r))})}),(0,t.jsxs)("div",{className:"flex flex-col items-center w-full mt-4 md:mt-12 mb-20",children:[(0,t.jsxs)("h1",{className:"text-center mb-8 md:mb-12 flex flex-col gap-2 md:gap-4 px-2",children:[(0,t.jsx)(L,{text:"Architecting Agentic AI",variant:"scramble",delay:.2,as:"span",className:"text-xl sm:text-2xl md:text-4xl font-mono text-muted-foreground"}),(0,t.jsx)(L,{text:"Building the Autonomous Workforce",variant:"blur",delay:.8,as:"span",className:"text-4xl sm:text-5xl md:text-[6rem] font-black leading-none text-foreground pb-1 tracking-tight"})]}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-6 mb-16 w-full px-4",children:[(0,t.jsx)(P.ContactModal,{children:(0,t.jsx)(r.Button,{className:"h-14 px-12 text-lg font-bold bg-indigo-500 text-white border border-indigo-500 rounded-none transition-all duration-75 hover:bg-transparent hover:text-indigo-500 hover:translate-x-[-2px] hover:translate-y-[-2px] hover:shadow-[4px_4px_0px_#6366f1] uppercase font-mono tracking-widest w-full sm:w-auto",children:"Hire Me"})}),(0,t.jsx)(n.default,{href:"/projects",className:"w-full sm:w-auto",children:(0,t.jsx)(r.Button,{className:"h-14 px-12 text-lg font-bold bg-transparent border border-foreground
1/40 text-foreground/80 rounded-none transition-all duration-75 hover:bg-foreground hover:text-background hover:translate-x-[-2px] hover:translate-y-[-2px] hover:shadow-[4px_4px_0px_currentColor] hover:border-foreground uppercase font-mono tracking-widest w-full",children:"View Architecture"})})]}),(0,t.jsx)("div",{className:"w-full max-w-6xl mx-auto px-4 md:px-0",children:(0,t.jsx)(E,{})})]}),(0,t.jsx)("div",{className:"w-full max-w-6xl mx-auto px-4 md:px-0 mt-8 mb-8",children:(0,t.jsxs)(a.motion.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},whileHover:{scale:1.01},transition:{duration:.5,ease:"easeOut"},className:"relative overflow-hidden rounded-2xl bg-gradient-to-br from-indigo-900/90 via-purple-900/80 to-slate-900 border border-indigo-500/50 shadow-[0_0_40px_-10px_rgba(99,102,241,0.5)] p-8 md:p-12 text-center flex flex-col items-center justify-center gap-6",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-indigo-500/20 via-transparent to-transparent opacity-60"}),(0,t.jsxs)("div",{className:"relative z-10",children:[(0,t.jsx)("span",{className:"inline-block py-1 px-3 rounded-full bg-indigo-500/20 border border-indigo-400 text-indigo-300 text-xs font-mono font-bold tracking-widest uppercase mb-4 animate-pulse",children:"ð New Project Release"}),(0,t.jsx)("h2",{className:"text-3xl md:text-5xl font-black text-white mb-4 tracking-tight drop-shadow-lg",children:"Saga Gateway"}),(0,t.jsx)("p",{className:"text-indigo-200/80 max-w-2xl mx-auto text-lg mb-8",children:"An Out-of-Process MCP Gateway acting as a secure proxy between autonomous AI agents and critical financial APIs."}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 w-full",children:[(0,t.jsx)("a",{href:"https://www.sagagateway.com/",target:"_blank",rel:"noopener noreferrer",className:"w-full sm:w-auto",children:(0,t.jsx)(r.Button,{className:"w-full h-12 px-8 bg-indigo-500 hover:bg-indigo-600 text-white font-bold text-md rounded-full shadow-lg shadow-indigo-500/30 transition-all hover:shadow-indigo-500/50 flex items-center justify-center gap-2",children:"Visit sagagateway.com"})}),(0,t.jsx)(n.default,{href:"/projects",className:"w-full sm:w-auto",children:(0,t.jsx)(r.Button,{variant:"outline",className:"w-full h-12 px-8 border-indigo-400/50 text-indigo-100 hover:bg-indigo-500/10 hover:text-white font-bold text-md rounded-full transition-all bg-transparent flex items-center justify-center",children:"View Architecture Specs"})})]})]})]})}),(0,t.jsxs)("footer",{className:"max-w-6xl mx-auto mt-20 py-10 border-t border-border/20 text-center text-muted-foreground/60 text-sm space-y-2",children:[(0,t.jsx)("p",{children:"© 2026 TechInvolvedHQ. Architected by Ray Vakil."}),(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"tel:+18883621110",className:"hover:text-indigo-400 transition-colors",children:"TechInvolved HQ +1 (888) 362-1110"})})]})]})})}e.s(["default",()=>z],52683)}]);
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.