Resume
About me 🧑🏻💻
Eric 鄧國欽
ericdenggc@gmail.com
I am passionate about Frontend Development (JavaScript and React.js), constantly learning new technologies to tackle complex challenges. Building a user-friendly product that can help people and make a positive impact is my purpose.
In my spare time, I actively engage in activities that contribute to my professional growth. I enjoy working out to maintain focus and discipline. Listening to podcasts helps me stay up-to-date with the latest industry trends. Additionally, I regularly write technical blogs to enhance my communication skills and deepen my understanding of intricate concepts.
Objective of my next career
- Have opportunity to develop backend and cloud services.
- Become a professional team leader with strong technical and communication skills.
Technical Skills
- HTML5, CSS3, JavaScript (ES6+)
- React.js Tech stack: Hook, Context, Redux, React Router, CRA, Next.js, React Intl, next-i18next
- React Native: Navigation, Notification, Webview, Deeplink, Code Push, Flipper
- Vue.js 2 Tech Stack: Vuex, Vue Router, Vue CLI, Nuxt.js, Vue-i18n, vue-devtools
- CSS: styled-components, SASS/SCSS, CSS Modules, Flexbox, Grid Layout
- Component Library: Chakra UI, Element UI, Bootstrap
- Cross browser compatible & responsive web design
- Data Fetching: Axios, SWR, React Apollo GraphQL Client, Socket.io, React Query
- Frontend Building Tools: Webpack, Storybook, bit.dev, ESLint, Babel, Prettier, Gulp, PostCSS, cssnano, Autoprefixer, UglifyJS, Loadable Components
- SEO Optimization
- robots.txt, sitemap.xml
- Google Search Console
- Semantic HTML
- Metadata, Open Graph Tags, react-helmet
- Pre-rendering: SSR, SSG, ISR, Prerender.io
- JSON-LD schema
- Performance Optimization
- Web Vitals
- Chrome Developer Tools (Performance profiling, Lighthouse, PageSpeed Insights)
- React DevTools
- Cache strategies
- Dynamic import
- Lazy loading
- Frontend Logging: Sentry
- Build CI with Docker, Azure Pipeline, AWS, Drone
- Visualization: D3.js, ECharts, SVG, SVG.js, Canvas, Fabric.js, GSAP
- CMS: Magento, Contentful
- Backend Development: Node.js, Express.js, MongoDB
- Blockchain: Solidity, Hardhat, Web3.js, Metamask, WalletConnect, Infura, Moralis
Learning recently
- Use AI tools to boost work efficiency, e.g. ChatGPT Prompt Engineering
Soft Skills
- Not just coding but work with ownership and self-motivated
- From business requirements to live product. planning, analysis side effect, task prioritization, effort estimation, implement, testing, collaborate with team members
- Provide design suggestions and technology solutions to PM & UI/UX Designer for building a better production together
- Design and integrate API with backend engineer
- Write engineering spec, wiki, problem solving journey
Employment History
Senior Frontend Engineer at AsiaYo
2022/09 - Present
Products
- AsiaYo Web (https://asiayo.com/) made with React.js, Lerna (Monorepo), styled-components, Apollo, and Internal UI component library
- AsiaYo iOS & Android App made with React Native, styled-components, Redux, React Query, React Navigation , Universal Link
Experience
- Led a team of 3 members as Tech Lead, overseeing task assignment, scheduling, and conducting code reviews to maintain codebase quality.
- Conducted system analysis and designed system architecture to facilitate efficient development and maintenance processes.
- Assumed the role of Scrum Master, facilitating agile development processes and fostering collaboration among cross-functional teams.
- Collaborated with RD, PM, QA, Designers, and Operation teams to troubleshoot and resolve a wide range of technical issues.
- Collaborated with Backend Engineers to design APIs, ensuring efficient communication between frontend and backend systems.
- Mid-level Frontend Engineer acquisition, responsible for resume checking, assignment code review and first round technical interview.
- Successfully upgraded React from version 17 to 18, leveraging the latest features and enhancing overall performance.
- Implemented Server-Side Rendering (SSR) using Node.js, React 18 Client & Server rendering API, Apollo React Client, Helmet, and Loadable Components.
- Optimized web vitals, focusing on Cumulative Layout Shift (CLS) and Largest Contentful Paint (LCP) to enhance website performance and user experience.
- Implemented SEO strategies including metadata optimization, JSON-LD integration, FAQ schema, breadcrumb navigation, and resolution of Google Search Console issues.
- Leveraged Contentful CMS to develop customizable SEO content, enabling efficient management and customization of SEO elements.
- Developed an App Notification Center, enhancing user engagement and providing timely updates and alerts.
- Integrated various payment gateways, including Braintree, Tappay, and Atome, supporting both TWD and USD currencies.
- Implemented GA tracking in both web and app environments, enabling comprehensive analytics and insights into user behavior.
- Successfully integrated third-party services such as GTM, Facebook Pixel, Firebase, Sentry, Emarsys CRM, and AppsFlyer, enriching tracking capabilities and improving marketing strategies.
- Maintained technical documentation to facilitate knowledge sharing and smooth onboarding of new team members.
- Managed the maintenance and enhancement of the Channel Expansion Javascript SDK for Affiliate Marketing, enabling effective tracking and analysis of affiliate activities.
- Successfully upgraded iOS SDK & Android SDK, leveraging the latest features and improvements for enhanced app performance and functionality.
- Planned and implemented promotion page in web & app for package products with members, example: https://asiayo.com/zh-tw/package/cruise/. Also write a document for the operation team to teach them how to manage the promotion content.
- Optimized image by sharp library: converted format from jpg to webp, responsive size, compression.
Senior Frontend Engineer at HTC VIVE
2021/01 - 2022/08
Products
- VIVERSE Market - NFT marketplace focusing on Anime, Cartoon, and Games (ACG) themed NFTs.
- VIVE Arts NFT - NFT marketplace focusing on Arts and Collectibles.
- VIVEPORT - VR app store. Revamp web frontend and maintain issues of related legacy microservices.
Experience
- Buy NFT & Blind Box with credit card or cryptocurrency
- Support Ethereum and Matic (Polygon)
- Connect with MetaMask & WalletConnect protocol using Web3.js to interact with smart contract
- Integrate dApp browser in crypto wallet mobile app
- Support Pre-mint & Lazy mint NFT
- NFT Private sales (Whitelist) using Merkle Tree
- Timed auction & reserved auction
- Redeem NFT with redemption code that purchased from 7-11 ibon
- Withdraw NFT to a specific wallet address
- Implement all features common in E-commerce, including but not limited to:
- checkout
- payment
- account setting
- shareable profile & collectibles
- multi-currency stores, include TWD, USD, JPY
- multilingual, include English, Japanese & Traditional Chinese
- Google 2FA
- API & GraphQL integration with Magento CMS backend service
- OAuth integration with HTC account, Google, Metamask
- Build internal React component library with storybook and Bit.dev
- Setup CI pipeline with Azure DevOps
- Optimize SEO
- Setup robots.txt, sitemap.xml and Google Search Console
- Integrate Prerender.io for web crawlers
- Handle metadata and open graph tags
- Integrate 3rd-party services:
Frontend Tech Stack
React.js, React Hook, React Context, React Router, Redux, Magento PWA Studio, Next.js, ChakraUI, Webpack, ESLint, Storybook, Bit.dev, Prerender.io, Sentry, GA, GTM, CookiePro
Backend Rest API & GraphQL Integration
Magento, Payment gateway service, Axios, SWR, React Apollo Client
Blockchain Smart Contract Integration
Web3.js, Metamask, WalletConnect, Infura, Moralis
Frontend Engineer at QNAP
2017/12 - 2021/01
QNAP 是一家總部位於台灣的 NAS 設備製造商,業務範圍涵蓋軟體研發、硬體設計及自有生產線,目前專注於提供儲存、網通及智慧視訊監控解決方案。
我所在的團隊負責開發影像分析應用,包含人臉辨識、人流偵測等,產品是執行於 NAS 上的容器化網站應用程式。我的主要工作是開發及維護網站前端功能,使用的技術是 Vue.js,需與 UI/UX 設計師、後端工程師、DevOps、QA、機器學習工程師及 PM 合作。
Rewarding jobs
- 規劃網站架構,包含路由、頁面、元件、UI 狀態管理
- 建構元件庫及基本模板提供多個產品共同使用
- 研究新技術、評估開源套件並應用於產品中
- 大資料量網頁的效能優化,成功提高頁面速度 50%
- 降低 JS, CSS 檔案大小
- lazy loading
- 評估套件可否移除或更換
- 使用 DevTool 分析渲染效能
- 部署及開發環境建置
- 動態切換多國語言
- 串接即時的資料以及 UI 狀態更新(Long polling, Websocket)
- 串接影像串流,同時於影像畫面上畫出特定圖形、文字、圖片
- 開發繪圖工具,使用者可在影像縮圖上繪製線段、矩形、多邊形等圖形,並將座標透過 API 送給後端以設定分析區域。
- 開發表單設定介面,各種表單元件、欄位驗證、照片上傳功能(從本地、NAS、Webcam、影像串流畫面截圖)
- 開發精靈視窗元件,以分步驟的方式進行表單設定,每個步驟之間需做資料傳遞及驗證
- 將統計資料或系統資訊透過資料視覺化套件 D3.js, ECharts 繪製成互動式圖表
- 使用 Node.js/Express/MongoDB 開發 RESTful API Server
- QNAP Seminar - Introduction to React Native
- Web Frontend Framework Survey 2018 評估 Vue, React, Angular,決定產品要使用的框架
Products
使用 Vue.js 開發的 SPA,此產品的前端開發主要負責人,從零開始建置一直到完成專案, 評估框架及套件的選用,討論 UI/UX 設計規格制定,規劃所有要開發的元件後評估工時,分配工作給其他前端工程師一起合作開發,撰寫 API 文件提供後端工程師參考與討論,串接後端 API 完成需求功能。
產品主要功能包含辨識即時影像串流中經過特定區域的人流,提供統計資料圖表,應用場景如百貨零售賣場,分析顧客行走路線、櫃位人流量。
Vue.js, Vuex, Vue Router, Vue CLI, Vue-i18n, SCSS, Element UI, ECharts, Canvas, Fabric.js, Socket.io, Axios, Webpack, Babel, ESLint, Prettier
使用 Vue.js 開發的 SPA,單獨負責所有前端功能,參與規劃、設計、開發、串接 API,使用 Vuex 管理複雜且需要即時更新的 UI 元件狀態。
產品主要功能為串接多個監控產品,提供影像辨識功能。需顯示串接產品的狀態,包含安裝進度、產品資訊、認證授權、錯誤訊息等。
Vue.js, Vuex, Vue Router, Vue CLI, Vue-i18n, SCSS, Element UI, Axios, Webpack, Babel, ESLint, Prettier
初期使用 Ext.js 及原生的 JavaScript 為主,陸續導入 Vue.js, Gulp, Babel, ESLint, PostCSS 等構建工具,重構元件架構,改善頁面載入速度。
產品主要功能包含分析即時影像串流中的人臉,辨識已註冊的個人檔案或陌生人以及人物特徵(性別、年齡、表情),自訂觸發條件發出事件通知,應用場景如門禁系統、會員識別系統、出勤管理等。
Ext.js, jQuery, Vue.js, SVG, Canvas, D3.js, ECharts, Socket.io, i18n, Gulp, Babel, ESLint, PostCSS, autoprefixer, minifier
POC projects, include frontend (Vue.js) and backend (Node.js) development
- QVR Face User Profile Management System
- Smart office
- Tagging tool
Certificates
AppWorks School Blockchain Program Batch #1
2022/08/08 - 2022/12/15

https://school.appworks.tw/blockchain-program/
Ethereum Blockchain Developer Bootcamp With Solidity
2022/02/06

https://www.udemy.com/certificate/UC-84d3335f-4f71-400e-854e-7328e1582446/
Personal Side Projects
ETH Price Prediction Dapp
A dapp for guessing the rise and fall of ETH prices. Players who guess correctly can win bonuses according to the betting ratio.
Crypto Trading Bot
A cryptocurrency trading bot to help you implement dollar-cost averaging (DCA) investment strategy automatically.
Node.js, Serverless Framework, AWS Lambda
Muxic
整合 KKbox、Spotify 及 Youtube 的音樂服務網站。因為喜歡音樂,為了發現更多好音樂而獨立開發的專案。設計風格復刻Spotify,專案名稱寓意電子學中的多工器(Multiplexer),一個可從多個輸入訊號中選擇其中一個輸出的電子元件,以其縮寫 MUX 改寫 Music 而成。
功能包含:
- 歌單列表
- 歌單分類
- 播放清單
- 歌手頁面
- 專輯頁面
- 音樂播放控制
- OAuth 登入
- 收藏歌單
- 搜尋歌曲、歌手、專輯
Vue.js, Nuxt.js, SSR, PWA, RWD, BootstrapVue, KKBOX Open API, Spotify Web API, Youtube API, OAuth
Random Eat

從圓圈區域中隨機找出一家餐廳,可拖曳/縮放圓圈、篩選餐廳類型、星星評分。
React.js, create-react-app, Semantic UI, Google Maps JavaScript API, Google Places API
Traffic Accident Map

在 Google 地圖中使用 Marker 及 Marker Cluster 標示出台灣每個地區的交通事故資料,包含發生時間、發生地址及事故狀況。
React.js, create-react-app, Semantic UI, Node.js, Koa, MongoDB, Mongoose, Nodemon, Google Maps JavaScript API
RGB Color Game

辨識 RGB 色碼的小遊戲,練習配置 Webpack 並實作一個簡單的 JavaScript 元件框架。
JavaScript, Webpack, Babel, css-loader, style-loader, bootstrap
Tenkibot 天氣君
A facebook chatbot for search and regular notice weather information, the data are crawled from CWB.
Education
國立交通大學 National Chiao Tung University (NCTU)
2015/09 - 2017/09
Master of Computer Science and Engineering國立臺灣科技大學 National Taiwan University of Science and Technology (NTUST)
2011/09 - 2015/07
Bachelor of Electronic and Computer Engineering