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.

woozzaang@gmail.com

~40MB Memory leak eliminated per loan-limit inquiry
~25% Average request-time reduction after app launch
95% False-positive share identified in Sentry’s most frequent fatal event

Experience

Finda

Financial Products Team · iOS Engineer

Aug 2022 - Present

Operational Reliability and Performance

  • Identified a retain cycle in an external SDK and drove an SDK fix by sending the vendor a proposed correction. Applied the updated SDK to eliminate about 40MB of memory leaks per loan-limit inquiry, then verified the result by repeating the same scenario with Instruments.
  • 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.
  • 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).

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

Developed and operated a loan comparison service with 580K monthly active users and 26M cumulative loan-limit inquiries, adding and improving product- and partner-channel-specific pre-screening flows for mortgage loans, business loans, and a dedicated KB Kookmin Bank experience.

  • Implemented, validated, and deployed approximately 50 new screens integrating 40 next-generation APIs alongside legacy screens. Isolated route selection at flow entry points to enable gradual migration and a return to legacy flows through server-controlled A/B allocation.
  • 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 direct UI-layer dependencies on DTOs and duplicate mappings.

App Architecture and Development Workflow

Separated screen and SDK dependencies and improved UI development, validation, and build performance.

  • Separated 35 screens within my scope into Tuist modules and configured Example apps with sample data to develop and validate screens without launching the full app.
  • Migrated 63 MVC/MVVM-based screens to ReactorKit-based MVI, standardizing previously inconsistent state-management and event-handling flows.
  • Identified a type-checking bottleneck and restructured the code, reducing clean build time by 20%.
  • Applied an adapter pattern to isolate direct MMP SDK dependencies, establishing a structure that supports replacing AppsFlyer with Airbridge.

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