Asurion Korea
SKT Device Insurance & Protection Portal

01 — Context
Summary
When I first opened the codebase, I found code ordered without any hierarchy, files scattered without logic, and multiple "common" files with different names doing the same thing — the accumulated result of years of work by 50+ developers before I even joined. This was a live, high-traffic site with real customers and an active team of developers working in parallel, so my focus was on improving the codebase incrementally without ever risking what was already running in production.
02 — Challenge
Problem
No UI or style documentation existed. Naming conventions and CSS methodologies varied widely between global and local contributors. Years of accumulated dead code, duplicate mobile/PC implementations, and inconsistent patterns had created a codebase prone to deployment-time bugs.
03 — Approach
What I Did
- Respected existing patterns while writing new code to a consistently higher standard, incrementally improving codebase coherence.
- Removed dead code, unused tracking scripts, and consolidated device-specific implementations into single components — reducing code volume by approximately 75% in affected areas.
- Extended antd's Datepicker beyond its defaults: added a confirm button, repositioned the mobile close button, and handled divergent mobile/PC requirements within a single component.
- For the My Page launch, I was brought in to support the frontend team — delivering 4 menu pages with one other developer in 2 months, dividing responsibilities across markup, styling, and a dedicated history page to ship on time.
04 — Outcome
Result
This project gave me a firsthand view of what an unmanaged codebase costs over time. Over four years, I delivered ~20 pages end-to-end, including high-traffic surfaces like the main homepage and My Page, while continuously refactoring legacy code without disrupting a live production environment. I'm still maintaining this codebase today, handling ongoing CRs as they come in.