Woochan Park

iOS Engineer · 5th year

At Finda, I develop and operate the iOS loan comparison service. I continually improve the app’s architecture and performance, and use data to analyze and resolve production issues.

[email protected]

40 APIs Next-generation loan flow integration and incremental migration
63 screens MVC/MVVM screens migrated to MVI
~40MB Memory leak eliminated per loan-limit inquiry
20% Clean build-time reduction

Experience

Finda

Financial Products Team · iOS Engineer

Aug 2022 - Present

Next-Generation API Migration and Loan Comparison Service Development & Operations

Developed and operated the loan comparison service, adding and improving product- and partner-channel-specific pre-screening flows for mortgage loans, business loans, and a dedicated KB Kookmin Bank experience.

  • Planned and delivered the iOS migration spanning 40 next-generation APIs and approximately 50 affected screens across the loan comparison flow, including implementation, validation, and production deployment.
  • Managed state across the multi-screen loan application flow in a value-type Context and modeled navigation policies as Reactor Destination enums, making state propagation and screen exits traceable in code.
  • Separated a structure in which server DTOs propagated directly into the domain and UI layers, then centralized their transformation into app domain models at the Repository boundary, removing UI-layer dependence on server contracts and duplicate mappings.

App Architecture Improvements and MMP Migration

Refined screen architecture and external SDK integration boundaries to reduce the impact of feature changes and prepare for service migration.

  • Modularized 35 screens within my scope in a Tuist-based multi-module environment comprising more than 120 modules. Separated Interface and Implementation modules to control compile-time dependency direction.
  • Migrated 63 MVC/MVVM-based screens whose state-management and event-handling patterns varied by screen to a ReactorKit-based MVI architecture.
  • For the MMP migration from AppsFlyer to Airbridge, designed an adapter boundary to isolate direct SDK dependencies and a migration structure to select only attribution-relevant events from the 1,104-event catalog currently sent in full.

Operational Reliability, Performance, and Productivity Improvements

Analyzed and improved metrics directly tied to operational reliability, performance, and developer productivity.

  • Classified all 388 WatchdogTermination events recorded over 90 days—Sentry’s most frequent fatal issue—and determined that 95% were false positives. Removed the false-positive sources and normalized the metric so regressions could be detected against a real-user OOM baseline.
  • Analyzed a retain cycle in an external SDK, documented the cause and proposed fix for the vendor, and drove a library-level improvement. Applied the updated SDK to eliminate a memory leak that accumulated about 40MB per loan-limit inquiry, then repeatedly validated the same scenario with Instruments.
  • Identified a type-checking bottleneck and restructured the code, reducing clean build time by 20%.
  • Used Instruments to identify 26 redundantly created URLSession instances, then consolidated them into a single shared instance, reducing average request time across 57 tasks immediately after app launch by about 25% (529.77→395.61ms).

WebKit-based Native-Web Integration

Worked with the frontend team to define Native-Web message handling standards and the scope of Native capabilities exposed on each screen in a hybrid app.

  • Defined and documented exposure boundaries for shared and screen-specific JavaScript handlers, and removed 25 unused handlers to reduce unnecessary paths to Native capabilities.
  • Analyzed a WebKit crash in Sentry caused by a missing WKUIDelegate completionHandler invocation. Added a call-once guard to JavaScript alert/confirm handling so the completion callback is invoked exactly once.

Onui

Product Team · iOS Engineer

Worked on service development and operational support for Seoltab, a remote tutoring iPad app.

Dec 2021 - Jul 2022