Career Profile

I am a software engineer passionate about applying AI technology to real-world products and optimizing performance within limited resources.
Currently, I work as an Android Software Engineer at Hyperconnect.
I hold a B.S. in Computer Science and Engineering from Seoul National University.
I continuously study On-Device AI and Optimization to synergize with my Android expertise.
My career goal is to become a Machine Learning Software Engineer, starting with a focus on On-Device AI.
I am proficient in Java, Kotlin and Android development. Additionally, I have sufficient knowledge of Spring, C/C++, OpenCL, Python, PyTorch, and JavaScript to solve engineering problems. I am confident in my ability to absorb and apply any useful technology.

Education

B.S. in Computer Science and Engineering

Mar 2016 - Fed 2024
Seoul National University

Experiences

Android Developer

Sep 2019 - Present (On Leave of Absence from Aug 2022 to Fed 2024)
Hyperconnect

Developed Android application of Azar which is live video chat service based on WebRTC.
Worked with the Azar team until Mar 2021.
From Mar 2021, Transfer to the Video Platform as a Service(VPaaS) team developing Live Streaming Android SDK starting from alone.
Built Live Streaming SDK structure from base.
Expanded the team from three to around twenty members with good work culture.

  • Azar : Live video chat application using WebRTC.
    It has short of memory and resource problem causing crashes in the application.
    I optimized memory-related problems like memory leak and management of threads incurred by live video chat.
    I also developed new features like social network feature based on user preference.
  • Live Streaming SDK : B2B Live Streaming Platform SDK.
    It provides UI and Live Streaming functions like donation, chat, multiple guests streaming, etc.
    I built the Android SDK from base by alone.
    Main concerns was to support many devices as possible with stability.
    Optimized the memory usage and the logic for lower latency.
    I modulized the components to build various combinations by the customer.
    Mainly handled video and audio for the live streaming features.

Android Developer

Nov 2018 - Sep 2019
MVL

Developed Android application of TADA service. TADA is ride-hailing service served on the South-East Asia like Singapore, Vietnam and Cambodia.
Handled mainly real-time location tracking features and collecting data from sensors.

Projects

Interested with On-Device AI and Optimization of ML. Enjoyed making convient service on the limited resources.

The Optimization of Stable Diffusion based on the Mobile - Porting Stable Diffusion V2.1 written with PyTorch to OpenCL with Android NDK C++ from bottom. Applied optimizations tailored to the mobile SoC environment. Target device was Samsung Galaxy S21 Exynos 2100 with Mali-G78 M14. The original FP32 model size was approximately 5.2 GB without quantization. Solved memory issues related to the U-Net’s residual mapping. Optimized inference through vectorization, tiling, reduction, register utilization, and im2win 2D convolution. Reduced Text Encoder latency from approximately 2.6 seconds (PyTorch Lite) to about 0.9 seconds (OpenCL). Continuously optimizing inference performance to surpass PyTorch Lite, aiming to achieve efficient mobile stable diffusion. github repository
TennisTime - Provided an easy and convenient way to check and make the reservations in my university. To run in free-tier instance with 1 GB DRAM memory, optimized resource usage. Based on Spring-Boot with Reactor and Mongo-DB. Having about 700 active users with about 10,000 visits per a month.