Skip to content
SEOUL --:--
projects.dir

Projects

Selected projects from my work in commerce, authentication, and independent app development.

Unified phone verification

eBay Japan2025.12 — 2026.09

I built a shared phone verification flow for purchases, account closure, and refund withdrawals across desktop, mobile web, and app WebViews.

  • Next.js
  • TypeScript
  • Jotai
  • Cypress
Simplified frontend flow
  1. Customer verification request

    Account closure · Purchase · Refund withdrawal

  2. Reusable SMS verification

    OTP input · Countdown · Session state

    Refresh expired tokens and resume verification

  3. Host-specific completion

    • Popup
    • Embedded iframe
    • Native WebView

Simplified frontend flow; backend services are omitted.

Implementation details

The challenge

The flow needed to preserve verification state while handling expired sessions and different completion requirements in each environment.

Implementation

  • Shared phone-number validation and preserved verification results across signup and social-login steps.
  • Reused existing countdown and authentication utilities to keep refreshed tokens, OTP expiry, and input state in sync during session recovery.
  • Separated shared state transitions from completion callbacks and messages for popups, embedded iframes, and native WebViews.

Validation

Checked expired sessions, unauthorized responses, request payloads, and delayed completion messages. CAPTCHA checks distinguish SDK or environment failures from server rejections.

Membership tiers

eBay Japan2026.06 — 2026.09

I built Qoo10’s membership page, showing customers their tier progress, upgrade requirements, and coupon benefits.

  • Next.js
  • TypeScript
  • Cypress
Membership tiers, upgrade progress, and available coupons.
Implementation details

The challenge

Current, next, and selected tiers needed different displays, including when eligibility thresholds were missing.

Implementation

  • Loaded tier and benefit data on the server using existing authentication and cookie utilities.
  • Kept the selected tier in UI state and used pure functions to calculate progress, eligibility, and benefits independently.
  • Fixed how missing thresholds and tier-retention API responses were handled, and updated the test fixtures.

Validation

Checked missing thresholds, the highest tier, tier switching, accessible progress indicators, and coupon conditions and values.

Livestream gifting

Grip Company2022.12 — 2024.12

I built on-screen gift animations for livestream viewers on the web and in app WebViews.

  • Firestore
  • CSS transforms
An incoming gift animation during a livestream.
Implementation details

The challenge

Incoming gifts needed to appear as animations during a livestream on both web and app screens.

Implementation

  • Connected existing Firestore subscriptions to CSS transform animations for incoming gifts.

Other contributions

  • Rebuilt the JSP post-purchase WebView as an SPA with seller recommendations, deals, and first-purchase coupons based on customer status.
  • Replaced server-rendered admin templates with a Next.js content-management interface using TypeScript, React Query, and shared Chakra UI components.

Travel checkout

Wemakeprice2021.05 — 2022.11

I built travel and accommodation purchase flows for desktop, mobile web, and app WebViews, including Kakao Pay integration.

  • Vue 2
  • Kakao Pay
The W Travel customer purchase interface.
Implementation details

The challenge

The travel service needed booking and payment flows across desktop, mobile web, and app WebViews while remaining in operation.

Implementation

  • Implemented travel and accommodation purchase flows in Vue 2 across the supported environments.
  • Integrated Kakao Pay into the W Travel checkout.

Other contributions

  • Migrated JSP back-office pages to React, TypeScript, and Recoil as part of an admin rebuild.
  • Maintained partner promotion applications and seller chat features.
Independent project / Web / iOS

Deundeunjip

I built and launched Deundeunjip for the web and iOS to help people in South Korea find public housing opportunities they qualify for.

  • React Native
  • TypeScript
  • Public-sector APIs
Product details
  • Public housing listings matched to eligibility and preferences
  • Bookmarked listings
  • New listings in selected regions