About the work
I work on the parts of a frontend that wobble: behavior that depends on the browser, the small differences a runtime creates, and the seams where code starts to be hard to read again. I would rather write something a future reader can understand than something that ships a week earlier.
Career
Mar 2025 - Present
EA KoreaFC Online operations toolCut weekly QA reproduction and log requests from 10 to 3 by keeping URL state in sync with the UI.
- After redesigning the item version-management flow, similar deployment issues dropped to zero.
- Sole frontend owner of the operations tool: stack selection, QA collaboration, and documentation.
May 2024 - Mar 2025
NHN InjeincTicketlinkBuilt reservation flows for high-traffic events including KBO Opening Day and the Korean Series.
- Unified JSP-based multilingual pages into a single React + i18next codebase.
- Blocked non-eligible users from entering booking flows via fan-club-tier and team-policy filtering.
Jul 2023 - May 2024
PandoraTVCobak, crypto communityImproved Lighthouse SEO score from 56 to 82 using dynamic meta injection in EJS templates.
- Developed a hybrid-app WebView flow for community and product purchase journeys.
- Proposed and implemented @mention support end-to-end, including notification integration.
Merged open-source work
Pull requests to TanStack Query, React Router, and a few others that landed in official releases.
- #8641
TanStack Query — Optimized useQueries from O(N²) to O(N)
Reduced function calls in the 500-query benchmark from 4,500 to 2,000 (about -55%).
- #9592
TanStack Query — Fixed persist + memoized combine bug
Resolved stale UI after page refresh.
- #9623
TanStack Query — Fixed CI timeout
Stabilized a mismatch in the Nx Cloud distributed execution config.
- #14286
React Router — Fixed missing middleware skipRevalidation handling
Prevented unnecessary parent loader re-executions.
- #14335
React Router — Handled restricted browser storage environments
Added safe handling for session save failures in private mode.
- #14534
React Router — Fixed fetcher.submit JSON bug
Added regression tests for SSR environments.
- #14336
React Router — Fixed generatePath suffix parameter handling
Resolved failures generating :id.json paths.
- #14467
React Router — Added crossOrigin attribute to <Links />
Addressed CDN CORS CSS preload issues.
- #12865
React Hook Form — Fixed useController type regression
Resolved the never-lock issue and added type tests.
- #3611
TanStack Router — Fixed params.parse notFound() handling
Changed 500 to 404 behavior and added tests.
What I reach for
React, TypeScript, and Next.js as a base. TanStack Query, React Router, and Zustand for state and routing. Vite, Vitest, Playwright, and ESLint to keep build and tests honest. Node, Fastify, Prisma, and tRPC when I need a backend.