Younghoon Kim

Frontend Engineer

Introduction

I've worked as a frontend engineer at EA, NHN, and Pandora TV since July 2023. At EA, I built a tool that drafts verification checks with AI and lets operators review the evidence and make the final decisions. At TicketLink, I helped users check booking results after an interrupted session and improved list performance on older iPhones. I've contributed 12 merged PRs to React Router, TanStack Query, and other open-source projects.

Work notes

  1. About 4,500About 2,000

    I reduced duplicate observer matching in TanStack Query’s useQueries. These are findMatchingObservers call counts from a separate measurement with 500 queries.

    TanStack Query #8641

  2. 012

    I reproduced and fixed performance bottlenecks, runtime regressions, browser compatibility issues, and type problems in React Router, TanStack Query, and other projects.

    Merged open-source PRs

  3. InterruptedCheck result

    Used the booking request ID saved in the same browser to fetch server state again and show the result and next action.

    NHN Injeinc, TicketLink

  4. Compare docsReview drafts

    Deployed a tool that drafts verification checks from related documents and existing tests, with operators reviewing the evidence and making the final decisions.

    EA Korea, FC Online operations tool

What I care about

  • Screens where operators review AI-generated verification checks alongside supporting evidence
  • Recovering the result of an interrupted booking request and resuming failed work
  • List performance on older iPhones and syncing server state when users return to a WebView
  • Open-source contributions that start with a reproduced bug and a test
Location
Seoul, Korea
Active
Jul 2023 - present
Open source
12 open-source PRs merged
Primary stack
React, TypeScript, Next.js

Career

  1. 2025.03 - Present

    EA KoreaFC Online operations tool, contract

    Built operations tools on the FC Online SE team to help operators and QA prepare for verification. I agreed on processing rules with server developers and implemented the React screens and Node.js APIs.

    Built an API that sends related documents, existing tests, and before-and-after values to an LLM to draft verification checks. Operators review the supporting passages, then accept, edit, or exclude suggestions and make the final decisions. Suggestions with insufficient evidence are flagged for review, and earlier edits are preserved after regeneration. After rollout, I used review records to address omissions and unnecessary suggestions.

    Let QA choose an environment and target account state to run account creation, state setup, and final checks. The Node.js server records each step, while the React screen shows progress and failures. Before resuming failed work, the tool checks what the server has applied so it can continue from the required step without repeating completed work.

  2. 2024.05 - 2025.03

    NHN InjeincTicketLink, full-time

    Worked on the NHN Injeinc frontend team, improving how TicketLink users check booking results and how its lists perform.

    Temporarily saved the booking request ID and minimal recovery data in localStorage. When users returned in the same browser with a saved ID, the screen fetched that request’s status from the server and showed the result and next action. QA and I tested returns after payment authentication, browser restarts, and failed status requests before rollout.

    Reproduced a browser crash during long list scrolls on an older test iPhone. I introduced TanStack Virtual to keep only visible products and a small surrounding range in the DOM. The crash no longer reproduced on the same device with the same procedure, and an operator passed along confirmation from the original reporter.

  3. 2023.07 - 2024.05

    Pandora TVCobak, full-time

    Sole frontend engineer for Cobak’s web and WebView screens, including post writing and editing, membership, and public pages.

    The app handled payment processing and completion notifications. On return, the WebView cancelled earlier requests with AbortController, invalidated related queries, and fetched payment and membership state from the server. It showed a pending screen during processing and fetched again on the app’s completion notification. I checked the pending, failed, and complete screens with component tests.

    Built manual save, a draft list, restore, and delete in the shared editor. I separated publishing from draft saving so users could reload posts saved on the server and continue writing. I manually checked first saves, updates, publishing restored drafts, new posts, and edits to existing posts, followed by operator QA.

Merged open-source work

I reproduced and fixed performance bottlenecks, runtime regressions, browser compatibility issues, and type problems in React Router, TanStack Query, and other React ecosystem projects. These are three examples from 12 merged PRs.

  1. TanStack Query #8641

    Reduced duplicate observer matching in useQueries

    In a separate measurement with 500 queries, findMatchingObservers calls fell from about 4,500 to about 2,000.

  2. React Router #14534

    Fixed fetcher.submit treating plain objects as HTML elements

    Fixed plain objects with a tagName being mistaken for HTML elements and added a regression test.

  3. React Router #14687

    Added crossOrigin attribute to <Links />

    Made <Links /> pass crossOrigin through to fix CSS preload failures in CDN environments with CORS.

Public projects and activities

FirstTx is a set of five npm packages for restoring screen state when users return to a CSR app and retrying individual steps. It also runs app-registered compensation functions for successful steps in reverse order. I maintain the docs, Playground, DevTools, and releases.

Code review mentoring: four sessions in late 2025 for about 50 students across Programmers K-Digital Training cohorts.

Tools I use now

I use React, TypeScript, and Next.js, with TanStack Query, React Router, and Zustand for state and routing. My build and test tools are Vite, Vitest, Playwright, and ESLint. For backend work, I use Node, Fastify, Prisma, and tRPC.

Core
React, TypeScript, Next.js
State/routing
TanStack Query, React Router, Zustand
Build/test
Vite, Vitest, Playwright, ESLint
Backend
Node, Fastify, Prisma, tRPC

Contact

Get in touch to discuss operations tools, React and TypeScript, or open-source PRs.