PDF Preview
I'm Sangmin Lee, a developer.
A developer who creates business value and reduces team pain points
About Me

Hello, I'm Sangmin Lee. I have developed the product and operational features teams need, with a focus on frontend development.
I have worked across commerce, mobile WebView, insurance, and web games. More recently, while building medical and clinical analysis products, I have taken on responsive behavior, accessibility, and performance as well as deployment, log storage, and request tracing.
I use AI development assistants for more than code generation.
I systematized features needed by operations teams and set project-specific instructions, Skills, Hooks, and PR validation rules, making them available to Codex and Claude through an LLM Wiki and MCP.
I care more about how a technical choice changes the user's and team's next task than about the technology itself.
Oprimed Co., Ltd.
2026.02 - Present · Full-Stack Developer
Medical and Clinical Analysis Products
Medical and Clinical Analysis Screen Development

I work on screens, accessibility and performance improvements, development environments, and backend tasks for medical and clinical analysis products.

  • I developed input, execution, result, and report screens plus ECharts and Plotly comparison charts so users could move from condition setup through result review across long-running analyses.
  • To let users continue when the viewport changed or they returned after an error, I proposed responsive, error, and re-entry behavior that was missing from the plan and defined and applied it with product, design, and backend teammates.
  • To reduce repetitive input and mouse movement on input-heavy screens, I added keyboard tab navigation and import features.
  • To reduce image requests and the scope of UI changes, I replaced image-based UI with shared components and added a build task that converts static images into viewport-specific WebP assets. Calculated image transfer size fell by about 95%, while a separate Lighthouse comparison reduced LCP from 1.3 to 1.0 seconds and Speed Index from 3.4 to 0.7 seconds.
  • To avoid requesting the same disease list on every screen, I replaced direct requests with a shared TanStack Query hook and managed cache and refetch rules in one place.
AI Development Tooling Experience
  • To keep AI from interpreting medical and clinical terminology and screen behavior on its own, I stored project instructions, task-specific Skills, execution Hooks, and PR rules in the repositories for Codex and Claude to reference.
  • To make domain material easier for non-engineering roles to understand, I converted planning and history documents to Markdown and built and deployed an MCP server backed by a local LLM Wiki searchable from Codex and Claude.
Development Environment and Backend Operations

Tech Stack

Next.js
React
TypeScript
Tailwind CSS
Radix UI
TanStack Query
Zustand
React Hook Form
ECharts
Plotly
Vitest
Playwright
axe-core
GitHub Actions
Husky
Docker
Python
Django
Django REST Framework
PostgreSQL
Codex
Claude
MCP
  • I unified the structure and deployment flow of four frontend projects split between Vite and Next.js Pages Router, then updated the existing code to a shared coding convention.
  • I led the move from manual Docker deployment to GitHub Actions and made the workflow leave an Actions Summary and logs when backend HTTP responses or container status were abnormal after deployment.
  • I connected typecheck, test, and build to Husky pre-commit and pre-push so type, test, and build failures could not reach remote branches.
  • To trace service errors by product, environment, and request, I separated logs from business databases across three backends and stored them by environment, service, and request ID. In Admin, I added log-query and frontend error-reporting APIs and mapped frontend error types to server logs.
CodeCrayon
2023.05 - 2025.07 (2 years 3 months) · Frontend Development
WebView Products and Web Games
WebView Products and Web Games
  • The video platform needed content worth revisiting, but putting events and games in the app meant waiting for an app release for every change. I proposed and demonstrated a WebView Playground prototype, then led the setup of a dedicated frontend project after it was adopted. I later moved fortune and event content into it and expanded it with gift codes, lucky draws, and surveys.
  • Users needed light content to enjoy beyond watching videos and a reason to return. Built FlyingPop and OpenSesame with Phaser, using existing bonuses for OpenSesame. Based on my recollection of database checks at the time, the games had roughly 2,000–3,000 weekly unique users.
  • I integrated the Flutter bridge and game APIs with app and backend teammates and handled ad completion, deep links, Safari audio, duplicate progression, and timeout issues.
AI Use and Content Operations Tools
AI Use and Content Operations Tools
  • Moved the subtitle translation CLI into a web tool and integrated it into the Shortime backoffice to reduce repetitive translation across eight languages. Based on my recollection, one operator went from roughly three days per episode to processing six to eight episodes per day.
  • To secure content that could improve user retention and test an SEO acquisition strategy using backlinks, I built a prototype that generates drafts for Sellectors product blog posts with AI.
  • Brought candidate videos from three platforms into one screen to reduce repetitive searches. Operators reported that checks with a similar number of keywords fell from about 50 minutes to under 10 minutes.
Customer-Facing Commerce
Customer-Facing Commerce

As an early team member, I focused on frontend development for customer-facing commerce, seller and operator screens, mobile WebView and web games, and content-operations tools.

  • To let domestic and international users order in their own language and payment environment, I supported Korean, Japanese, English, and Traditional Chinese and separated domestic payment methods from international cards and PayPal. I also connected country-specific address input and international shipping fees to the order flow.
  • The experience needed to continue after payment through gift receipt, purchase confirmation, claims, and reviews. I developed gift receipt and cancellation, purchase confirmation, returns, exchanges, refunds and partial-return amounts, plus review lists, create and edit flows, and photo reviews, separating review eligibility by purchase confirmation, matching order items, and return status.
  • Because mobile was the primary environment and maintaining separate desktop and mobile screens was taking time from other product work, I used the same app-like mobile UI on desktop customer screens.
  • To keep live-sale participants aware of the sale and new activity, I refreshed product and participation status every five seconds and connected confetti and an AWS Polly voice notification that I proposed for new participants.
  • I designed and implemented infinite scrolling and list-state restoration for categories and seller shops.
