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 [email protected].
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
Work Experience
Swit Korea based in South Korea
Front-End Developer
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
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
Epapyrus based in South Korea
Senior Researcher
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
Playauto based in South Korea
Full- Stack Developer
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
JDLab based in South Korea
Full-Stack/Android Developer
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
Edybara
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.
Qdocs
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.
Vector Optimizer
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.
VanillaRecyclerView
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.