Profile
Using Technology for Creative Problem Solving

I specialize in developing scalable and high-performance front-end projects, from small websites to large applications.
While I mainly use Angular and React, I prefer selecting the most efficient technology for solving problems.
I enjoy contributing back to open source as much as I have gained from it, and I am involved in various projects.
Need to contact me? Send an email to me@winetree94.com.

Jump To

Profiles

I go by the nickname winetree94 online. Here are the platforms I am active on.

Skills

I can design the optimal tech stack for various business environments, from On-Premise to PaaS and SaaS, and execute projects from start to finish.

Front-End

  • Design and development of web applications (CRA/SSG/SSR) based on Angular/React
  • Project design and development based on ECMAScript/DOM API
  • Development of module libraries using CommonJS/ES Module
  • Operation of modern web bundlers like Webpack/Vite
  • Design and development of desktop application projects using Electron, Tauri, etc.
  • Handling cross-browser issues for Internet Explorer, Safari, etc.
  • Design and development of WebView projects for iOS/Android support

DevOps

  • Deployment system setup and cost optimization for cloud platforms like Cloudflare/AWS/Azure
  • Setup and management of container deployment systems based on Docker
  • Setup and management of CI/CD environments like Github Actions/Circle CI

Key Technology Keywords

Typescript faviconTypescript
Angular faviconAngular
React faviconReact
Webpack faviconWebpack
Jest faviconJest
Aws faviconAws
Docker faviconDocker

Work Experience

Swit Koreabased in South Korea

Front-End Developer

Oct 2021 - Jun 2024
Text Editor

Oct 2023 - Jun 2024

Designed and implemented a text editor that supports all platforms to eliminate functionality differences across Swit's clients.

  • Established a monorepo and NPM distribution system for feature-based modules
  • Implemented core editor based on ProseMirror
  • Developed Android/iOS editor based on WebView
  • Addressed cross-browser issues
  • about.experience.swit.features.editor.rolls.5
Integrated Authentication Solution

Jan 2023 - Aug 2023

Designed and implemented an integrated authentication solution to reduce development costs and provide consistent functionality across Swit's clients.

  • Implemented UI for the integrated authentication service
  • Integrated OAuth with MS/Apple/Google
  • Synchronized authentication information across tabs using Broadcast API
  • Developed a session management client library for web services
Translation System Improvement

Aug 2022 - Dec 2022

Built a translation system to support 14 languages efficiently and manage translation data.

  • Removed code dependencies of translations by adopting ICU MessageFormat
  • Implemented back-office for automating entire data processes
Design System

Apr 2022 - Oct 2022

Designed and implemented a design system to eliminate UI/UX differences across Swit's web services and speed up business development.

  • Implemented numerous components like Modal, Layer, Virtual Scroll
  • Set up automatic deployment systems with Github Actions and NPM
  • Established component testing and documentation system with Storybook
Task Management System

Oct 2021 - Jun 2022

Renewed Swit's existing task management system and conducted large-scale performance optimizations.

  • Implemented plugin to define task states
  • Developed Kanban/Tree view library based on virtual scroll
  • Analyzed and optimized layout shifting

Epapyrusbased in South Korea

Senior Researcher

Mar 2021 - Oct 2021
Pen Input Improvement

Jul 2021 - Sep 2021

Implemented a feature allowing users to input handwritten signatures on the web.

  • Developed UI for pen handwriting input
  • Optimized vectors using linear interpolation and Bézier curves
Digital Signature

Mar 2021 - Jul 2023

Implemented a feature allowing users to sign PDF documents using a public certificate.

  • Developed UI for the digital signature form and process
  • Integrated modules for public certificates from Korea Electronic Certification and Dream Security

Playautobased in South Korea

Full- Stack Developer

Sep 2019 - Feb 2021
Multi-Framework

Aug 2020 - Feb 2021

Implemented a multi-framework architecture to gradually replace AngularJS due to its end of life.

  • Implemented framework switching by routing
  • Developed migration tools for framework replacement
Datatable Library

Feb 2020 - Aug 2020

Re-implemented the datatable library based on jQuery, significantly improving page rendering performance.

  • Developed a virtual scroll table library
  • Replaced all table libraries within the app
Global Shopping Mall Integration

Sep 2019 - Feb 2021

Handled full-stack development for the global shopping mall integration service.

  • Integrated APIs for international shopping malls like eBay, Shopee
  • Implemented detailed front-end UI for each sales stage

JDLabbased in South Korea

Full-Stack/Android Developer

Jan 2019 - Sep 2019
Rehabilitation Service

Oct 2021 - Dec 2023

Implemented the Android app and backend for the online rehabilitation service 'Exim'.

  • Developed backend services based on Spring
  • Implemented Android app and video services
Accessory Shop

Oct 2021 - Dec 2023

Implemented the full-stack for the accessory shopping service 'Bupasa'.

  • Developed SPA service based on Vue 2
  • Developed backend services based on Spring

Open Source

2023

Creating a rich text editor library for browsers. The project aims to make it easier and faster for businesses to adopt ProseMirror.

  • Provides rich features and extensibility based on ProseMirror.
  • Feature-based modules can be used independently with a monorepo structure.
  • Supports various formats and is easily customizable by users.

A tool for creating presentations specialized in animations. I started it because I often have to present in my company or external activities, and existing presentation tools were inconvenient.

  • Build presentations by scenes instead of pages.
  • Supports offline storage, usable in any environment where the browser is supported.

A utility to make drawings on the web look more natural. Started to solve the issue of jagged lines when drawing with touch or pen.

  • Optimizes user input coordinates to enhance storage efficiency and rendering performance.
  • Corrects user input to smooth curves using Bézier curve characteristics.

A library for fast rendering of large data sets through virtual scrolling. Implemented Android's RecyclerView for the web to overcome the issue of web being slower than apps.

  • Renders only the elements at the user's scroll position from the entire scroll.
  • Reuses elements out of view to enhance scrolling performance.