1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[872],{872:function(e,t,n){n.r(t),n.d(t,{Header:function(){return p}});var r=n(7437),A=n(2265),a=n(8690),i=n(8792),s=n(142),o=n(3983),l=n(1147);let c=(0,a.cO)(function(e,t){let{as:n="a",children:A,...i}=e;return(0,r.jsx)(a.rU,{ref:t,as:n,...i,className:"text-sm text-base-text-weak hover:text-base-text-strong sm:text-base",children:A})});var u=n(703),d={src:"/_next/static/media/pause.b00d6b2e.svg",height:512,width:512,blurWidth:0,blurHeight:0},h={src:"/_next/static/media/play.6ea804d6.svg",height:512,width:512,blurWidth:0,blurHeight:0};function g(){let[e,t]=(0,A.useState)(!1),n=(0,A.useRef)(null);return(0,r.jsx)(a.xu,{children:(0,r.jsxs)(a.xu,{onClick:()=>{n.current&&(e?n.current.pause():n.current.play(),t(!e))},children:[(0,r.jsxs)("audio",{ref:n,autoPlay:!0,loop:!0,children:[(0,r.jsx)("source",{src:"audio/ambient.mp3",type:"audio/mpeg"}),"Your browser does not support the audio element."]}),(0,r.jsx)(u.default,{src:e?d:h,alt:e?"Pause icon":"Play icon",width:18,height:18})]})})}function f(){let[e,t]=(0,A.useState)(!1),{setTheme:n,resolvedTheme:u}=(0,s.F)(),d=e&&u===o.C6.dark;(0,A.useEffect)(()=>{t(!0)},[]);let h=(0,A.useCallback)(()=>{n(d?o.C6.light:o.C6.dark)},[d,n]),f=d?"Use light mode":"Use dark mode";return(0,r.jsxs)("nav",{className:"flex w-full items-center gap-6 sm:gap-9",children:[(0,r.jsx)(a.TR,{as:i.default,href:l.to.home()}),(0,r.jsxs)("div",{className:"flex items-center gap-4 sm:gap-6",children:[(0,r.jsx)(c,{as:i.default,href:l.to.blog(),children:"Blog"}),(0,r.jsx)(c,{as:i.default,href:l.to.projects(),children:"Projects"}),(0,r.jsx)(c,{as:i.default,href:l.to.aboutMe(),children:"About"})]}),(0,r.jsxs)("div",{className:"ml-auto flex items-center gap-4",children:[(0,r.jsx)(a.hU,{as:"a",href:o.Kd,target:"_blank",paddingMode:"outer",title:"GitHub","aria-label":"GitHub",children:(0,r.jsx)(a.fy,{})}),(0,r.jsx)(a.hU,{title:f,"aria-label":f,onClick:h,children:d?(0,r.jsx)(a.NW,{}):(0,r.jsx)(a.kL,{})}),(0,r.jsx)(g,{})]})]})}function x(){return window.scrollY>0}function p(){let[e,t]=(0,A.useState)(!1);return(0,A.useLayoutEffect)(()=>{t(x());let e=()=>{t(x())};return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),(0,r.jsx)("header",{className:(0,a.RT)("sticky top-0 z-20 flex h-16 border-b border-transparent bg-base-bg/60 backdrop-blur",e&&"border-base-border"),children:(0,r.jsx)(a.W2,{className:"flex",children:(0,r.jsx)(f,{})})})}},3983:function(e,t,n){n.d(t,{C6:function(){return b},DT:function(){return x},Jq:function(){return u},Kd:function(){return h},MS:function(){return f},PR:function(){return g},Vu:function(){return d},Xu:function(){return m},gO:function(){return p},gk:function(){return l},wY:function(){return c},xK:function(){return o},yU:function(){return w}});var r=n(9539),A=n.n(r),a=n(8353),i=n(4087),s=n(1006);let o="[email protected]",l="".concat("https://gungho0619.vercel.app/","/resume.pdf"),c=Math.round(A()().diff("2017-02-01T00:00","year",!0)),u=[{position:"Full Stack Engineer",company:"LOLICO",image:i.default,startDate:"2022-06-01T00:00",endDate:"2024-02-01T00:00",description:"At Lolico, I had the opportunity to serve as both a team lead and an engineering manager for a team. In my role as a team lead, I maintained close communication with the client, planned upcoming work, estimated tasks, and ensured smooth operations. As an engineering manager, I prioritized team happiness and developed growth plans for engineers. Additionally, I gained experience as a technical interviewer for the hiring team. In my capacity as an engineer, I worked with various technologies including frontend, backend, desktop applications, and Debian packages. Notably, I successfully implemented a UI Kit and led the redesign of a web application."},{position:"Web3 Frontend Engineer",company:"AGREX",image:a.default,startDate:"2020-09-01T00:00",endDate:"2022-03-31T00:00",description:"At AGREX, I created a new TypeScript/Next.js/Tailwind CSS front-end application from the ground up to ensure scalability and performance. Additionally, I integrated a search feature to enhance user experience and aid in content discovery. My responsibilities also included conducting code reviews, managing source code, and delivering environment UI."},{position:"Frontend Engineer",company:"SCUTI",image:s.default,startDate:"2018-08-01T00:00",endD
1ate:"2020-06-12T00:00",description:"At Scuti, I built a real estate service in 10 months, expanding its engineering team from 2 to 6 members. Additionally, I enhanced the core workflow engine and various API integrations with multiple external partners."}],d="gungho0619",h="https://github.com/".concat(d),g="gungho0619",f="https://t.me/".concat(g),x=["TypeScript","Next.js","React","Material-UI","Tailwind CSS","Angular","Node.js","ExpressJs","MongoDB","PostgreSQL","SQL","Rust","Go","Solidity","Solana","NFT MarketPlace","Git/Github","Python","Playwright"],p=["Chess","Guitar","Pets","Dancing","Traveling"],m="EST (UTC-5)",b={light:"light",dark:"dark"},w=Object.values(b)},8690:function(e,t,n){n.d(t,{xu:function(){return i},zx:function(){return u},Af:function(){return h},Zn:function(){return f},o2:function(){return p},W2:function(){return b},fy:function(){return B},hU:function(){return j},rU:function(){return O},TR:function(){return N},kL:function(){return y},NW:function(){return k},cO:function(){return a},RT:function(){return l}});var r=n(7437),A=n(2265);function a(e){return A.forwardRef(e)}let i=a(function(e,t){let{as:n="div",...A}=e;return(0,r.jsx)(n,{ref:t,...A})});var s=n(3256),o=n(8740);function l(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.m6)((0,o.dV)(...t))}let c=(0,s.tv)({base:"focus-outline inline-flex select-none items-center justify-center whitespace-nowrap rounded border border-transparent bg-white px-5 py-4 text-base font-bold leading-none text-black transition",variants:{variant:{filled:"",outlined:""},disabled:{true:"pointer-events-none opacity-50"},color:{primary:""},width:{auto:"w-auto",full:"w-full"}},compoundVariants:[{variant:"filled",color:"primary",class:"bg-primary-surface text-primary-surface-text-strong hover:border-primary-border hover:bg-transparent hover:text-primary-text"},{variant:"outlined",color:"primary",class:"border-base-border bg-transparent text-primary-text hover:border-primary-border"}],defaultVariants:{variant:"filled",color:"primary"}}),u=a(function(e,t){let{as:n="button",children:A,className:a,color:s,width:o,variant:u,disabled:d,tabIndex:h,...g}=e,f=l(c({color:s,width:o,variant:u,disabled:d}),a);return(0,r.jsx)(i,{ref:t,as:n,className:f,disabled:d,tabIndex:d?-1:h,...g,children:A})}),d=(0,s.tv)({base:"inline-flex select-none items-center rounded-sm bg-base-surface px-2 py-1 text-sm text-base-surface-text-weak transition hover:text-base-surface-text-strong sm:text-base"}),h=a(function(e,t){let{children:n,className:A,...a}=e,s=l(d(),A);return(0,r.jsx)(i,{ref:t,className:s,...a,children:n})}),g=(0,s.tv)({base:"flex flex-wrap gap-3"}),f=a(function(e,t){let{children:n,className:A,...a}=e,s=l(g(),A);return(0,r.jsx)(i,{ref:t,className:s,...a,children:n})}),x=(0,s.tv)({base:"truncate text-sm"}),p=a(function(e,t){let{as:n="span",children:A,className:a,...s}=e,o=l(x(),a);return(0,r.jsx)(i,{ref:t,as:n,className:o,...s,children:A})}),m=(0,s.tv)({base:"mx-auto w-full max-w-5xl px-4 sm:px-8"}),b=a(function(e,t){let{as:n="div",children:A,className:a,...s}=e,o=l(m(),a);return(0,r.jsx)(i,{ref:t,as:n,className:o,...s,children:A})}),w=(0,s.tv)({base:"inline-flex h-[1em] w-[1em] shrink-0",variants:{size:{md:"text-2xl"}}}),v=a(function(e,t){let{as:n="span",className:A,children:a,size:s,...o}=e,c=l(w({size:s}),A);return(0,r.jsx)(i,{ref:t,as:n,className:c,...o,children:a})}),E=(0,s.tv)({base:"inline-flex select-none items-center justify-center rounded p-2 text-base transition hover:bg-base-text-strong/[0.08]",variants:{paddingMode:{outer:"-m-2",inner:""}}}),j=a(function(e,t){let{as:n="button",children:A,className:a,paddingMode:s,...o}=e,c=l(E({paddingMode:s}),a);return(0,r.jsx)(i,{ref:t,as:n,className:c,...o,children:A})}),B=a(function(e,t){return(0,r.jsx)(v,{ref:t,...e,children:(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("g",{clipPath:"url(#a)",children:(0,r.jsx)("g",{clipPath:"url(#b)",children:(0,r.jsx)("path",{fill:"currentColor",d:"M12 0a12 12 0 0 0-3.8 23.39c.6.1.8-.26.8-.58v-2.23c-3.34.72-4.03-1.42-4.03-1.42-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.72.09-.72 1.2.08 1.84 1.23 1.84 1.23 1.07 1.84 2.8 1.3 3.49 1 .1-.78.42-1.3.76-1.6-2.67-.31-5.47-1.34-5.47-5.94 0-1.3.47-2.38 1.24
1-3.22-.13-.3-.54-1.52.12-3.17 0 0 1-.33 3.3 1.23a11.5 11.5 0 0 1 6 0c2.3-1.55 3.3-1.23 3.3-1.23.66 1.65.25 2.87.12 3.17a4.63 4.63 0 0 1 1.24 3.22c0 4.61-2.81 5.63-5.48 5.93.43.37.82 1.1.82 2.22v3.29c0 .32.2.7.8.58A12 12 0 0 0 12 0Z"})})}),(0,r.jsxs)("defs",{children:[(0,r.jsx)("clipPath",{id:"a",children:(0,r.jsx)("path",{fill:"currentColor",d:"M0 0h24v24H0z"})}),(0,r.jsx)("clipPath",{id:"b",children:(0,r.jsx)("path",{fill:"currentColor",d:"M0 0h24v24H0z"})})]})]})})}),y=a(function(e,t){return(0,r.jsx)(v,{ref:t,...e,children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M21.75 15A9.75 9.75 0 0 1 9 2.25 9.75 9.75 0 1 0 21.75 15Z"})})})}),k=a(function(e,t){return(0,r.jsx)(v,{ref:t,...e,children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 3v2.25m6.36.39-1.59 1.59M21 12h-2.25m-.39 6.36-1.59-1.59M12 18.75V21m-4.77-4.23-1.6 1.6M5.26 12H3m4.23-4.77-1.6-1.6M15.76 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"})})})}),C=(0,s.tv)({base:"focus-outline rounded text-primary-text hover:underline",variants:{variant:{underline:"underline"}}}),O=a(function(e,t){let{as:n="a",children:A,className:a,variant:s,...o}=e,c=l(C({variant:s}),a);return(0,r.jsx)(i,{ref:t,as:n,className:c,...o,children:A})});var U=n(703),D=n(959);let M=(0,s.tv)({base:"text-base font-bold text-primary-text"}),N=a(function(e,t){let{className:n,...A}=e,a=l(M(),n);return(0,r.jsx)(i,{ref:t,className:a,...A,children:(0,r.jsx)(U.default,{src:D.default,alt:"Flamingo logo",width:60,height:60,className:"max-[480px]:h-8 max-[480px]:w-8"})})})},1147:function(e,t,n){n.d(t,{to:function(){return r}});let r={home:()=>"/",aboutMe:()=>"/about-me",blog:()=>"/blog",blogPost:e=>"/blog/".concat(e),projects:()=>"/projects",project:e=>"/projects/".concat(e)}},8353:function(e,t,n){n.r(t),t.default={src:"/_next/static/media/agrex.badcf345.png",height:50,width:50,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAANlBMVEVpeXl6e359e3t+f4F+e30Kuc8XnbFMaXF7e31li5EUscUAwNeDf4EQsMUWrsFejZOHgIEUus+lOLz0AAAAEHRSTlMDV0HcvOcEAGLIbEz+a2if2zL5TAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADxJREFUeJwly0kSACEIBMFWwQa3wf9/dkK91SELBM0IorL7SAS41ONU2/qJSMbc6qOIgU09Sn44Lq5v/wFCHQHTasBoJgAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:8}},4087:function(e,t,n){n.r(t),t.default={src:"/_next/static/media/datarockets-logo.3c000aae.jpg",height:200,width:200,blurDataURL:"data:image/jpeg;base64,/9j/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wgARCAAIAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAGmB//EABUQAQEAAAAAAAAAAAAAAAAAABEj/9oACAEBAAEFArP/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAEDAQE/AX//xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oACAECAQE/AX//xAAWEAEBAQAAAAAAAAAAAAAAAADRAHH/2gAIAQEABj8CxL//xAAaEAABBQEAAAAAAAAAAAAAAAABABEhQaHR/9oACAEBAAE/IZ1GC/DV/9oADAMBAAIAAwAAABDz/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPxB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAgEBPxB//8QAGRAAAQUAAAAAAAAAAAAAAAAAcQARIWGx/9oACAEBAAE/ELkG5BHT/9k=",blurWidth:8,blurHeight:8}},959:function(e,t,n){n.r(t),t.default={src:"/_next/static/media/flamingo.3f95f23e.png",height:320,width:319,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAbFBMVEVMaXHoRSGqJAxQOTL/mVmiLxv5azj+dkD/nmD3TyUJGBvTPRfSOxXLKhPyYjXDKxXUgFpgNSrLNxbVd1usKBeWGAbhnXrGNh6NDwHDOBmgMhfdSyjOSB7cORS5LRWBOynCKgvBdFzTWzjUg2aXeZayAAAAHXRSTlMA/hVmCjuVXBb8m7Z54tuZj9C9YthTZqiQ2o30KlVp7g8AAAAJcEhZcwAACxMAAAsTAQCanBgAAABBSURBVHicBcGHAYAgEACxQ4EHG/YOtv13NAGcWNGAa7yKpQaJaVzvCoYnTWw9zN+OOxZo3xOrDOSXER8Ais7XGT9sTAL5Y0Ba3AAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:8}},1006:function(e,t,n){n.r(t),t.default={src:"/_next/static/media/scuti.3acc269e.png",height:50,width:50,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAM1BMVEX////54OOYkZLwur6dnZ355Ob+8/T77u/++/vzxMn119nPtrnIy8vAwMDLzMy8vLyys7Kjwf9CAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAN0lEQVR4nCWJRxLAIBDDBNlKQvn/azOALxrJAJoEe66X4ZG+/bFSTlDPdq40woBV56gv0EVEPn4gOQENfb8+ewAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:8}}}]);
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.