-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex copy.html
More file actions
22 lines (22 loc) · 66.4 KB
/
index copy.html
File metadata and controls
22 lines (22 loc) · 66.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Hello, from alanhc | alanhc</title><meta name="robots" content="index,follow"/><meta name="description" content="Alan Tseng | alanhc | 曾宏鈞's website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@alanhc316"/><meta name="twitter:creator" content="@alanhc316"/><meta property="og:title" content="Hello, from alanhc | alanhc"/><meta property="og:description" content="Alan Tseng | alanhc | 曾宏鈞's website"/><meta property="og:type" content="alan tseng"/><meta property="og:site_name" content="Alan Tseng"/><meta name="apple-mobile-web-app-capable" content="yes"/><link rel="icon" href="/logo.png"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><link rel="alternate" type="application/atom+xml" href="/atom.xml"/><link rel="manifest" href="/manifest.json"/><link rel="apple-touch-icon" href="icons/apple-icon-180.png"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2048-2732.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2732-2048.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1668-2388.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2388-1668.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1536-2048.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2048-1536.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1668-2224.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2224-1668.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1620-2160.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2160-1620.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1290-2796.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2796-1290.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1179-2556.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2556-1179.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1284-2778.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2778-1284.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1170-2532.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2532-1170.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1125-2436.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2436-1125.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1242-2688.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2688-1242.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-828-1792.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1792-828.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1242-2208.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-2208-1242.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-750-1334.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1334-750.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-640-1136.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"/><link rel="apple-touch-startup-image" href="icons/apple-splash-1136-640.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)"/><meta name="next-head-count" content="48"/><link rel="preload" href="/_next/static/css/d2be147804efa983.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d2be147804efa983.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-e3b91cdeb5006bcc.js" defer=""></script><script src="/_next/static/chunks/framework-47aaa835d1968214.js" defer=""></script><script src="/_next/static/chunks/main-9314b6cc36d10ccc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c21fe3272a266ff0.js" defer=""></script><script src="/_next/static/chunks/905-4c9ef0a6575b1584.js" defer=""></script><script src="/_next/static/chunks/229-7dbe1d912d89afb2.js" defer=""></script><script src="/_next/static/chunks/795-f8cf02f7e2b6fe8f.js" defer=""></script><script src="/_next/static/chunks/594-ed6f54fd7940bc27.js" defer=""></script><script src="/_next/static/chunks/477-eacaf5e40929c97b.js" defer=""></script><script src="/_next/static/chunks/pages/index%20copy-628bf96a86a02fef.js" defer=""></script><script src="/_next/static/po6veTMgV-Nby5tLuQYTF/_buildManifest.js" defer=""></script><script src="/_next/static/po6veTMgV-Nby5tLuQYTF/_ssgManifest.js" defer=""></script></head><body><script id="chakra-script">!(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="light",e="chakra-ui-color-mode",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();</script><div id="__next"><style data-emotion="css-global 1b7scut">:host,:root,[data-theme]{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#000000;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#EDF2F7;--chakra-colors-gray-200:#E2E8F0;--chakra-colors-gray-300:#CBD5E0;--chakra-colors-gray-400:#A0AEC0;--chakra-colors-gray-500:#718096;--chakra-colors-gray-600:#4A5568;--chakra-colors-gray-700:#2D3748;--chakra-colors-gray-800:#1A202C;--chakra-colors-gray-900:#171923;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#38A169;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-3xs:0.45rem;--chakra-fontSizes-2xs:0.625rem;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0-5:0.125rem;--chakra-space-1-5:0.375rem;--chakra-space-2-5:0.625rem;--chakra-space-3-5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0-5:0.125rem;--chakra-sizes-1-5:0.375rem;--chakra-sizes-2-5:0.625rem;--chakra-sizes-3-5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-prose:60ch;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;--chakra-breakpoints-base:0em;--chakra-breakpoints-sm:30em;--chakra-breakpoints-md:48em;--chakra-breakpoints-lg:62em;--chakra-breakpoints-xl:80em;--chakra-breakpoints-2xl:96em;}.chakra-ui-light :host:not([data-theme]),.chakra-ui-light :root:not([data-theme]),.chakra-ui-light [data-theme]:not([data-theme]),[data-theme=light] :host:not([data-theme]),[data-theme=light] :root:not([data-theme]),[data-theme=light] [data-theme]:not([data-theme]),:host[data-theme=light],:root[data-theme=light],[data-theme][data-theme=light]{--chakra-colors-chakra-body-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-body-bg:var(--chakra-colors-white);--chakra-colors-chakra-border-color:var(--chakra-colors-gray-200);--chakra-colors-chakra-inverse-text:var(--chakra-colors-white);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-100);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-600);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-gray-500);}.chakra-ui-dark :host:not([data-theme]),.chakra-ui-dark :root:not([data-theme]),.chakra-ui-dark [data-theme]:not([data-theme]),[data-theme=dark] :host:not([data-theme]),[data-theme=dark] :root:not([data-theme]),[data-theme=dark] [data-theme]:not([data-theme]),:host[data-theme=dark],:root[data-theme=dark],[data-theme][data-theme=dark]{--chakra-colors-chakra-body-text:var(--chakra-colors-whiteAlpha-900);--chakra-colors-chakra-body-bg:var(--chakra-colors-gray-800);--chakra-colors-chakra-border-color:var(--chakra-colors-whiteAlpha-300);--chakra-colors-chakra-inverse-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-subtle-bg:var(--chakra-colors-gray-700);--chakra-colors-chakra-subtle-text:var(--chakra-colors-gray-400);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-whiteAlpha-400);}</style><style data-emotion="css-global fubdgu">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;margin:0;font-feature-settings:"kern";}:where(*, *::before, *::after){border-width:0;border-style:solid;box-sizing:border-box;word-wrap:break-word;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}:where(pre, code, kbd,samp){font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}:where(b, strong){font-weight:bold;}small{font-size:80%;}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}:where(button, input, optgroup, select, textarea){font-family:inherit;font-size:100%;line-height:1.15;margin:0;}:where(button, input){overflow:visible;}:where(button, select){text-transform:none;}:where(
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner
){border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}:where([type="checkbox"], [type="radio"]){box-sizing:border-box;padding:0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}input[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}:where(
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre
){margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}:where(ol, ul){margin:0;padding:0;}textarea{resize:vertical;}:where(button, [role="button"]){cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}:where(h1, h2, h3, h4, h5, h6){font-size:inherit;font-weight:inherit;}:where(button, input, optgroup, select, textarea){padding:0;line-height:inherit;color:inherit;}:where(img, svg, video, canvas, audio, iframe, embed, object){display:block;}:where(img, video){max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]):not(
[data-focus-visible-disabled]
){outline:none;box-shadow:none;}select::-ms-expand{display:none;}:root,:host{--chakra-vh:100vh;}@supports (height: -webkit-fill-available){:root,:host{--chakra-vh:-webkit-fill-available;}}@supports (height: -moz-fill-available){:root,:host{--chakra-vh:-moz-fill-available;}}@supports (height: 100dvh){:root,:host{--chakra-vh:100dvh;}}</style><style data-emotion="css-global 1cgn62j">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-chakra-body-text);background:var(--chakra-colors-chakra-body-bg);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::-moz-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*:-ms-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*,*::before,::after{border-color:var(--chakra-colors-chakra-border-color);}</style> <div class="css-0"><style data-emotion="css 1yghfag">.css-1yghfag{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-10);}</style><div class="chakra-stack css-1yghfag"><style data-emotion="css 109at3e">.css-109at3e{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:var(--chakra-sizes-full);margin-top:var(--chakra-space-5);}</style><div class="chakra-container css-109at3e"><button><style data-emotion="css 1l3a3yb">.css-1l3a3yb{position:relative;min-width:300px;}.css-1l3a3yb>*:not(style){overflow:hidden;position:absolute;top:0px;right:0px;bottom:0px;left:0px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;}.css-1l3a3yb>img,.css-1l3a3yb>video{object-fit:cover;}.css-1l3a3yb::before{height:0px;content:"";display:block;padding-bottom:100%;}</style><div class="chakra-aspect-ratio css-1l3a3yb"><style data-emotion="css z596du">.css-z596du{position:relative;bottom:var(--chakra-space-1);}</style><div class="css-z596du"><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:absolute;top:0;left:0;bottom:0;right:0"><img alt="My Picture" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="fill" style="border-radius:100%;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="My Picture" loading="lazy" decoding="async" data-nimg="fill" style="border-radius:100%;position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" sizes="100vw" srcSet="./image/me.jpeg?imwidth=640 640w, ./image/me.jpeg?imwidth=750 750w, ./image/me.jpeg?imwidth=828 828w, ./image/me.jpeg?imwidth=1080 1080w, ./image/me.jpeg?imwidth=1200 1200w, ./image/me.jpeg?imwidth=1920 1920w, ./image/me.jpeg?imwidth=2048 2048w, ./image/me.jpeg?imwidth=3840 3840w" src="./image/me.jpeg?imwidth=3840"/></noscript></span></div></div></button><style data-emotion="css 1dklj6k">.css-1dklj6k{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:var(--chakra-fontSizes-3xl);line-height:1.33;}@media screen and (min-width: 48em){.css-1dklj6k{font-size:var(--chakra-fontSizes-4xl);line-height:1.2;}}</style><h2 class="chakra-heading css-1dklj6k">Alan Tseng</h2><style data-emotion="css mcpu91">.css-mcpu91{font-size:var(--chakra-fontSizes-xl);}</style><p class="chakra-text css-mcpu91"><style data-emotion="css 14xnhpj">.css-14xnhpj{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-blue-500);}.css-14xnhpj:hover,.css-14xnhpj[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-14xnhpj:focus-visible,.css-14xnhpj[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-14xnhpj" href="https://medium.com/@alanhc">Medium<!-- --> <!-- --> | </a><a class="chakra-link css-14xnhpj" href="https://github.com/alanhc">Github<!-- --> <!-- --> | </a><a class="chakra-link css-14xnhpj" href="https://www.linkedin.com/in/alanhc316/">Linkedin<!-- --> <!-- --> | </a><a class="chakra-link css-14xnhpj" href="/logA">notes<!-- --> <!-- --> | </a><a class="chakra-link css-14xnhpj" href="/feed.xml">rss<!-- --> </a></p><style data-emotion="css itvw0n">.css-itvw0n{font-size:var(--chakra-fontSizes-sm);}</style><p class="chakra-text css-itvw0n">Only the paranoid survive</p></div><style data-emotion="css ct51lu">.css-ct51lu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:0.5rem;}@media screen and (min-width: 48em){.css-ct51lu{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}</style><div class="chakra-stack css-ct51lu"><style data-emotion="css 1xaos4g">.css-1xaos4g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;min-width:0px;word-wrap:break-word;--card-bg:var(--chakra-colors-chakra-body-bg);background-color:var(--card-bg);box-shadow:var(--card-shadow);border-radius:var(--card-radius);color:var(--chakra-colors-chakra-body-text);border-width:var(--card-border-width, 0);border-color:var(--card-border-color);--card-radius:var(--chakra-radii-md);--card-padding:var(--chakra-space-5);max-width:var(--chakra-sizes-full);}</style><div class="chakra-card css-1xaos4g"><style data-emotion="css esmgy6">.css-esmgy6{padding:var(--card-padding);-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%;--card-padding:0;}</style><div class="chakra-card__body css-esmgy6"><style data-emotion="css 1gottk">.css-1gottk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--chakra-space-3);margin-top:var(--chakra-space-6);}</style><div class="chakra-stack css-1gottk"><style data-emotion="css 1i5j3tx">.css-1i5j3tx{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:var(--chakra-fontSizes-3xl);line-height:1.33;color:var(--chakra-colors-blue-500);}@media screen and (min-width: 48em){.css-1i5j3tx{font-size:var(--chakra-fontSizes-4xl);line-height:1.2;}}</style><h2 class="chakra-heading css-1i5j3tx">Education</h2><style data-emotion="css y98szc">.css-y98szc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;min-width:0px;word-wrap:break-word;--card-bg:var(--chakra-colors-chakra-body-bg);background-color:var(--card-bg);box-shadow:var(--card-shadow);border-radius:var(--card-radius);color:var(--chakra-colors-chakra-body-text);border-width:var(--card-border-width, 0);border-color:var(--card-border-color);--card-radius:var(--chakra-radii-md);--card-padding:var(--chakra-space-5);max-width:var(--chakra-sizes-sm);}</style><div class="chakra-card css-y98szc"><style data-emotion="css 13mmank">.css-13mmank{padding:var(--card-padding);--card-padding:0;}</style><div class="chakra-card__header css-13mmank"><style data-emotion="css i3jkqk">.css-i3jkqk{font-size:var(--chakra-fontSizes-lg);}</style><b class="chakra-text css-i3jkqk"> <!-- -->National Taiwan University<!-- --> </b>- <!-- -->Institute of Networking and Multimedia</div><style data-emotion="css 6q9ebm">.css-6q9ebm{color:var(--chakra-colors-gray-500);font-size:var(--chakra-fontSizes-xs);}</style><b class="chakra-text css-6q9ebm">2021/9<!-- --> <!-- --> </b><style data-emotion="css jhncyh">.css-jhncyh{color:var(--chakra-colors-gray-500);font-size:var(--chakra-fontSizes-sm);}</style><p class="chakra-text css-jhncyh">Image and Vision Lab</p></div><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->Ming Chuan University<!-- --> </b>- <!-- -->Computer and Communication Engineering</div><b class="chakra-text css-6q9ebm">2017/9<!-- --> <!-- -->-<!-- --> <!-- -->2021/6</b><p class="chakra-text css-jhncyh">Developer Student Club Lead</p></div></div></div></div><div class="chakra-card css-1xaos4g"><div class="chakra-card__body css-esmgy6"><div class="chakra-stack css-1gottk"><h2 class="chakra-heading css-1i5j3tx">Work experience</h2><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->LINE<!-- --> </b>- <!-- -->Software Engineer Intern</div><b class="chakra-text css-6q9ebm">2022/7<!-- --> <!-- -->-<!-- --> <!-- -->2022/11</b><p class="chakra-text css-jhncyh">Collaborated with Korean backend team on a scalable front-end using monorepo development, leading a team of 5 developers in building an NFT application</p></div><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->Ming Chuan University<!-- --> </b>- <!-- -->Research Assistant</div><b class="chakra-text css-6q9ebm">2020/8<!-- --> <!-- -->-<!-- --> <!-- -->2021/7</b><p class="chakra-text css-jhncyh">Research Assistant of Early detection of human tremor symptoms and home care services based on video and deep learning</p></div><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->Ming Chuan University<!-- --> </b>- <!-- -->Teaching Assistant</div><b class="chakra-text css-6q9ebm">2020/8<!-- --> <!-- -->-<!-- --> <!-- -->2021/7</b><p class="chakra-text css-jhncyh">Teaching Assistant of Computer Programming II</p></div></div></div></div><div class="chakra-card css-1xaos4g"><div class="chakra-card__body css-esmgy6"><div class="chakra-stack css-1gottk"><h2 class="chakra-heading css-1i5j3tx">Honors & awards</h2><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->Andy Grove Scholarship<!-- --> </b>- <!-- -->Intel</div><b class="chakra-text css-6q9ebm">2019<!-- --> <!-- --> </b><p class="chakra-text css-jhncyh"></p></div><div class="chakra-card css-y98szc"><div class="chakra-card__header css-13mmank"><b class="chakra-text css-i3jkqk"> <!-- -->Research Excellence Award<!-- --> </b>- <!-- -->Ming Chuan University</div><b class="chakra-text css-6q9ebm">2021<!-- --> <!-- --> </b><p class="chakra-text css-jhncyh"></p></div></div></div></div></div></div><style data-emotion="css o9pbbe">.css-o9pbbe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:var(--chakra-space-5);}</style><div class="css-o9pbbe"><h2 class="chakra-heading css-1i5j3tx">Interest</h2></div><style data-emotion="css 1l4gr1b">.css-1l4gr1b{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;min-width:0px;word-wrap:break-word;--card-bg:var(--chakra-colors-chakra-subtle-bg);background-color:var(--card-bg);box-shadow:var(--card-shadow);border-radius:var(--card-radius);color:var(--chakra-colors-chakra-body-text);border-width:var(--card-border-width, 0);border-color:var(--card-border-color);--card-radius:var(--chakra-radii-md);--card-padding:var(--chakra-space-5);}</style><div class="chakra-card css-1l4gr1b"><style data-emotion="css 1h8zsow">.css-1h8zsow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;margin-top:var(--chakra-space-10);}</style><div class="css-1h8zsow"><style data-emotion="css 1c7p2bl">.css-1c7p2bl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:0.5rem;max-width:var(--chakra-sizes-2xl);}</style><div class="chakra-stack css-1c7p2bl"><style data-emotion="css spn4bz">.css-spn4bz{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;}.css-spn4bz:hover,.css-spn4bz[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-spn4bz:focus-visible,.css-spn4bz[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><a class="chakra-link css-spn4bz" href="https://youtube.com/playlist?list=PLMpHKKbuR6oF5CD49wcWkdrav1PKSOw-Q"><style data-emotion="css 1iate2g">.css-1iate2g{margin-top:var(--chakra-space-5);margin-left:var(--chakra-space-5);margin-bottom:var(--chakra-space-5);margin-right:var(--chakra-space-5);}</style><div class="css-1iate2g"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27300%27%20height=%27300%27/%3e"/></span><img alt="Video" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Video" loading="lazy" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" srcSet="./image/video-marketing.png?imwidth=384 1x, ./image/video-marketing.png?imwidth=640 2x" src="./image/video-marketing.png?imwidth=640"/></noscript></span><style data-emotion="css gmuwbf">.css-gmuwbf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}</style><div class="css-gmuwbf">Video</div></div></a><a class="chakra-link css-spn4bz" href="https://youtube.com/playlist?list=PLMpHKKbuR6oFT0ntQWeAU714PCdCA8P45"><div class="css-1iate2g"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27300%27%20height=%27300%27/%3e"/></span><img alt="Drum" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Drum" loading="lazy" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" srcSet="./image/drum-set.png?imwidth=384 1x, ./image/drum-set.png?imwidth=640 2x" src="./image/drum-set.png?imwidth=640"/></noscript></span><div class="css-gmuwbf">Drum</div></div></a><a class="chakra-link css-spn4bz" href="https://youtube.com/playlist?list=PLMpHKKbuR6oF_97Bbtvdqi7LWP4_6P0hh"><div class="css-1iate2g"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27300%27%20height=%27300%27/%3e"/></span><img alt="Coding" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="Coding" loading="lazy" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" srcSet="./image/coding.png?imwidth=384 1x, ./image/coding.png?imwidth=640 2x" src="./image/coding.png?imwidth=640"/></noscript></span><div class="css-gmuwbf">Coding</div></div></a></div></div></div><div class="css-1h8zsow"><h2 class="chakra-heading css-1i5j3tx">History</h2></div><style data-emotion="css 10cqoz5">.css-10cqoz5{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-prose);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);margin-top:var(--chakra-space-5);}</style><div class="chakra-container css-10cqoz5"><div class="chakra-card css-1l4gr1b"><style data-emotion="css 1idwstw">.css-1idwstw{padding:var(--card-padding);-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%;}</style><div class="chakra-card__body css-1idwstw"><style data-emotion="css j7qwjs">.css-j7qwjs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}</style><div class="chakra-stack css-j7qwjs"><style data-emotion="css d9u5">.css-d9u5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:var(--chakra-space-3);max-width:var(--chakra-sizes-5xl);}</style><div class="css-d9u5"><style data-emotion="css uqsj0l">.css-uqsj0l{font-family:var(--chakra-fonts-heading);font-weight:var(--chakra-fontWeights-bold);font-size:var(--chakra-fontSizes-sm);line-height:1.2;text-transform:uppercase;}</style><h2 class="chakra-heading css-uqsj0l">2021 - 2023</h2><style data-emotion="css m80vsx">.css-m80vsx{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-prose);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);margin-left:var(--chakra-space-3);}</style><div class="chakra-container css-m80vsx"><ul><li> <!-- -->2023 Graduate from National Taiwan University</li><li> <!-- -->2022 Software Engineer intership at LINE Corp</li></ul></div></div><style data-emotion="css 1q5cbl">.css-1q5cbl{border-width:0;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;border-color:inherit;width:auto;height:auto;}.css-1q5cbl{margin-top:var(--chakra-space-4);margin-bottom:var(--chakra-space-4);-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;border-left-width:0;border-bottom-width:1px;}</style><div class="chakra-stack__divider css-1q5cbl"></div><div class="css-d9u5"><h2 class="chakra-heading css-uqsj0l">2017 - 2021</h2><div class="chakra-container css-m80vsx"><ul><li> <!-- -->2021 Graduate Research Excellent Awards</li><li> <!-- -->2019 Intel Andy Grove Scholarship</li><li> <!-- -->2019-2021 Developer Student Club Lead</li><li> <!-- -->2018, 2019 Team captain at Microprocessor App Design Contest</li></ul></div></div><div class="chakra-stack__divider css-1q5cbl"></div><div class="css-d9u5"><h2 class="chakra-heading css-uqsj0l">2014 - 2017</h2><div class="chakra-container css-m80vsx"><ul><li> <!-- -->2015, 2016 Team captain at Interschool Robot Competition and won the first & third place</li><li> <!-- -->2015 English writing contest - 3rd place</li></ul></div></div><div class="chakra-stack__divider css-1q5cbl"></div><div class="css-d9u5"><h2 class="chakra-heading css-uqsj0l">2011 - 2014</h2><div class="chakra-container css-m80vsx"><ul><li> <!-- -->2012 Taipei Science fair - Honorable Mention</li><li> <!-- -->2012 Taipei class website contest</li></ul></div></div><div class="chakra-stack__divider css-1q5cbl"></div><div class="css-d9u5"><h2 class="chakra-heading css-uqsj0l">2005 - 2011</h2><div class="chakra-container css-m80vsx"><ul><li> <!-- -->2011 Taipei class website contest</li><li> <!-- -->2011 science fair - Honorable Mention</li><li> <!-- -->2010 science fair - Honorable Mention</li><li> <!-- -->2009 science fair - Honorable Mention</li></ul></div></div></div></div></div></div><div class="css-1h8zsow"><h2 class="chakra-heading css-1i5j3tx">Contact</h2></div><style data-emotion="css vhc7ah">.css-vhc7ah{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-prose);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);}</style><div class="chakra-container css-vhc7ah"><style data-emotion="css 1k4cbu4">.css-1k4cbu4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:0.5rem;margin-top:var(--chakra-space-5);}</style><div class="chakra-stack css-1k4cbu4"><style data-emotion="css 1w68ehk">.css-1w68ehk{width:100%;height:var(--input-height);font-size:var(--input-font-size);-webkit-padding-start:var(--input-padding);padding-inline-start:var(--input-padding);-webkit-padding-end:var(--input-padding);padding-inline-end:var(--input-padding);border-radius:var(--input-border-radius);min-width:0px;outline:2px solid transparent;outline-offset:2px;position:relative;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);min-height:var(--chakra-sizes-20);line-height:var(--chakra-lineHeights-short);vertical-align:top;--input-font-size:var(--chakra-fontSizes-sm);--input-padding:var(--chakra-space-3);--input-border-radius:var(--chakra-radii-sm);--input-height:var(--chakra-sizes-8);border:1px solid;border-color:inherit;background:inherit;}.css-1w68ehk:disabled,.css-1w68ehk[disabled],.css-1w68ehk[aria-disabled=true],.css-1w68ehk[data-disabled]{opacity:0.4;cursor:not-allowed;}.css-1w68ehk:hover,.css-1w68ehk[data-hover]{border-color:var(--chakra-colors-gray-300);}.css-1w68ehk[aria-readonly=true],.css-1w68ehk[readonly],.css-1w68ehk[data-readonly]{box-shadow:var(--chakra-shadows-none)!important;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;}.css-1w68ehk[aria-invalid=true],.css-1w68ehk[data-invalid]{border-color:#E53E3E;box-shadow:0 0 0 1px #E53E3E;}.css-1w68ehk:focus-visible,.css-1w68ehk[data-focus-visible]{z-index:1;border-color:#3182ce;box-shadow:0 0 0 1px #3182ce;}</style><textarea placeholder="write something to me..." class="chakra-textarea css-1w68ehk"></textarea><style data-emotion="css ez23ye">.css-ez23ye{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;white-space:nowrap;vertical-align:middle;outline:2px solid transparent;outline-offset:2px;line-height:1.2;border-radius:var(--chakra-radii-md);font-weight:var(--chakra-fontWeights-semibold);transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);height:var(--chakra-sizes-10);min-width:var(--chakra-sizes-10);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);background:var(--chakra-colors-gray-100);color:var(--chakra-colors-gray-800);}.css-ez23ye:focus-visible,.css-ez23ye[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-ez23ye:disabled,.css-ez23ye[disabled],.css-ez23ye[aria-disabled=true],.css-ez23ye[data-disabled]{opacity:0.4;cursor:not-allowed;box-shadow:var(--chakra-shadows-none);}.css-ez23ye:hover,.css-ez23ye[data-hover]{background:var(--chakra-colors-gray-200);}.css-ez23ye:hover:disabled,.css-ez23ye[data-hover]:disabled,.css-ez23ye:hover[disabled],.css-ez23ye[data-hover][disabled],.css-ez23ye:hover[aria-disabled=true],.css-ez23ye[data-hover][aria-disabled=true],.css-ez23ye:hover[data-disabled],.css-ez23ye[data-hover][data-disabled]{background:var(--chakra-colors-gray-100);}.css-ez23ye:active,.css-ez23ye[data-active]{background:var(--chakra-colors-gray-300);}</style><button type="button" class="chakra-button css-ez23ye">Send</button></div></div></div><span></span><span id="__chakra_env" hidden=""></span></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"portfolio":{"title":"hello","social_links":[{"name":"Medium","link":"https://medium.com/@alanhc"},{"name":"Github","link":"https://github.com/alanhc"},{"name":"Linkedin","link":"https://www.linkedin.com/in/alanhc316/"},{"name":"notes","link":"logA"},{"name":"rss","link":"feed.xml"}],"quote":"Only the paranoid survive","tech_interest":["blockchain","open source"],"introduction":"HUNG-CHUN, TSENG (alanhc) is a CS student at National Taiwan University. His research interests includes Blockchain, Machine Learning, Computer Vision and Pattern recognition. In his spare time. He creates Developer Student Club - MCU, a study group that exchanges development experiences and learns new technologies together. ","experience":[{"Education":[{"time":{"from":"2021/9","to":""},"first":"National Taiwan University","second":"Institute of Networking and Multimedia","description":"Image and Vision Lab"},{"time":{"from":"2017/9","to":"2021/6"},"first":"Ming Chuan University","second":"Computer and Communication Engineering","description":"Developer Student Club Lead"}]},{"Work experience":[{"time":{"from":"2022/7","to":"2022/11"},"first":"LINE","second":"Software Engineer Intern","description":"Collaborated with Korean backend team on a scalable front-end using monorepo development, leading a team of 5 developers in building an NFT application"},{"time":{"from":"2020/8","to":"2021/7"},"first":"Ming Chuan University","second":"Research Assistant","description":"Research Assistant of Early detection of human tremor symptoms and home care services based on video and deep learning"},{"time":{"from":"2020/8","to":"2021/7"},"first":"Ming Chuan University","second":"Teaching Assistant","description":"Teaching Assistant of Computer Programming II"}]},{"Honors \u0026 awards":[{"time":{"from":"2019","to":""},"first":"Andy Grove Scholarship","second":"Intel","description":""},{"time":{"from":"2021","to":""},"first":"Research Excellence Award","second":"Ming Chuan University","description":""}]}],"search":["select"],"search_groups":[{"title":"tag","options":["select","AI","blockchain","web","mobile","AR/VR"]},{"title":"tech","options":["Unity","NFT","FARM stack","NextJS","PWA","Tezos","NodeJS","MVC","mongodb","SSR","SSG","TypeScript","chakra UI","Python","solidity","streamlit","Chrome Extension","tensorflow","Javascript","p5JS","socket","Java","Processing","OpenGL","C++","OpenCV","example","select"]}],"projects":[{"title":"Decentralized showroom","image":"image/projects/showroom.png","tags":["select","AR/VR","blockchain","web"],"tech":["Unity","NFT","FARM stack"],"modal":{"title":"Decentralized showroom","description":"Developed backend API services for a decentralized showroom application using FastAPI, React, and MongoDB. Implemented a decentralized authentication mechanism using digital signatures.","demo":"https://medium.com/@alanhc/decentral-showroom-ntu-dapp-term-project-ce947ea9c792","github":"https://github.com/DSR-Team","video":"7EPRiUR4XqM"}},{"title":"Secure NFT Ticketing System","image":"image/projects/secureticketing.png","tags":["select","blockchain","web"],"tech":["NextJS","PWA","NFT","Tezos"],"modal":{"title":"NFT Ticketing","description":"Designed and implemented backend API services for a ticketing system using Python, FastAPI, and MongoDB. Applied homomorphic encryption and steganography to create secure QR codes.","video":"ZYo51JMlp5Y","demo":"","github":"https://github.com/alanhc/MMS-final"}},{"title":"alanhc.github.io","image":"","tags":["web"],"tech":["NextJS","SSG","TypeScript","chakra UI"],"modal":{"title":"alanhc.github.io","description":"The application uses static site generation (SSG) to speed up page load times and improve SEO.","demo":"https://alanhc.github.io/","github":""}},{"title":"BBF(Blockchain Bloom Filter)","image":"image/projects/bloomfilter.png","tags":["blockchain"],"tech":["Python","solidity","streamlit"],"modal":{"title":"2022 NTU DApp (spring) Midterm Project","description":"Developed a blockchain-based vaccine tracking system utilizing Bloom Filter for efficient and rapid vaccine batch number verification with lower time complexity O(k) and space complexity O(m).","demo":"https://medium.com/@alanhc/%E4%BD%BF%E7%94%A8bloom-filter%E5%8F%8Aweb3-py%E4%BE%86%E5%81%9A%E7%96%AB%E8%8B%97%E8%AA%8D%E8%AD%89-ntu-dapp-%E6%9C%9F%E4%B8%ADprototype-4493ba5425e9","github":"","video":"oaXrKvUwzuU"}},{"title":"Fake News Hunter","image":"image/projects/cofacts.png","tags":["web"],"tech":["Chrome Extension"],"modal":{"title":"Fake News Hunter","description":"Developed a Chrome extension to combat fake news, integrating with g0v's Cofacts API. The extension utilizes the Flask backend and leverages GCP's Cloud Function server for scalability and efficiency.","demo":"","github":"https://github.com/DSC-TW/SC-cofacts-extension","video":"JxxwyeFB45s"}},{"title":"Posenet Chrome Dino(T-Rex Game)","image":"image/projects/dino.png","tags":["web","select"],"tech":["tensorflow","Javascript","p5JS"],"modal":{"title":"dino-posenet","description":"I modified the source code of the Chrome Dino Runner game to add a pose-based jumping mechanic. I used the PoseNet model from ml5.js to track the player's pose. When the player moved their arms up, the dinosaur would jump. I used the p5 Vector class from p5.js to calculate the dinosaur's jump trajectory.","demo":"","github":"https://github.com/alanhc/dino-posenet","video":"rE01xxdUTdY"}},{"title":"drum.io","image":"image/projects/drum.png","tags":["web"],"tech":["socket","p5JS"],"modal":{"title":"drum.io","description":"Awarded 1st place in Interactive Media Programming and 3rd place by collective vote for developing a multiplayer interactive game combining machine learning and hardware. The game uses KNN algorithm to analyze acceleration data from an embedded device to create an air drum experience and enable online battles.","demo":"","github":"","video":"82d7E0uENcg"}},{"title":"LANDING:PLANET","image":"image/projects/landing.png","tags":["mobile"],"tech":["Java","Processing"],"modal":{"title":"LANDING:PLANET","description":"Received Second Place by collective vote (50 participants) for developing a space exploration game using Java and \"Computer Graphics\" concepts. Inspired by Mars: Mars, the game utilizes Java Processing to create immersive visuals and interactions, featuring physics simulations (gravity, landing) and particle effects (spaceship thrust, landing). An Android version of the game is also available.","demo":"","github":"","video":"sISmhfmjx60"}},{"title":"Money-Sea Crisis","image":"image/projects/Money-Sea-Crisis.png","tags":["mobile"],"tech":["Unity"],"modal":{"title":"sea level rise","description":"The game uses Unity to create a Monopoly-like land-buying mechanic with a quiz to teach players about climate change. The game allows players to experience the effects of sea level rise firsthand and earn money by answering questions correctly.","demo":"","github":"","video":"vm1mut6qMHA"}},{"title":"OpenGL Dancing Robot","image":"image/projects/dancingrobot.png","tags":["mobile"],"tech":["OpenGL","C++","OpenCV"],"modal":{"title":"OpenGL Dancing Robot","description":"Developed a model control system in OpenGL that enables a robot to jump, winning first place in the Computer Graphics final project. The system was inspired by Maya's graphical model control system and utilizes computer graphics concepts such as alpha, model import, and coordinate movement.","demo":"","github":"","video":"1JbuL0aO4-s"}},{"title":"Early detection of human tremor symptoms","image":"image/projects/trembling.png","tags":["select","AI"],"tech":["example"],"modal":{"title":"Early detection of human tremor symptoms and home care services based on video and deep learning","description":"Developed an LSTM-RNN model using Tensorflow Functional API to distinguish between patient tremor frequency and noise. The model achieved an average accuracy of 94.8% on a dataset of 160,000 simulated signals. The model can distinguish between different tremor frequencies with an accuracy of 94.14% and 95.42%, respectively.","demo":"","github":"","video":"","screenshot":["image/projects/trembling.png"]}},{"title":"Adaptive Driving Beam System","image":"image/projects/adb.png","tags":["select","AI"],"tech":["example"],"modal":{"title":"Adaptive Driving Beam System based on Deep Learning and Image Enhancement","description":"Developed an Adaptive Driving Beam Headlamp (ADB) system using deep learning techniques for nighttime vehicle detection. This project integrates recent research in computer vision and image enhancement to improve nighttime driving safety.","demo":"","github":"","video":"uoV21i9NB98"}},{"title":"Change My Style","image":"image/projects/cce-demo.png","tags":["select","AI"],"tech":["example"],"modal":{"title":"","description":"Developed a machine learning inference API using FastAPI and Tensorflow. The API takes an image as input and returns the predicted class label. The API was built using FastAPI, a modern Python framework for building APIs. Tensorflow was used to load and run the machine learning model. Built a client application using Tkinter and OpenCV to interact with the API. The client application allows users to upload images and view the predicted class label. The client application was built using Tkinter, a Python GUI toolkit. OpenCV was used to load and display the images.","demo":"","github":"","video":"","screenshot":["image/projects/cce-demo.png"]}},{"title":"AlgViz","image":"image/projects/alg.png","tags":["select"],"tech":["example"],"modal":{"title":"","description":"Implemented algorithms including AVL Trees, Binary Search Trees, Dijkstra's algorithm, Kruskal's algorithm, Max Heaps, multiple sorting algorithms, and Topological Sort, and visualized the structures and time complexities of different sorting algorithms.","demo":"","github":"","video":""}},{"title":"MCU-up","image":"image/projects/up.png","tags":["web"],"tech":["NodeJS","MVC","mongodb","SSR"],"modal":{"title":"MCU-up","description":"Led a team of 5 developers and designers to build a review site using MVC, NodeJS, and Express. The application has been used by over 1,000 students.","demo":"https://medium.com/@alanhc/%E9%96%8B%E7%99%BCmcu-up-%E9%8A%98%E5%82%B3%E9%87%91%E6%89%8B%E6%8C%873-0-%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%85%92-5214e62aca80","github":"","screenshot":["image/mcu-up.webp"]}},{"title":"example","image":"","tags":[""],"tech":["example"],"modal":{"title":"","description":"","demo":"","github":"","video":""}}],"interest":[{"title":"Video","image":"/image/video-marketing.png","link":"https://youtube.com/playlist?list=PLMpHKKbuR6oF5CD49wcWkdrav1PKSOw-Q"},{"title":"Drum","image":"/image/drum-set.png","link":"https://youtube.com/playlist?list=PLMpHKKbuR6oFT0ntQWeAU714PCdCA8P45"},{"title":"Coding","image":"/image/coding.png","link":"https://youtube.com/playlist?list=PLMpHKKbuR6oF_97Bbtvdqi7LWP4_6P0hh"}],"timeline":[{"time":"2021 - 2023","description":["2023 Graduate from National Taiwan University","2022 Software Engineer intership at LINE Corp"]},{"time":"2017 - 2021","description":["2021 Graduate Research Excellent Awards","2019 Intel Andy Grove Scholarship","2019-2021 Developer Student Club Lead","2018, 2019 Team captain at Microprocessor App Design Contest"]},{"time":"2014 - 2017","description":["2015, 2016 Team captain at Interschool Robot Competition and won the first \u0026 third place","2015 English writing contest - 3rd place"]},{"time":"2011 - 2014","description":["2012 Taipei Science fair - Honorable Mention","2012 Taipei class website contest"]},{"time":"2005 - 2011","description":["2011 Taipei class website contest","2011 science fair - Honorable Mention","2010 science fair - Honorable Mention","2009 science fair - Honorable Mention"]}]}},"__N_SSG":true},"page":"/index copy","query":{},"buildId":"po6veTMgV-Nby5tLuQYTF","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>