Seller Screens and Operator Back Office

Tech Stack

Next.js
React
TypeScript
MUI
Tailwind CSS
Jotai
SWR
React Hook Form
Toss Payments
PayPal
Phaser
Flutter InAppWebView
Branch.io
Airbridge
Node.js
Express
AWS Bedrock
OpenAI API
Google Cloud Translation
Axios
Cheerio
  • I developed desktop layouts for product and shipping settings and for order, cancellation, exchange, and refund screens so sellers could review and process products and multiple orders on a wide screen.
  • When the previous owner moved to app development, I replaced the Flutter Web back office with Next.js in one pass and owned the frontend implementation so operations requests could continue.
  • I migrated and developed screens for operators to manage products, seller approvals, orders, claims, settlements, inquiries, banners, and search keywords, adding search reset, Excel export, and drag sorting.
all of them Co., Ltd. · Japan
2021.07 - 2023.04 (1 year 10 months) · Frontend Developer
Shared Subscription Entry and Performance Improvement
Shared Subscription Entry and Performance Improvement
  • I built a shared CDN SDK so the same insurance subscription modal could be reused across multiple client pages. It accepts an API key and display options as configuration and separates product-specific screen assets by planId path.
  • When a blank screen and loader remained visible for about five seconds on subscription entry, I grouped initial requests with Promise.all and moved customer-data loading earlier. I then moved the flow I owned to Next.js and handled initial data through SSR, confirming Lighthouse LCP of 1.2 seconds and an actual entry time of about 1.2 to 1.5 seconds in Japan before deployment.
Subscription and Operations Systems
Subscription and Operations Systems

Tech Stack

React
Next.js
TypeScript
Redux
Context API
Java
Spring Boot
Doma2
MySQL
Redis
GraphQL
DynamoDB
S3
Sass
GitLab CI/CD
  • I connected occupation-based premium calculation, applicant information and disclosures, card payment, and completion so users could continue online from checking premiums through finishing an application. For separate cancer and hospitalization insurance, I added mid-flow save and restore and cleared card data on restoration.
  • I developed an administration system and separate back office so operators could review insurance customers, transactions, subscription history, policies, and agency information and handle file workflows. I worked on search and detail screens, the Spring backend, a module that stores CSV files in S3, branch, agent, policy, payment, and premium-invoice queries, and file uploads.
Datalogics
2020.08 - 2021.07 (1 year) · Operations, Maintenance, and Development
Ministry of Foreign Affairs Consular Call Center Maintenance
Ministry of Foreign Affairs Consular Call Center Maintenance
  • To respond to operational requests and incidents at the Consular Call Center, I handled feature improvements and bug fixes in the agent application and troubleshot the toll-free calling app. I also developed JSP survey screens and an API connected to the database batch server.
Smart-DIS Data Migration and Runtime Environment Transition
2020.08 - 2020.09
Smart-DIS Data Migration and Runtime Environment Transition

Tech Stack

Java
JavaScript
JSP
eGovFrame
MyBatis
MariaDB
Oracle
Linux
HTML
CSS
  • To deploy Smart-DIS to institutions with different databases, operating systems, and network environments, I developed data-migration features and made Oracle queries work with MariaDB. I moved Linux-only features to Windows, replaced online libraries for closed networks, and wrote the operations manual.
Datalogics
2017.08 - 2019.05 (1 year 10 months) · Infrastructure Engineer
Public-Sector Infrastructure Build and Operations
Public-Sector Infrastructure Build and Operations

Tech Stack

Linux
Server
Network
L2/L3
Firewall
IPS
TMS
Backup
  • To support incident recovery and audits for public-sector systems, I operated the Office for Government Policy Coordination's servers in Sejong and Seoul together with network, security, and backup equipment and handled incident recovery, security audits, and preparation for National Assembly inspections.
Social Security Information Service Advancement Project
2018.01 - 2018.02
Social Security Information Service Advancement Project
  • To bring new equipment and institutions online on the operations schedule, I handled equipment inspection, rack mounting, and installation tests for the Social Security Information Service advancement project.
Child Protection Agency Construction and Maintenance
2017.08 - 2017.12
Child Protection Agency Construction and Maintenance
  • For a Child Protection Agency call-center relocation and the opening of new agencies, I moved equipment and built the required infrastructure.
Personal assignments & portfolio
Worxphere Recruitment Pipeline Board
August 2026 · A personal assignment with 1,000 fictional applicants, documenting decisions about confirmation, failure recovery, full-dataset search, and performance verification.Project details
External Activities

2020.03
Hybrid App and Web Developer Training Program
  • To transition from infrastructure to software development, I studied Java and Spring-based web development, REST APIs, and the fundamentals of Android and iOS app development.
VSCOKE