diff --git a/assets/index-ecbc47db.js b/assets/index-3b5630d5.js similarity index 93% rename from assets/index-ecbc47db.js rename to assets/index-3b5630d5.js index fffa98f..e8ee127 100644 --- a/assets/index-ecbc47db.js +++ b/assets/index-3b5630d5.js @@ -49,7 +49,7 @@ object-assign top: ${s}px !important; left: ${l}px !important; } - `),()=>{document.head.removeChild(u)}},[t]),T.createElement(c5,{isPresent:t,childRef:r,sizeRef:i},T.cloneElement(e,{ref:r}))}const rl=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=Hc(d5),l=T.useId(),u=T.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{s.set(c,!0);for(const f of s.values())if(!f)return;r&&r()},register:c=>(s.set(c,!1),()=>s.delete(c))}),o?void 0:[n]);return T.useMemo(()=>{s.forEach((c,f)=>s.set(f,!1))},[n]),T.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=T.createElement(f5,{isPresent:n},e)),T.createElement(rs.Provider,{value:u},e)};function d5(){return new Map}function m5(e){return T.useEffect(()=>()=>e(),[])}const Jn=e=>e.key||"";function p5(e,t){e.forEach(n=>{const r=Jn(n);t.set(r,n)})}function h5(e){const t=[];return T.Children.forEach(e,n=>{T.isValidElement(n)&&t.push(n)}),t}const _1=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{const s=T.useContext(Mc).forceRender||u5()[0],l=J1(),u=h5(e);let c=u;const f=T.useRef(new Map).current,d=T.useRef(c),p=T.useRef(new Map).current,y=T.useRef(!0);if(Vi(()=>{y.current=!1,p5(u,p),d.current=c}),m5(()=>{y.current=!0,p.clear(),f.clear()}),y.current)return T.createElement(T.Fragment,null,c.map(m=>T.createElement(rl,{key:Jn(m),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a},m)));c=[...c];const A=d.current.map(Jn),C=u.map(Jn),g=A.length;for(let m=0;m{if(C.indexOf(h)!==-1)return;const x=p.get(h);if(!x)return;const w=A.indexOf(h);let P=m;if(!P){const E=()=>{p.delete(h),f.delete(h);const S=d.current.findIndex(M=>M.key===h);if(d.current.splice(S,1),!f.size){if(d.current=u,l.current===!1)return;s(),r&&r()}};P=T.createElement(rl,{key:Jn(x),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:a},x),f.set(h,P)}c.splice(w,0,P)}),c=c.map(m=>{const h=m.key;return f.has(h)?m:T.createElement(rl,{key:Jn(m),isPresent:!0,presenceAffectsLayout:o,mode:a},m)}),T.createElement(T.Fragment,null,f.size?c:c.map(m=>T.cloneElement(m)))};function g5(e){e.values.forEach(t=>t.stop())}function v5(){const e=new Set,t={subscribe(n){return e.add(n),()=>void e.delete(n)},start(n,r){const i=[];return e.forEach(o=>{i.push(M1(o,n,{transitionOverride:r}))}),Promise.all(i)},set(n){return e.forEach(r=>{xx(r,n)})},stop(){e.forEach(n=>{g5(n)})},mount(){return()=>{t.stop()}}};return t}function y5(){const e=Hc(v5);return Vi(e.mount,[]),e}const A5=y5;var Cu=new Map,Ro=new WeakMap,Lm=0,x5=void 0;function w5(e){return e?(Ro.has(e)||(Lm+=1,Ro.set(e,Lm.toString())),Ro.get(e)):"0"}function C5(e){return Object.keys(e).sort().filter(t=>e[t]!==void 0).map(t=>`${t}_${t==="root"?w5(e.root):e[t]}`).toString()}function S5(e){let t=C5(e),n=Cu.get(t);if(!n){const r=new Map;let i;const o=new IntersectionObserver(a=>{a.forEach(s=>{var u;const l=s.isIntersecting&&i.some(c=>s.intersectionRatio>=c);e.trackVisibility&&typeof s.isVisible>"u"&&(s.isVisible=l),(u=r.get(s.target))==null||u.forEach(c=>{c(l,s)})})},e);i=o.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:o,elements:r},Cu.set(t,n)}return n}function k5(e,t,n={},r=x5){if(typeof window.IntersectionObserver>"u"&&r!==void 0){const l=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:typeof n.threshold=="number"?n.threshold:0,time:0,boundingClientRect:l,intersectionRect:l,rootBounds:l}),()=>{}}const{id:i,observer:o,elements:a}=S5(n);let s=a.get(e)||[];return a.has(e)||a.set(e,s),s.push(t),o.observe(e),function(){s.splice(s.indexOf(t),1),s.length===0&&(a.delete(e),o.unobserve(e)),a.size===0&&(o.disconnect(),Cu.delete(i))}}function E5({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:o,skip:a,initialInView:s,fallbackInView:l,onChange:u}={}){var m;const[c,f]=T.useState(null),d=T.useRef(),[p,y]=T.useState({inView:!!s,entry:void 0});d.current=u,T.useEffect(()=>{if(a||!c)return;let h;return h=k5(c,(x,w)=>{y({inView:x,entry:w}),d.current&&d.current(x,w),w.isIntersecting&&o&&h&&(h(),h=void 0)},{root:i,rootMargin:r,threshold:e,trackVisibility:n,delay:t},l),()=>{h&&h()}},[Array.isArray(e)?e.toString():e,c,i,r,o,a,n,l,t]);const A=(m=p.entry)==null?void 0:m.target,C=T.useRef();!c&&A&&!o&&!a&&C.current!==A&&(C.current=A,y({inView:!!s,entry:void 0}));const g=[f,p.inView,p.entry];return g.ref=g[0],g.inView=g[1],g.entry=g[2],g}const T5={visible:{opacity:1,scale:1,transition:{duration:.5}},hidden:{opacity:0,scale:.7}};function P5(){const e=A5(),[t,n]=E5();return T.useEffect(()=>{n?e.start("visible"):e.start("hidden")},[e,n]),v.jsx("section",{id:"projects",className:"w-full h-auto md:h-auto text-center py-16 flex items-center justify-center md:mb-24 md:mt-8",children:v.jsxs("div",{className:"flex flex-col items-center justify-center",children:[v.jsxs("div",{className:"mt-8 md:mt-12",children:[v.jsx("h2",{className:"text-4xl mx-4 md:text-5xl font-extrabold font-cal",children:"Personal Projects"}),v.jsx("p",{className:"text-xl mx-3 md:text-xl py-6 text-gray-500",children:"Click One To Visit Code"})]}),v.jsxs(fs.div,{ref:t,variants:T5,initial:"hidden",animate:e,className:"w-full grid grid-cols-1 md:grid-cols-2 grid-rows-2 md:grid-rows-1 mb-12 gap-3 sm:gap-2",children:[v.jsx("a",{href:"https://github.com/Vicba/movies-recommendation",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"Movies app"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Netflix clone with vector db for similar movie recommendation"}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:_o,alt:"python",className:"h-6"}),v.jsx("img",{src:ni,alt:"tailwindcss",className:"h-6"}),v.jsx("img",{src:Rg,alt:"docker",className:"h-4"}),v.jsx("img",{src:tA,alt:"weaviate",className:"h-6"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/BirdSnap",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"BirdSnap"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"CNN model to classify bird species using a kaggle dataset. Build this to learn PyTorch and Weights&Biases."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Ng,alt:"pytorch",className:"h-7"}),v.jsx("img",{src:rA,alt:"Weights&Biases",className:"h-5"}),v.jsx("img",{src:nA,alt:"Google cloud platform",className:"h-4"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/NLP-lyrics-genre",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"NLP-lyrics-genre"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Using NLP to classify lyrics sentences into the rap or pop genre."}),v.jsx("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:v.jsx("img",{src:_o,alt:"Python",className:"h-6"})})]})}),v.jsx("a",{href:"https://github.com/Vicba/SentimentAPI",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"SentimentAPI"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"API where users can analyse the sentiment of text with their API keys."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:_o,alt:"python",className:"h-6"}),v.jsx("img",{src:ni,alt:"tailwindcss",className:"h-6"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/Sociali",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"Sociali"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Very simple instagram like photo-sharing app. This project was made to explore the world of AWS."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:_2,alt:"react",className:"h-6"}),v.jsx("img",{src:$2,alt:"nodejs",className:"h-5"}),v.jsx("img",{src:bg,alt:"MongoDB",className:"h-5"}),v.jsx("img",{src:eA,alt:"aws",className:"h-5"}),v.jsx("img",{src:ni,alt:"tailwind",className:"h-5"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/In-browser-markdown-editor",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"In-Browser Markdown editor"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Note taking markdown editor I've made to have it as an open tab for personal notes or things to remember."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:ni,alt:"tailwind",className:"h-5"})]})]})})]})]})})}const b5="/assets/typescript-94b46e67.png",R5="/assets/nextjs-7acb7929.png",N5="/assets/tf-6005549a.png",j5="/assets/scikit-learn-a2a12652.png";function L5(){return v.jsxs("ul",{className:"flex flex-col items-center justify-center space-y-3",children:[v.jsxs("li",{className:"flex flex-row",children:["Nextjs ",v.jsx("img",{src:R5,alt:"Nextjs",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Python ",v.jsx("img",{src:_o,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Typescript ",v.jsx("img",{src:b5,alt:"Typescript",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Tailwindcss ",v.jsx("img",{src:ni,alt:"Tailwindcss",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Scikit-learn ",v.jsx("img",{src:j5,alt:"Scikit-learn",className:"h-4 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["TensorFlow ",v.jsx("img",{src:N5,alt:"Tensorflow",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["PyTorch ",v.jsx("img",{src:Ng,alt:"pytorch",className:"h-6 ml-2"})]})]})}const M5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAxCAYAAACYq/ofAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQ1SURBVHgBzZp9aE1xGMefa0jmbV7W2GTkJa9/CHlJUUSi/EFJEhJ/KK/JS2FRoiRS/qCEUN4lQoTGxtZqDWPW2KbVks3aZsRsj+/jnLuu67w85+7ec/apT6c5z+/5/Z57fvd3zvldIYoTzDwKhxlwMhwJM+AA2AOGYAP8BOtgCcyF+aFQqJSCBoMfCvfBMtjK3pE2r+BOOIT8Bp1Ohbc5/pyFYynRoJN0eJkTzylO1BVC4uWwjv2jEq6ieIFk3eBxDo4DsBO1ByQYAHM4eO7CXk5jDTkUkYrDUziaOgYv4Dws141WJy0vGYrogsNN6jhFCNPgRbaZZnZz7yCcTh2PRWSMzR1UvN5hrn6ES+B2+IDjSwu8A7fBpfCLQ+xityIyYZVDgh0W8bLmx3JXD/MDHoWDonIfdGjzFfaNjO8cVUsWTCd7CiL/wBevAod1SHoYx/OwCebBIlgNa+A3MqawrDr9zONMOAW2wvXIU2bR12uyJwUegBv+O4PBTGJ3hpFPoK+JLmORWdD2OBP5Zd+myP+L/INdzsutY/u/LYy5rmEm+QT6mq8YTzOUV4W2K7JKmX8i+ccURYx8x9e2/YWqihXV/4YTyCfYeFX4rhhXfrjBONaxi3wGfR5RjEum10AJXqMIroAh8hn0mcy6V4eV8h2Zpsh5C2u92yoSd9Cn3JeuKEJHSiEjFIHXKTjuK2LGSyEpisBKCo4iRUyaFKJ5N26k4GhVxKRKIcmKwCQKDs0ik6x9F9YUmyi6KmJapJB6RWBPCo4MRUy9FFKrCJxNwTFDEVMjhVQpAn17WLRAU0iTFPJeEShPor5PL/SZhsNcRWihFFKgCJQiNpH/7CTdqpUvVQ9n3Tu3PIkOJ59AX8PgT8W45Kl8YLhRCev4YF7uRBcxGJYrx/T3MT58H7mg7EPe2XPRWPN8FhPILS9Uz2GmssnlyMaDLSqVqfQIllqckz2okzCT4gRyjWZja6mZ9cg4MqIT3YgKkiJCbMzVjWxs81uRDXfDWaxc2cy8qXABzIIvOTbOWCW32g4qNgvpxMaGWaVL4nJW/EDDxgyo4fYhC9QIuw4uWDSQwcunlwGvuCRfQUoQu5nbxwmn5Gls/Wp5wzzfh43tTStkvnb2UEgKx045THfrYKlN4zGwCzwGt8Ba89/lEsvyvZU8gjafOTaWaTuw2r24FHFeNvQWwvFwPxwFD5FH0OYNeyfLSwfyyT+0SLKX4gjyFbE3rrHX3Rw06A8LLZLJMj0HJkXF9yaPeCzkMexOsWAW88QmcQMbP/yI1fApeYT1U+tqLB9UdGdJ7PyjS5hs8gjavFPklb7jtzmIZKvZ+YaYQx5xKURWxUWUCJB4CDxt03Gex3R2hchyLs9xfSnRsLHsnosawDPyCNq8jWjfYuYcR35jXqF98B7UvJJGt5ebr/ySu4eN/6AQM38AcoEG7uWxTZ0AAAAASUVORK5CYII=",O5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARSSURBVHgBzZldbBRVFMf/Z6bbKlHTUMojoSXBr5iqtFF5MFC0hlSikkAk0QejRhMNilESobDdFJNWxGDig/rQYlMN2hejTTVKaQnEmPgAGNIXDJKg8hGgaSi0W3bncGbLRwkw58xddre/ZGdmN/+5e87M3HP/9w4hJvzs7CfAWA0PTfKtFqA7Ik9YsBzwyyMElJb2Dkpbh5DgNurYcRQxIKuQn6+sRNb7RA5fRRzUBG5gC+6al6RUKrCIPYuIl4TB+7sRN3g3WnD+WB8nl5RZxKYEcLf3qaTxCIoF83KM1XxkkaoJcPPsxbJ7BcWGsY7Xv3SvJtPvgIfXUQoICWQSr2kyPQHGUpSORk0QmQCvgi+7eSgVhAc1iX4HSO5ByWBfU0QmQL3Iyu4YSgXTX5rEUEZpEKVjnyYwdGL6GqUiwGeaRE2A+k4PSRY9KDbM22l71xFNZhuJx/G2bIdRLAh7sK3rPYvUlADtGhnFOC+Wq/IFCg3hc3i0gohM1c/sRq/AK6oaZLdWjkKLUaueYHOj/0mx7kOCeqijU+240zE5vukMzDo9Ounhfzkck+wzrLQxcRZzVnbTmas/7OWFSOMNOXpGPvfJJ6z15yUBTz4T6OhEHMx34Pd1fOfZ42jxCO/K11nW8yYSlxNgJuxGmwT5vvxcgVtH1IVRfICV05KOwNaJhZGT+FKC34AYwV8jF/w3EvxGRAWfk4rzvQcDGORKGDAl0L+GU9KlXoYrA0hKYGtinFGHDL6yCNVH6OcXeb5cv8Nw6C8hWxtRP1iDP+FQMHJO+GkaipLoExoPb8Ix+JBD1XgLLsEjd9ZtmA8EuieP4qKPBrjTrAksdnou8iCgvOYTlfg+2lLrXgh5zgfY/fGzoCYgizOjyAMiGWXdOYfVlI0SqAn4hF+QBxUZ/AZ3dmkCNYHxAKGBM62S3Yz7T2EHXCGo5lFN4IWddFTGgTY48s4+HJFA2hGfbiyjXzWRaSRu/pZaJYhYLvE6GsWCEH4y6xn/iMXbaJGavRBG8JSUo4/hQujtMzkrsU3VMnoxhkexlP6Fgdgj5I+ruMYvwyY5XCRhPSQtRLZx1Y1eoZ8XoFwWcIGHEXqeKcKVjyHpaZ1ooj2IQfwh/o8PH0BFuQzx1OwFVJXI+lVR8jR7c/DYhptb43CQqpWnoJ4uwhH7IBP6+QOpLbJfP3UeI/AYaU8pUJMR7nmqxkfWeQ17Agdad4Z/6WjLCoatE+9PtiIMfgaiJ7A/OV+u+ibMUGzvBzhGuS0yemBZasIMxjAfCKoxg7GsTuc3H/DT4ygglmd7BM7wSdSnLqCAWBJQPfktCQr/bsEwqU+H6zNuQ30ZCv5uQU9gUfvfst2KuBB6UJfKazZnwVbfDw9vlm0/rJBMYs6l16IIqG8Bc/QOM5bN/Q5V1aH+SUX9A3jyOTzeblqczZf41uxgSw24rAUBN0iFXSjrtiytnEDY2T2/G3Wb96KIXAJbfyZyUvW2xwAAAABJRU5ErkJggg==",I5="data:image/png;base64,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",D5="data:image/png;base64,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",F5="data:image/png;base64,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";function V5(){return v.jsxs("ul",{className:"flex flex-col items-center justify-center space-y-3",children:[v.jsxs("li",{className:"flex flex-row",children:["GitHub/GitLab ",v.jsx("img",{src:M5,alt:"github",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Figma ",v.jsx("img",{src:O5,alt:"nodejs",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Weights & Biases ",v.jsx("img",{src:F5,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Docker ",v.jsx("img",{src:Rg,alt:"react",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["MySQL ",v.jsx("img",{src:I5,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["MongoDB ",v.jsx("img",{src:bg,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Linux ",v.jsx("img",{src:D5,alt:"javascript",className:"h-5 ml-2"})]})]})}function B5(){return v.jsxs("section",{id:"skills",className:"md:h-screen w-full bg-dark-blue text-white flex flex-col items-center justify-center py-16 md:my-0",children:[v.jsx("div",{className:"my-12",children:v.jsx("h2",{className:"text-4xl mx-4 md:text-5xl font-extrabold font-cal",children:"Skillset"})}),v.jsxs("div",{className:"w-5/6 flex flex-col items-center justify-center space-y-10 lg:flex-row lg:space-x-40 lg:space-y-0",children:[v.jsxs("div",{className:"bg-card-blue w-full md:w-96 md:h-96 py-8 px-3 rounded-xl shadow-xl",children:[v.jsx("h1",{className:"font-extrabold text-lg tracking-wider mt-2 text-center mb-10",children:"Languages & Frameworks"}),v.jsx(L5,{})]}),v.jsxs("div",{className:"bg-card-blue w-full md:w-96 md:h-96 py-8 mx-3 rounded-xl shadow-xl ",children:[v.jsx("h1",{className:"font-extrabold text-lg tracking-wider mt-2 text-center mb-10",children:"Tools & Services"}),v.jsx(V5,{})]})]})]})}function Ut({title:e,link:t,icon:n}){return v.jsxs("a",{href:t,target:"_blank",className:"flex items-center justify-center flex-col gap-1 font-thin text-sm",children:[n,e]})}const z5="/assets/CV-225a8dec.pdf",U5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"28",width:"28",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinejoin:"round",style:{marginTop:"1px"},children:v.jsx("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"})}),H5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:v.jsx("path",{d:"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"})}),W5=()=>v.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"29",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[v.jsx("path",{d:"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"}),v.jsx("polyline",{points:"22,6 12,13 2,6"})]}),Q5=()=>v.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[v.jsx("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"}),v.jsx("rect",{x:"2",y:"9",width:"4",height:"12"}),v.jsx("circle",{cx:"4",cy:"4",r:"2"})]}),Y5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"27",fill:"currentColor",viewBox:"0 0 16 16",children:v.jsx("path",{d:"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.669 11.538a.498.498 0 0 1-.686.165c-1.879-1.147-4.243-1.407-7.028-.77a.499.499 0 0 1-.222-.973c3.048-.696 5.662-.397 7.77.892a.5.5 0 0 1 .166.686zm.979-2.178a.624.624 0 0 1-.858.205c-2.15-1.321-5.428-1.704-7.972-.932a.625.625 0 0 1-.362-1.194c2.905-.881 6.517-.454 8.986 1.063a.624.624 0 0 1 .206.858zm.084-2.268C10.154 5.56 5.9 5.419 3.438 6.166a.748.748 0 1 1-.434-1.432c2.825-.857 7.523-.692 10.492 1.07a.747.747 0 1 1-.764 1.288z",fill:"white"})}),G5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"29",height:"29",style:{fill:"white"},children:v.jsx("path",{d:"M 13 3 L 13 22.3125 L 13.1875 22.59375 L 17.78125 29 L 17.90625 29.21875 L 18.75 30.53125 L 22.875 37 L 20.625 37 L 20.34375 37.25 L 14 42.8125 L 14 37 L 11 37 C 8.722656 37 7 35.277344 7 33 L 7 12 C 7 9.722656 8.722656 8 11 8 L 12 8 L 12 6 L 11 6 C 7.675781 6 5 8.675781 5 12 L 5 33 C 5 36.324219 7.675781 39 11 39 L 12 39 L 12 47.21875 L 13.65625 45.75 L 21.375 39 L 40 39 C 43.324219 39 46 36.324219 46 33 L 46 12 C 46 8.675781 43.324219 6 40 6 L 25 6 L 25 3 Z M 15 5 L 23 5 L 23 19.5 L 19.375 18.0625 L 19 17.9375 L 18.625 18.0625 L 15 19.5 Z M 25 8 L 40 8 C 42.277344 8 44 9.722656 44 12 L 44 29 L 20.25 29 L 24.8125 22.59375 L 25 22.3125 Z M 19 20.09375 L 22.96875 21.6875 L 20.625 25 L 17.375 25 L 15.03125 21.6875 Z M 21.40625 31 L 44 31 L 44 33 C 44 35.277344 42.277344 37 40 37 L 25.21875 37 Z",strokeWidth:"4"})}),K5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",width:"29",height:"29",style:{shapeRendering:"geometricPrecision",textRendering:"geometricPrecision",fillRule:"evenodd",clipRule:"evenodd"},xmlnsXlink:"http://www.w3.org/1999/xlink",children:v.jsx("g",{children:v.jsx("path",{style:{opacity:.988,fill:"#ffff"},d:"M111.5,33.5C207.501,33.3333,303.501,33.5,399.5,34C413.667,37.5,422.5,46.3333,426,60.5C426.667,190.5,426.667,320.5,426,450.5C422.473,464.693,413.64,473.527,399.5,477C303.5,477.667,207.5,477.667,111.5,477C97.36,473.527,88.5266,464.693,85,450.5C84.3333,320.5,84.3333,190.5,85,60.5C88.7087,46.2925,97.542,37.2925,111.5,33.5ZM196.5,85.5C208.551,83.5684,218.384,87.2351,226,96.5C234.371,97.8697,240.037,102.536,243,110.5C247.771,123.124,247.604,135.624,242.5,148C247.778,156.628,246.445,164.295,238.5,171C236.236,179.035,232.069,185.869,226,191.5C225.333,197.833,225.333,204.167,226,210.5C227.061,213.562,228.894,216.062,231.5,218C240.198,222.681,248.865,227.348,257.5,232C264.878,238.263,269.545,246.096,271.5,255.5C226.499,255.667,181.499,255.5,136.5,255C139.426,243.755,145.759,235.089,155.5,229C163.608,225.78,171.274,221.78,178.5,217C182.854,212.387,184.521,206.887,183.5,200.5C183.167,197.5,182.833,194.5,182.5,191.5C176.137,185.452,171.804,178.119,169.5,169.5C165.605,167.397,163.438,164.064,163,159.5C162.033,155.092,162.866,151.092,165.5,147.5C159.587,129.512,162.087,112.845,173,97.5C179.75,91.2092,187.583,87.2092,196.5,85.5ZM320.5,153.5C335.239,153.05,349.905,153.55,364.5,155C376.1,162.867,377.433,172.2,368.5,183C366.5,184,364.5,185,362.5,186C347.099,186.952,331.765,186.619,316.5,185C309.024,180.585,306.191,174.085,308,165.5C310.085,159.246,314.252,155.246,320.5,153.5ZM321.5,221.5C335.559,221.071,349.559,221.571,363.5,223C376.496,230.973,377.829,240.639,367.5,252C364.754,253.75,361.754,254.75,358.5,255C345.119,255.903,331.786,255.57,318.5,254C307.569,248.638,304.735,240.472,310,229.5C312.954,225.35,316.787,222.683,321.5,221.5ZM148.5,307.5C219.834,307.333,291.167,307.5,362.5,308C373.52,313.054,376.687,321.22,372,332.5C369.197,336.646,365.364,339.146,360.5,340C290.5,340.667,220.5,340.667,150.5,340C137.005,335.189,133.505,326.356,140,313.5C142.671,311.098,145.505,309.098,148.5,307.5ZM149.5,375.5C220.167,375.333,290.834,375.5,361.5,376C369.372,378.388,373.705,383.721,374.5,392C373.705,400.279,369.372,405.612,361.5,408C290.833,408.667,220.167,408.667,149.5,408C141.628,405.612,137.295,400.279,136.5,392C137.407,383.638,141.74,378.138,149.5,375.5Z"})})}),X5=()=>v.jsx("svg",{fill:"#ffff",height:"14",width:"14",version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 330 330",children:v.jsx("path",{id:"XMLID_29_",d:`M100.606,100.606L150,51.212V315c0,8.284,6.716,15,15,15c8.284,0,15-6.716,15-15V51.212l49.394,49.394 + `),()=>{document.head.removeChild(u)}},[t]),T.createElement(c5,{isPresent:t,childRef:r,sizeRef:i},T.cloneElement(e,{ref:r}))}const rl=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:a})=>{const s=Hc(d5),l=T.useId(),u=T.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{s.set(c,!0);for(const f of s.values())if(!f)return;r&&r()},register:c=>(s.set(c,!1),()=>s.delete(c))}),o?void 0:[n]);return T.useMemo(()=>{s.forEach((c,f)=>s.set(f,!1))},[n]),T.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),a==="popLayout"&&(e=T.createElement(f5,{isPresent:n},e)),T.createElement(rs.Provider,{value:u},e)};function d5(){return new Map}function m5(e){return T.useEffect(()=>()=>e(),[])}const Jn=e=>e.key||"";function p5(e,t){e.forEach(n=>{const r=Jn(n);t.set(r,n)})}function h5(e){const t=[];return T.Children.forEach(e,n=>{T.isValidElement(n)&&t.push(n)}),t}const _1=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:a="sync"})=>{const s=T.useContext(Mc).forceRender||u5()[0],l=J1(),u=h5(e);let c=u;const f=T.useRef(new Map).current,d=T.useRef(c),p=T.useRef(new Map).current,y=T.useRef(!0);if(Vi(()=>{y.current=!1,p5(u,p),d.current=c}),m5(()=>{y.current=!0,p.clear(),f.clear()}),y.current)return T.createElement(T.Fragment,null,c.map(m=>T.createElement(rl,{key:Jn(m),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:a},m)));c=[...c];const A=d.current.map(Jn),C=u.map(Jn),g=A.length;for(let m=0;m{if(C.indexOf(h)!==-1)return;const x=p.get(h);if(!x)return;const w=A.indexOf(h);let P=m;if(!P){const E=()=>{p.delete(h),f.delete(h);const S=d.current.findIndex(M=>M.key===h);if(d.current.splice(S,1),!f.size){if(d.current=u,l.current===!1)return;s(),r&&r()}};P=T.createElement(rl,{key:Jn(x),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:a},x),f.set(h,P)}c.splice(w,0,P)}),c=c.map(m=>{const h=m.key;return f.has(h)?m:T.createElement(rl,{key:Jn(m),isPresent:!0,presenceAffectsLayout:o,mode:a},m)}),T.createElement(T.Fragment,null,f.size?c:c.map(m=>T.cloneElement(m)))};function g5(e){e.values.forEach(t=>t.stop())}function v5(){const e=new Set,t={subscribe(n){return e.add(n),()=>void e.delete(n)},start(n,r){const i=[];return e.forEach(o=>{i.push(M1(o,n,{transitionOverride:r}))}),Promise.all(i)},set(n){return e.forEach(r=>{xx(r,n)})},stop(){e.forEach(n=>{g5(n)})},mount(){return()=>{t.stop()}}};return t}function y5(){const e=Hc(v5);return Vi(e.mount,[]),e}const A5=y5;var Cu=new Map,Ro=new WeakMap,Lm=0,x5=void 0;function w5(e){return e?(Ro.has(e)||(Lm+=1,Ro.set(e,Lm.toString())),Ro.get(e)):"0"}function C5(e){return Object.keys(e).sort().filter(t=>e[t]!==void 0).map(t=>`${t}_${t==="root"?w5(e.root):e[t]}`).toString()}function S5(e){let t=C5(e),n=Cu.get(t);if(!n){const r=new Map;let i;const o=new IntersectionObserver(a=>{a.forEach(s=>{var u;const l=s.isIntersecting&&i.some(c=>s.intersectionRatio>=c);e.trackVisibility&&typeof s.isVisible>"u"&&(s.isVisible=l),(u=r.get(s.target))==null||u.forEach(c=>{c(l,s)})})},e);i=o.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:o,elements:r},Cu.set(t,n)}return n}function k5(e,t,n={},r=x5){if(typeof window.IntersectionObserver>"u"&&r!==void 0){const l=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:typeof n.threshold=="number"?n.threshold:0,time:0,boundingClientRect:l,intersectionRect:l,rootBounds:l}),()=>{}}const{id:i,observer:o,elements:a}=S5(n);let s=a.get(e)||[];return a.has(e)||a.set(e,s),s.push(t),o.observe(e),function(){s.splice(s.indexOf(t),1),s.length===0&&(a.delete(e),o.unobserve(e)),a.size===0&&(o.disconnect(),Cu.delete(i))}}function E5({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:o,skip:a,initialInView:s,fallbackInView:l,onChange:u}={}){var m;const[c,f]=T.useState(null),d=T.useRef(),[p,y]=T.useState({inView:!!s,entry:void 0});d.current=u,T.useEffect(()=>{if(a||!c)return;let h;return h=k5(c,(x,w)=>{y({inView:x,entry:w}),d.current&&d.current(x,w),w.isIntersecting&&o&&h&&(h(),h=void 0)},{root:i,rootMargin:r,threshold:e,trackVisibility:n,delay:t},l),()=>{h&&h()}},[Array.isArray(e)?e.toString():e,c,i,r,o,a,n,l,t]);const A=(m=p.entry)==null?void 0:m.target,C=T.useRef();!c&&A&&!o&&!a&&C.current!==A&&(C.current=A,y({inView:!!s,entry:void 0}));const g=[f,p.inView,p.entry];return g.ref=g[0],g.inView=g[1],g.entry=g[2],g}const T5={visible:{opacity:1,scale:1,transition:{duration:.5}},hidden:{opacity:0,scale:.7}};function P5(){const e=A5(),[t,n]=E5();return T.useEffect(()=>{n?e.start("visible"):e.start("hidden")},[e,n]),v.jsx("section",{id:"projects",className:"w-full h-auto md:h-auto text-center py-16 flex items-center justify-center md:mb-24 md:mt-8",children:v.jsxs("div",{className:"flex flex-col items-center justify-center",children:[v.jsxs("div",{className:"mt-8 md:mt-12",children:[v.jsx("h2",{className:"text-4xl mx-4 md:text-5xl font-extrabold font-cal",children:"Personal Projects"}),v.jsx("p",{className:"text-xl mx-3 md:text-xl py-6 text-gray-500",children:"Click One To Visit Code"})]}),v.jsxs(fs.div,{ref:t,variants:T5,initial:"hidden",animate:e,className:"w-full grid grid-cols-1 md:grid-cols-2 grid-rows-2 md:grid-rows-1 mb-12 gap-3 sm:gap-2",children:[v.jsx("a",{href:"https://github.com/Vicba/movies-recommendation",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"Movies app"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Netflix clone with vector db for similar movie recommendation"}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:_o,alt:"python",className:"h-6"}),v.jsx("img",{src:ni,alt:"tailwindcss",className:"h-6"}),v.jsx("img",{src:Rg,alt:"docker",className:"h-4"}),v.jsx("img",{src:tA,alt:"weaviate",className:"h-6"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/BirdSnap",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"BirdSnap"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"CNN model to classify bird species using a kaggle dataset. Learned PyTorch and Weights&Biases."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Ng,alt:"pytorch",className:"h-7"}),v.jsx("img",{src:rA,alt:"Weights&Biases",className:"h-5"}),v.jsx("img",{src:nA,alt:"Google cloud platform",className:"h-4"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/NLP-lyrics-genre",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"NLP-lyrics-genre"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Using NLP to classify lyrics sentences into the rap or pop genre."}),v.jsx("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:v.jsx("img",{src:_o,alt:"Python",className:"h-6"})})]})}),v.jsx("a",{href:"https://github.com/Vicba/SentimentAPI",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"SentimentAPI"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"API where users can analyse the sentiment of text with their API keys."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:_o,alt:"python",className:"h-6"}),v.jsx("img",{src:ni,alt:"tailwindcss",className:"h-6"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/Sociali",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"Sociali"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Very simple instagram like photo-sharing app. This project was made to explore the world of AWS."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:_2,alt:"react",className:"h-6"}),v.jsx("img",{src:$2,alt:"nodejs",className:"h-5"}),v.jsx("img",{src:bg,alt:"MongoDB",className:"h-5"}),v.jsx("img",{src:eA,alt:"aws",className:"h-5"}),v.jsx("img",{src:ni,alt:"tailwind",className:"h-5"})]})]})}),v.jsx("a",{href:"https://github.com/Vicba/In-browser-markdown-editor",target:"_blank",children:v.jsxs("div",{className:"max-w-[350px] sm:max-w-[400px] m-auto text-left flex flex-col h-36 p-4 bg-white/10 rounded-md border border-slate-400 hover:border-slate-700 transition-colors duration-75 cursor-pointer",children:[v.jsx("h1",{className:"font-semibold mb-1",children:"In-Browser Markdown editor"}),v.jsx("p",{className:"text-sm text-gray-800/70",children:"Note taking markdown editor, have it as an open tab to save things to remember."}),v.jsxs("div",{className:"flex flex-row justify-start items-center mt-6 mb-3 gap-2",children:[v.jsx("img",{src:Qs,alt:"nextjs",className:"h-5"}),v.jsx("img",{src:ni,alt:"tailwind",className:"h-5"})]})]})})]})]})})}const b5="/assets/typescript-94b46e67.png",R5="/assets/nextjs-7acb7929.png",N5="/assets/tf-6005549a.png",j5="/assets/scikit-learn-a2a12652.png";function L5(){return v.jsxs("ul",{className:"flex flex-col items-center justify-center space-y-3",children:[v.jsxs("li",{className:"flex flex-row",children:["Nextjs ",v.jsx("img",{src:R5,alt:"Nextjs",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Python ",v.jsx("img",{src:_o,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Typescript ",v.jsx("img",{src:b5,alt:"Typescript",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Tailwindcss ",v.jsx("img",{src:ni,alt:"Tailwindcss",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Scikit-learn ",v.jsx("img",{src:j5,alt:"Scikit-learn",className:"h-4 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["TensorFlow ",v.jsx("img",{src:N5,alt:"Tensorflow",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["PyTorch ",v.jsx("img",{src:Ng,alt:"pytorch",className:"h-6 ml-2"})]})]})}const M5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAxCAYAAACYq/ofAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQ1SURBVHgBzZp9aE1xGMefa0jmbV7W2GTkJa9/CHlJUUSi/EFJEhJ/KK/JS2FRoiRS/qCEUN4lQoTGxtZqDWPW2KbVks3aZsRsj+/jnLuu67w85+7ec/apT6c5z+/5/Z57fvd3zvldIYoTzDwKhxlwMhwJM+AA2AOGYAP8BOtgCcyF+aFQqJSCBoMfCvfBMtjK3pE2r+BOOIT8Bp1Ohbc5/pyFYynRoJN0eJkTzylO1BVC4uWwjv2jEq6ieIFk3eBxDo4DsBO1ByQYAHM4eO7CXk5jDTkUkYrDUziaOgYv4Dws141WJy0vGYrogsNN6jhFCNPgRbaZZnZz7yCcTh2PRWSMzR1UvN5hrn6ES+B2+IDjSwu8A7fBpfCLQ+xityIyYZVDgh0W8bLmx3JXD/MDHoWDonIfdGjzFfaNjO8cVUsWTCd7CiL/wBevAod1SHoYx/OwCebBIlgNa+A3MqawrDr9zONMOAW2wvXIU2bR12uyJwUegBv+O4PBTGJ3hpFPoK+JLmORWdD2OBP5Zd+myP+L/INdzsutY/u/LYy5rmEm+QT6mq8YTzOUV4W2K7JKmX8i+ccURYx8x9e2/YWqihXV/4YTyCfYeFX4rhhXfrjBONaxi3wGfR5RjEum10AJXqMIroAh8hn0mcy6V4eV8h2Zpsh5C2u92yoSd9Cn3JeuKEJHSiEjFIHXKTjuK2LGSyEpisBKCo4iRUyaFKJ5N26k4GhVxKRKIcmKwCQKDs0ik6x9F9YUmyi6KmJapJB6RWBPCo4MRUy9FFKrCJxNwTFDEVMjhVQpAn17WLRAU0iTFPJeEShPor5PL/SZhsNcRWihFFKgCJQiNpH/7CTdqpUvVQ9n3Tu3PIkOJ59AX8PgT8W45Kl8YLhRCev4YF7uRBcxGJYrx/T3MT58H7mg7EPe2XPRWPN8FhPILS9Uz2GmssnlyMaDLSqVqfQIllqckz2okzCT4gRyjWZja6mZ9cg4MqIT3YgKkiJCbMzVjWxs81uRDXfDWaxc2cy8qXABzIIvOTbOWCW32g4qNgvpxMaGWaVL4nJW/EDDxgyo4fYhC9QIuw4uWDSQwcunlwGvuCRfQUoQu5nbxwmn5Gls/Wp5wzzfh43tTStkvnb2UEgKx045THfrYKlN4zGwCzwGt8Ba89/lEsvyvZU8gjafOTaWaTuw2r24FHFeNvQWwvFwPxwFD5FH0OYNeyfLSwfyyT+0SLKX4gjyFbE3rrHX3Rw06A8LLZLJMj0HJkXF9yaPeCzkMexOsWAW88QmcQMbP/yI1fApeYT1U+tqLB9UdGdJ7PyjS5hs8gjavFPklb7jtzmIZKvZ+YaYQx5xKURWxUWUCJB4CDxt03Gex3R2hchyLs9xfSnRsLHsnosawDPyCNq8jWjfYuYcR35jXqF98B7UvJJGt5ebr/ySu4eN/6AQM38AcoEG7uWxTZ0AAAAASUVORK5CYII=",O5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARSSURBVHgBzZldbBRVFMf/Z6bbKlHTUMojoSXBr5iqtFF5MFC0hlSikkAk0QejRhMNilESobDdFJNWxGDig/rQYlMN2hejTTVKaQnEmPgAGNIXDJKg8hGgaSi0W3bncGbLRwkw58xddre/ZGdmN/+5e87M3HP/9w4hJvzs7CfAWA0PTfKtFqA7Ik9YsBzwyyMElJb2Dkpbh5DgNurYcRQxIKuQn6+sRNb7RA5fRRzUBG5gC+6al6RUKrCIPYuIl4TB+7sRN3g3WnD+WB8nl5RZxKYEcLf3qaTxCIoF83KM1XxkkaoJcPPsxbJ7BcWGsY7Xv3SvJtPvgIfXUQoICWQSr2kyPQHGUpSORk0QmQCvgi+7eSgVhAc1iX4HSO5ByWBfU0QmQL3Iyu4YSgXTX5rEUEZpEKVjnyYwdGL6GqUiwGeaRE2A+k4PSRY9KDbM22l71xFNZhuJx/G2bIdRLAh7sK3rPYvUlADtGhnFOC+Wq/IFCg3hc3i0gohM1c/sRq/AK6oaZLdWjkKLUaueYHOj/0mx7kOCeqijU+240zE5vukMzDo9Ounhfzkck+wzrLQxcRZzVnbTmas/7OWFSOMNOXpGPvfJJ6z15yUBTz4T6OhEHMx34Pd1fOfZ42jxCO/K11nW8yYSlxNgJuxGmwT5vvxcgVtH1IVRfICV05KOwNaJhZGT+FKC34AYwV8jF/w3EvxGRAWfk4rzvQcDGORKGDAl0L+GU9KlXoYrA0hKYGtinFGHDL6yCNVH6OcXeb5cv8Nw6C8hWxtRP1iDP+FQMHJO+GkaipLoExoPb8Ix+JBD1XgLLsEjd9ZtmA8EuieP4qKPBrjTrAksdnou8iCgvOYTlfg+2lLrXgh5zgfY/fGzoCYgizOjyAMiGWXdOYfVlI0SqAn4hF+QBxUZ/AZ3dmkCNYHxAKGBM62S3Yz7T2EHXCGo5lFN4IWddFTGgTY48s4+HJFA2hGfbiyjXzWRaSRu/pZaJYhYLvE6GsWCEH4y6xn/iMXbaJGavRBG8JSUo4/hQujtMzkrsU3VMnoxhkexlP6Fgdgj5I+ruMYvwyY5XCRhPSQtRLZx1Y1eoZ8XoFwWcIGHEXqeKcKVjyHpaZ1ooj2IQfwh/o8PH0BFuQzx1OwFVJXI+lVR8jR7c/DYhptb43CQqpWnoJ4uwhH7IBP6+QOpLbJfP3UeI/AYaU8pUJMR7nmqxkfWeQ17Agdad4Z/6WjLCoatE+9PtiIMfgaiJ7A/OV+u+ibMUGzvBzhGuS0yemBZasIMxjAfCKoxg7GsTuc3H/DT4ygglmd7BM7wSdSnLqCAWBJQPfktCQr/bsEwqU+H6zNuQ30ZCv5uQU9gUfvfst2KuBB6UJfKazZnwVbfDw9vlm0/rJBMYs6l16IIqG8Bc/QOM5bN/Q5V1aH+SUX9A3jyOTzeblqczZf41uxgSw24rAUBN0iFXSjrtiytnEDY2T2/G3Wb96KIXAJbfyZyUvW2xwAAAABJRU5ErkJggg==",I5="data:image/png;base64,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",D5="data:image/png;base64,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",F5="data:image/png;base64,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";function V5(){return v.jsxs("ul",{className:"flex flex-col items-center justify-center space-y-3",children:[v.jsxs("li",{className:"flex flex-row",children:["GitHub/GitLab ",v.jsx("img",{src:M5,alt:"github",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Figma ",v.jsx("img",{src:O5,alt:"nodejs",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Weights & Biases ",v.jsx("img",{src:F5,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Docker ",v.jsx("img",{src:Rg,alt:"react",className:"h-5 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["MySQL ",v.jsx("img",{src:I5,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["MongoDB ",v.jsx("img",{src:bg,alt:"python",className:"h-6 ml-2"})]}),v.jsxs("li",{className:"flex flex-row",children:["Linux ",v.jsx("img",{src:D5,alt:"javascript",className:"h-5 ml-2"})]})]})}function B5(){return v.jsxs("section",{id:"skills",className:"md:h-screen w-full bg-dark-blue text-white flex flex-col items-center justify-center py-16 md:my-0",children:[v.jsx("div",{className:"my-12",children:v.jsx("h2",{className:"text-4xl mx-4 md:text-5xl font-extrabold font-cal",children:"Skillset"})}),v.jsxs("div",{className:"w-5/6 flex flex-col items-center justify-center space-y-10 lg:flex-row lg:space-x-40 lg:space-y-0",children:[v.jsxs("div",{className:"bg-card-blue w-full md:w-96 md:h-96 py-8 px-3 rounded-xl shadow-xl",children:[v.jsx("h1",{className:"font-extrabold text-lg tracking-wider mt-2 text-center mb-10",children:"Languages & Frameworks"}),v.jsx(L5,{})]}),v.jsxs("div",{className:"bg-card-blue w-full md:w-96 md:h-96 py-8 mx-3 rounded-xl shadow-xl ",children:[v.jsx("h1",{className:"font-extrabold text-lg tracking-wider mt-2 text-center mb-10",children:"Tools & Services"}),v.jsx(V5,{})]})]})]})}function Ut({title:e,link:t,icon:n}){return v.jsxs("a",{href:t,target:"_blank",className:"flex items-center justify-center flex-col gap-1 font-thin text-sm",children:[n,e]})}const z5="/assets/CV-225a8dec.pdf",U5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"28",width:"28",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinejoin:"round",style:{marginTop:"1px"},children:v.jsx("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"})}),H5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:v.jsx("path",{d:"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"})}),W5=()=>v.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"29",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[v.jsx("path",{d:"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"}),v.jsx("polyline",{points:"22,6 12,13 2,6"})]}),Q5=()=>v.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[v.jsx("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"}),v.jsx("rect",{x:"2",y:"9",width:"4",height:"12"}),v.jsx("circle",{cx:"4",cy:"4",r:"2"})]}),Y5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"28",height:"27",fill:"currentColor",viewBox:"0 0 16 16",children:v.jsx("path",{d:"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.669 11.538a.498.498 0 0 1-.686.165c-1.879-1.147-4.243-1.407-7.028-.77a.499.499 0 0 1-.222-.973c3.048-.696 5.662-.397 7.77.892a.5.5 0 0 1 .166.686zm.979-2.178a.624.624 0 0 1-.858.205c-2.15-1.321-5.428-1.704-7.972-.932a.625.625 0 0 1-.362-1.194c2.905-.881 6.517-.454 8.986 1.063a.624.624 0 0 1 .206.858zm.084-2.268C10.154 5.56 5.9 5.419 3.438 6.166a.748.748 0 1 1-.434-1.432c2.825-.857 7.523-.692 10.492 1.07a.747.747 0 1 1-.764 1.288z",fill:"white"})}),G5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"29",height:"29",style:{fill:"white"},children:v.jsx("path",{d:"M 13 3 L 13 22.3125 L 13.1875 22.59375 L 17.78125 29 L 17.90625 29.21875 L 18.75 30.53125 L 22.875 37 L 20.625 37 L 20.34375 37.25 L 14 42.8125 L 14 37 L 11 37 C 8.722656 37 7 35.277344 7 33 L 7 12 C 7 9.722656 8.722656 8 11 8 L 12 8 L 12 6 L 11 6 C 7.675781 6 5 8.675781 5 12 L 5 33 C 5 36.324219 7.675781 39 11 39 L 12 39 L 12 47.21875 L 13.65625 45.75 L 21.375 39 L 40 39 C 43.324219 39 46 36.324219 46 33 L 46 12 C 46 8.675781 43.324219 6 40 6 L 25 6 L 25 3 Z M 15 5 L 23 5 L 23 19.5 L 19.375 18.0625 L 19 17.9375 L 18.625 18.0625 L 15 19.5 Z M 25 8 L 40 8 C 42.277344 8 44 9.722656 44 12 L 44 29 L 20.25 29 L 24.8125 22.59375 L 25 22.3125 Z M 19 20.09375 L 22.96875 21.6875 L 20.625 25 L 17.375 25 L 15.03125 21.6875 Z M 21.40625 31 L 44 31 L 44 33 C 44 35.277344 42.277344 37 40 37 L 25.21875 37 Z",strokeWidth:"4"})}),K5=()=>v.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",width:"29",height:"29",style:{shapeRendering:"geometricPrecision",textRendering:"geometricPrecision",fillRule:"evenodd",clipRule:"evenodd"},xmlnsXlink:"http://www.w3.org/1999/xlink",children:v.jsx("g",{children:v.jsx("path",{style:{opacity:.988,fill:"#ffff"},d:"M111.5,33.5C207.501,33.3333,303.501,33.5,399.5,34C413.667,37.5,422.5,46.3333,426,60.5C426.667,190.5,426.667,320.5,426,450.5C422.473,464.693,413.64,473.527,399.5,477C303.5,477.667,207.5,477.667,111.5,477C97.36,473.527,88.5266,464.693,85,450.5C84.3333,320.5,84.3333,190.5,85,60.5C88.7087,46.2925,97.542,37.2925,111.5,33.5ZM196.5,85.5C208.551,83.5684,218.384,87.2351,226,96.5C234.371,97.8697,240.037,102.536,243,110.5C247.771,123.124,247.604,135.624,242.5,148C247.778,156.628,246.445,164.295,238.5,171C236.236,179.035,232.069,185.869,226,191.5C225.333,197.833,225.333,204.167,226,210.5C227.061,213.562,228.894,216.062,231.5,218C240.198,222.681,248.865,227.348,257.5,232C264.878,238.263,269.545,246.096,271.5,255.5C226.499,255.667,181.499,255.5,136.5,255C139.426,243.755,145.759,235.089,155.5,229C163.608,225.78,171.274,221.78,178.5,217C182.854,212.387,184.521,206.887,183.5,200.5C183.167,197.5,182.833,194.5,182.5,191.5C176.137,185.452,171.804,178.119,169.5,169.5C165.605,167.397,163.438,164.064,163,159.5C162.033,155.092,162.866,151.092,165.5,147.5C159.587,129.512,162.087,112.845,173,97.5C179.75,91.2092,187.583,87.2092,196.5,85.5ZM320.5,153.5C335.239,153.05,349.905,153.55,364.5,155C376.1,162.867,377.433,172.2,368.5,183C366.5,184,364.5,185,362.5,186C347.099,186.952,331.765,186.619,316.5,185C309.024,180.585,306.191,174.085,308,165.5C310.085,159.246,314.252,155.246,320.5,153.5ZM321.5,221.5C335.559,221.071,349.559,221.571,363.5,223C376.496,230.973,377.829,240.639,367.5,252C364.754,253.75,361.754,254.75,358.5,255C345.119,255.903,331.786,255.57,318.5,254C307.569,248.638,304.735,240.472,310,229.5C312.954,225.35,316.787,222.683,321.5,221.5ZM148.5,307.5C219.834,307.333,291.167,307.5,362.5,308C373.52,313.054,376.687,321.22,372,332.5C369.197,336.646,365.364,339.146,360.5,340C290.5,340.667,220.5,340.667,150.5,340C137.005,335.189,133.505,326.356,140,313.5C142.671,311.098,145.505,309.098,148.5,307.5ZM149.5,375.5C220.167,375.333,290.834,375.5,361.5,376C369.372,378.388,373.705,383.721,374.5,392C373.705,400.279,369.372,405.612,361.5,408C290.833,408.667,220.167,408.667,149.5,408C141.628,405.612,137.295,400.279,136.5,392C137.407,383.638,141.74,378.138,149.5,375.5Z"})})}),X5=()=>v.jsx("svg",{fill:"#ffff",height:"14",width:"14",version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 330 330",children:v.jsx("path",{id:"XMLID_29_",d:`M100.606,100.606L150,51.212V315c0,8.284,6.716,15,15,15c8.284,0,15-6.716,15-15V51.212l49.394,49.394 C232.322,103.535,236.161,105,240,105c3.839,0,7.678-1.465,10.606-4.394c5.858-5.857,5.858-15.355,0-21.213l-75-75 c-5.857-5.858-15.355-5.858-21.213,0l-75,75c-5.858,5.857-5.858,15.355,0,21.213C85.251,106.463,94.749,106.463,100.606,100.606z`})}),Z5=()=>v.jsxs("svg",{width:"30",height:"30",viewBox:"0 0 500 463",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[v.jsx("path",{d:"M433.839 221.75C433.839 120.838 351.531 39.0323 250 39.0323C148.469 39.0323 66.1613 120.838 66.1613 221.75C66.1613 322.662 148.469 404.468 250 404.468C351.531 404.468 433.839 322.662 433.839 221.75ZM45 221.75C45 109.222 136.782 18 250 18C363.218 18 455 109.222 455 221.75C455 334.278 363.218 425.5 250 425.5C136.782 425.5 45 334.278 45 221.75Z",fill:"white"}),v.jsx("path",{d:"M90.9935 255C82.4744 255 74.8603 258.477 69.551 264.784C66.2675 268.69 62.8367 274.986 62.5578 284.414C58.985 283.394 55.5489 282.824 52.3391 282.824C44.183 282.824 36.8163 285.93 31.6069 291.573C24.9137 298.815 21.9407 307.715 23.2351 316.62C23.8508 320.861 25.2768 324.663 27.4079 328.182C22.9142 331.795 19.6044 336.826 18.0047 342.876C16.7524 347.619 15.4685 357.497 22.1722 367.673C21.746 368.337 21.3461 369.027 20.9725 369.733C16.9418 377.336 16.684 385.927 20.2411 393.928C25.6346 406.054 39.0368 415.608 65.0625 425.863C81.2536 432.242 96.0661 436.321 96.1976 436.357C117.603 441.874 136.962 444.677 153.721 444.677C184.525 444.677 206.578 435.301 219.27 416.811C239.697 387.036 236.776 359.803 210.346 333.552C195.717 319.026 185.993 297.607 183.967 292.906C179.884 278.986 169.086 263.513 151.138 263.513H151.133C149.622 263.513 148.096 263.633 146.592 263.869C138.73 265.097 131.858 269.595 126.949 276.361C121.65 269.814 116.504 264.606 111.847 261.667C104.827 257.243 97.813 255 90.9935 255ZM90.9935 275.917C93.6771 275.917 96.9553 277.051 100.57 279.331C111.794 286.406 133.452 323.403 141.382 337.793C144.039 342.614 148.581 344.654 152.669 344.654C160.783 344.654 167.118 336.638 153.411 326.451C132.8 311.124 140.03 286.072 149.87 284.529C150.301 284.461 150.727 284.43 151.138 284.43C160.083 284.43 164.03 299.751 164.03 299.751C164.03 299.751 175.595 328.616 195.465 348.346C215.334 368.08 216.36 383.919 201.879 405.024C192.002 419.415 173.096 421.292 153.721 421.292C133.626 421.292 112.99 417.772 101.445 414.796C100.877 414.65 30.7019 396.255 39.5946 379.48C41.089 376.661 43.5516 375.532 46.6509 375.532C59.1744 375.532 81.9535 394.054 91.746 394.054C93.935 394.054 95.5662 392.371 96.1976 390.112C100.555 374.522 32.6646 369.738 38.3633 348.189C39.3683 344.377 42.094 342.829 45.9248 342.834C62.4737 342.834 99.6021 371.756 107.385 371.756C107.979 371.756 108.405 371.584 108.637 371.218C112.536 364.964 110.74 359.872 83.257 343.343C55.7738 326.808 36.1428 317.588 47.114 305.718C48.3768 304.347 50.1659 303.741 52.3391 303.741C69.0248 303.746 108.447 339.398 108.447 339.398C108.447 339.398 119.087 350.395 125.523 350.395C127.001 350.395 128.259 349.815 129.111 348.382C133.673 340.737 86.7366 305.388 84.0898 290.804C82.2955 280.921 85.3474 275.917 90.9935 275.917Z",fill:"white"}),v.jsx("path",{d:"M408.105 255C416.624 255 424.238 258.477 429.547 264.784C432.831 268.69 436.262 274.986 436.541 284.414C440.113 283.394 443.549 282.824 446.759 282.824C454.915 282.824 462.282 285.93 467.491 291.573C474.185 298.815 477.158 307.715 475.863 316.62C475.248 320.861 473.822 324.663 471.69 328.182C476.184 331.795 479.494 336.826 481.094 342.876C482.346 347.619 483.63 357.497 476.926 367.673C477.352 368.337 477.752 369.027 478.126 369.733C482.157 377.336 482.414 385.927 478.857 393.928C473.464 406.054 460.062 415.608 434.036 425.863C417.845 432.242 403.032 436.321 402.901 436.357C381.495 441.874 362.136 444.677 345.377 444.677C314.573 444.677 292.52 435.301 279.829 416.811C259.402 387.036 262.322 359.803 288.753 333.552C303.381 319.026 313.105 297.607 315.131 292.906C319.214 278.986 330.012 263.513 347.961 263.513H347.966C349.476 263.513 351.002 263.633 352.507 263.869C360.368 265.097 367.24 269.595 372.15 276.361C377.449 269.814 382.595 264.606 387.252 261.667C394.271 257.243 401.285 255 408.105 255ZM408.105 275.917C405.421 275.917 402.143 277.051 398.528 279.331C387.304 286.406 365.646 323.403 357.716 337.793C355.059 342.614 350.518 344.654 346.429 344.654C338.315 344.654 331.98 336.638 345.687 326.451C366.299 311.124 359.069 286.072 349.229 284.529C348.797 284.461 348.371 284.43 347.961 284.43C339.015 284.43 335.069 299.751 335.069 299.751C335.069 299.751 323.503 328.616 303.634 348.346C283.764 368.08 282.738 383.919 297.219 405.024C307.096 419.415 326.002 421.292 345.377 421.292C365.472 421.292 386.108 417.772 397.653 414.796C398.221 414.65 468.397 396.255 459.504 379.48C458.009 376.661 455.547 375.532 452.447 375.532C439.924 375.532 417.145 394.054 407.352 394.054C405.163 394.054 403.532 392.371 402.901 390.112C398.543 374.522 466.434 369.738 460.735 348.189C459.73 344.377 457.004 342.829 453.174 342.834C436.625 342.834 399.496 371.756 391.714 371.756C391.119 371.756 390.693 371.584 390.461 371.218C386.562 364.964 388.358 359.872 415.841 343.343C443.325 326.808 462.956 317.588 451.984 305.718C450.722 304.347 448.932 303.741 446.759 303.741C430.074 303.746 390.651 339.398 390.651 339.398C390.651 339.398 380.011 350.395 373.576 350.395C372.097 350.395 370.84 349.815 369.987 348.382C365.425 340.737 412.362 305.388 415.009 290.804C416.803 280.921 413.751 275.917 408.105 275.917Z",fill:"white"}),v.jsx("path",{d:"M319.277 228.901C319.277 205.236 288.585 241.304 250.637 241.465C212.692 241.306 182 205.238 182 228.901C182 244.591 189.507 270.109 209.669 285.591C213.681 271.787 235.726 260.729 238.877 262.317C243.364 264.578 243.112 270.844 250.637 276.365C258.163 270.844 257.911 264.58 262.398 262.317C265.551 260.729 287.594 271.787 291.605 285.591C311.767 270.109 319.275 244.591 319.275 228.903L319.277 228.901Z",fill:"white"}),v.jsx("path",{d:"M262.4 262.315C257.913 264.576 258.165 270.842 250.639 276.363C243.114 270.842 243.366 264.578 238.879 262.315C235.726 260.727 213.683 271.785 209.672 285.589C219.866 293.417 233.297 298.678 250.627 298.806C250.631 298.806 250.635 298.806 250.641 298.806C250.646 298.806 250.65 298.806 250.656 298.806C267.986 298.68 281.417 293.417 291.611 285.589C287.6 271.785 265.555 260.727 262.404 262.315H262.4Z",fill:"white"}),v.jsx("path",{d:"M373 196C382.389 196 390 188.389 390 179C390 169.611 382.389 162 373 162C363.611 162 356 169.611 356 179C356 188.389 363.611 196 373 196Z",fill:"white"}),v.jsx("path",{d:"M128 196C137.389 196 145 188.389 145 179C145 169.611 137.389 162 128 162C118.611 162 111 169.611 111 179C111 188.389 118.611 196 128 196Z",fill:"white"}),v.jsx("path",{d:"M313.06 171.596C319.796 173.968 322.476 187.779 329.281 184.171C342.167 177.337 347.06 161.377 340.208 148.524C333.356 135.671 317.354 130.792 304.467 137.626C291.58 144.46 286.688 160.419 293.54 173.272C296.774 179.339 307.039 169.475 313.06 171.596Z",fill:"white"}),v.jsx("path",{d:"M188.554 171.596C181.818 173.968 179.138 187.779 172.334 184.171C159.447 177.337 154.555 161.377 161.407 148.524C168.259 135.671 184.26 130.792 197.147 137.626C210.034 144.46 214.926 160.419 208.074 173.272C204.84 179.339 194.575 169.475 188.554 171.596Z",fill:"white"})]});function q5(){const[e,t]=T.useState("00:00:00 p.m."),[n,r]=T.useState(!0),i=()=>{const o=new Date().toLocaleString("en-US",{timeZone:"Europe/Brussels",hour12:!0}),a=`${o.slice(-11,-6)}${o.slice(-3,-1)}.M.`;t(a),console.log(o,"currentTime"),console.log(a,"formattedTime"),console.log(new Date().getHours(),"hours now"),(new Date().getHours()<7||new Date().getHours()>=23)&&r(!1)};return T.useEffect(()=>{const o=setTimeout(i,6e4);return()=>{clearTimeout(o)}},[]),T.useEffect(()=>{i()},[]),v.jsxs("p",{className:"w-5/6 text-white/50 text-sm mb-10 text-center",children:["The time is ",v.jsx("span",{className:"font-bold text-white/70",children:e})," for me, so I'm probably"," ",v.jsx("span",{className:"font-bold text-white/70",children:n?"up and available":"sleeping"}),". I'll respond as soon as possible."]})}const J5={}.VITE_REACT_APP_SPOTIFY_CLIENT_ID,_5={}.VITE_REACT_APP_SPOTIFY_CLIENT_SECRET,$5={}.VITE_REACT_APP_SPOTIFY_REFRESH_TOKEN,e4=`${J5}:${_5}`,t4=btoa(e4),n4="https://api.spotify.com/v1/me/player/currently-playing",r4="https://accounts.spotify.com/api/token",i4=async()=>await(await fetch(r4,{method:"POST",headers:{Authorization:`Basic ${t4}`,"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:$5})})).json(),o4=async()=>{const{access_token:e}=await i4();return fetch(n4,{headers:{Authorization:`Bearer ${e}`}})},a4=()=>{const[e,t]=T.useState(null);return T.useEffect(()=>{const n=async()=>{const o=await(await o4()).json();t(o)};n();const r=setInterval(n,6e4);return()=>clearInterval(r)},[]),!e||!e.is_playing?null:v.jsxs(fs.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},className:"mt-5 mb-5 flex flex-col justify-center items-center",children:[v.jsxs("h1",{className:"text-black text-white/50 font-medium text-base mb-2 flex items-center justify-center",children:["Currently listening to",v.jsxs("span",{className:"ml-2 w-2 h-2",children:[v.jsx("span",{className:"absolute w-2 h-2 bg-red-600 rounded-full animate-ping"}),v.jsx("span",{className:"absolute w-2 h-2 bg-red-600 rounded-full"})]})]}),v.jsxs("div",{className:"w-auto h-[6rem] flex flex-row items-center",children:[v.jsx("img",{src:e.item.album.images[0].url,className:"w-[3.5rem] h-[3.5rem] rounded-md mr-4 pointer-events-none",alt:e.item.album.name}),v.jsxs("div",{className:"w-46 h-full flex flex-col items-center justify-center",children:[v.jsx("a",{href:`https://open.spotify.com/track/${e.item.id}`,target:"_blank",rel:"noreferrer",className:"w-full font-medium text-white/50 hover:underline truncate",children:e.item.name}),v.jsx("p",{className:"w-full text-gray-600 dark:text-[#cad2e0] font-normal text-sm truncate",children:e.item.artists.map(n=>n.name).join(", ")})]})]})]})};function s4(){return v.jsxs("section",{id:"footer",className:"w-full bg-dark-blue text-white flex flex-col items-center justify-center py-24 border-none md:h-full md:pt-30 overflow-hidden",children:[v.jsx("h1",{className:"my-5 font-bold text-xl font-cal",children:"Let's talk!"}),v.jsx(q5,{}),v.jsxs("div",{className:"w-3/4 mb-8 flex flex-wrap gap-12 justify-center",children:[v.jsx(Ut,{title:"Github",link:"https://github.com/Vicba",icon:v.jsx(U5,{})}),v.jsx(Ut,{title:"Resume",link:z5,icon:v.jsx(K5,{})}),v.jsx(Ut,{title:"LinkedIn",link:"https://www.linkedin.com/in/victor-barra",icon:v.jsx(Q5,{})}),v.jsx(Ut,{title:"Email",link:"mailto:victor.barra@live.be",icon:v.jsx(W5,{})}),v.jsx(Ut,{title:"Blog",link:"https://blog-victor-barra.netlify.app/",icon:v.jsx(G5,{})}),v.jsx(Ut,{title:"Twitter",link:"https://twitter.com/VictorBarraa",icon:v.jsx(H5,{})}),v.jsx(Ut,{title:"Spotify",link:"https://open.spotify.com/user/1114228739",icon:v.jsx(Y5,{})}),v.jsx(Ut,{title:"HuggingFace",link:"https://huggingface.co/victorbarra",icon:v.jsx(Z5,{})})]}),v.jsx(a4,{}),v.jsxs("p",{className:"text-gray-400 flex items-center",children:["Victor Barra • ",new Date().getFullYear()]})]})}const l4="/assets/bg-2-589efbfd.png";function u4(){return v.jsx(v.Fragment,{children:v.jsx("img",{src:Pg,alt:"Picture of Victor",className:"rounded-full h-32 md:h-72"})})}var c4={prefix:"fas",iconName:"right-long",icon:[512,512,["long-arrow-alt-right"],"f30b","M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z"]},f4=c4;function Mm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function b(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n - +