FRONTEND ENGINEER

From customer websites
to everyday operations tools.

CURRENTLY AT THE SWING
SWING · SWAP · YELLOW BUS
HYEONSE IM, 임현세. FRONTEND ENGINEER. SEOUL · KR. React / TypeScript. 2022—NOW.

Try dragging

HYEONSEIM.

Hyeonse Im · Frontend EngineerSELECTED WORK 2022 — NOW
01 / SELECTED WORK

Selected
work
.

Projects I worked on
and the results I verified.

4 featured projects

02 / A LITTLE ABOUT MEHYEONSE IM / FRONTEND ENGINEER

What I
work on

I look at customer screens
and the workflows

operators use every day.

Since March 2022, I have built customer websites, WebViews, and operations tools for SWING, SWAP, and Yellow Bus at The SWING. My work ranges from early service builds and login and payment to contracts, dispatch, and service transitions.

Since September 2025, I have been SWAP FE Part Lead, working on technical decisions and code reviews. I develop major features directly and coordinate API contracts and user flows with backend, app, and operations colleagues.

My work and how I approach it
EXPERIENCETHE PATH SO FAR
2025.09–present

SWAP FE Part Lead

Technical decisions, major feature development, and code reviews within SWAP FE.

2024.11–2025.08

Yellow Bus squad

Rebuilt operations features for an acquired service and contributed to initial stabilization.

2022.03–present

The SWING · Frontend Engineer

Built customer websites, WebViews, and operations tools for SWING, SWAP, and Yellow Bus.

2019.09–2022.02

Minestrone · student venture

Developed VR controllers, party games, and an MVP for a Chinese university student resale platform. Separate from my professional frontend experience.

MY TOOLBOX

React / TypeScript / JavaScript / Next.js / Vite / TanStack Query / TanStack Router / Zustand / Tailwind CSS / Ant Design / Vitest / Playwright

03 / MORE FROM THE DESK

Across
products
.

My work across products
and the decisions I made with teammates.

01

SWING customer WebViews

Customer features and app integration
2022–2026

I have worked for years on the screens customers see inside the app, checking how each feature connects the app and WebView, from product entry to membership, points, login, and payment.

Entry across products
I built a WebView hub leading from an external service into other products in the app, with guidance tailored to each destination.
Points and membership
I organized the membership purchase list and descriptions. When redesigning the points screen, I also handled existing history routes and Korean and English display.
Login and payment
I contributed to changes in login and identity verification screens, then worked on the WebView flow for point top-ups, including the payment widget and return screen.
  • WebView
  • React
  • TypeScript
  • App bridge
02

SWING operations Admin and shared modules

Operations tools and shared modules
During my time at The SWING

In tools operators use every day, I considered how a change in one menu affects other tasks.

Session and menu state
I fixed UI issues around the order in which user details and menus update after login, expired sessions, and returning to an earlier screen.
Partner settlement lookup
I built screens for finding and viewing partner settlement summaries and trip records by statement.
Organizing operations tools
I migrated existing JavaScript and MUI features to TypeScript and Ant Design, and contributed to domain-specific Admin separation and monorepo integration.
  • Operations Admin
  • React
  • TypeScript
  • State management
03

SWAP customer web, WebViews, and early Admin

Customer service and operations tools
Initially 2023.08–2024.11 · since returning in 2025.09

At SWAP, I worked across customer touchpoints, from the initial web, WebView, and Admin builds to product discovery, first orders, payment details, and the business portal.

Orders and payment display
I separated accessory purchases from subscription inputs in first orders, connected receipt screens to server lookup results, and adjusted price display paths.
Login contract transition
With the team, I migrated bicycle customer login to a new OAuth2 contract and addressed token-state races just after login along with signup and consent flows.
Product discovery and business portal
I connected English product details and a quick-order path. For screens where businesses manage subscriptions, payment status, and payment methods, I handled access checks and post-payment return paths.
Bridge calls
I added Flutter callHandler and JavaScriptChannel.postMessage paths alongside the existing Android and iOS calls. Depending on the channel, I passed objects or serialized JSON, and tried the next method if a call threw synchronously. A successful call was kept distinct from completed native processing.
  • React
  • TypeScript
  • SWR
  • Zustand
  • Flutter WebView
04

Reviewing voice AI and connecting customer touchpoints

External service review and product integration
2026.04–present

To connect voice AI with customer touchpoints, I reviewed vendors, product flows, and CX scenarios together.

Reviewing the introduction scope
I compared PoC scope, cost, and integration requirements for overdue-payment reminders and follow-up calls, and coordinated guidance scenarios with the CX team.
Entry point in the product
I connected the path into contract guidance from the returnable subscription completion screen and the return flow from the phone app.
Operational tracking
I tracked usage and costs after integration. I do not interpret call count as completed consultations or resolved issues.
  • Product integration
  • CX collaboration
  • WebView

Call volume does not indicate successful consultations or resolved issues.

05

Sharing project-specific AI development and verification practices

Development practices and team sharing
2025–2026 · project-specific skill sharing in 2026.09

I documented how to use AI-assisted development according to each project structure and verification criteria, then shared the approach with the FE team.

Repository-specific rules
I created and improved development skills reflecting each project code structure and workflow.
Verification practices
I explained dependency boundary checks in the SWAP monorepo, checks appropriate to the changed scope, and configuration backup and recovery.
Reviewing generated code
I shared how I review AI-generated code for structure and complexity and choose only the changes that are needed.
  • Development practices
  • Code review
  • Team sharing

Team productivity gains were not measured.

06

WebView QA Shell

Developer tool · public repository
Personal public project

A public QA tool for checking local or staging web services inside iOS and Android WebViews.

Real WebView environments
I built a shell that opens screens in iOS WKWebView and Android WebView to check safe areas and navigation behavior.
Inspection panel
I brought viewport, storage, and log checks together in a web console.
  • React Native
  • WebView
  • QA tool
View public repository ↗
07

Maintenance of the acquired Deer service

Acquired service
2024.06–2024.08

I contributed to the handover and maintenance of an acquired shared-mobility service.

Maintaining an acquired service
I learned the operations context of the existing service and contributed to frontend maintenance.
  • Acquired service
  • Maintenance
08

SWING Japan

International service
2022–2023

On the Japan TF, I developed the website, back office, and WebViews and worked on screens and app connections for the Japanese service.

Japanese-language screens
I localized UI text in WebViews for the Japanese service.
App bridge
I contributed to the WebKit bridge that calls native functions from WebViews.
  • International service
  • WebView
  • App bridge
09

SWING Air

Acquired service
2023.09–2023.10

I contributed to redevelopment of the website and back office for an acquired airport van service.

Customer and operations screens
After the acquisition, I contributed to frontend redevelopment of the customer website and operations back office.
  • Acquired service
  • Customer web
  • Back office
10

Open-source contribution

Library
2025.06

I fixed a synchronization bug caused by changing options in a public library.

Dynamic option changes
I fixed the selected position in react-wheel-picker when options change dynamically with a one-line change. The contribution PR was merged on June 30, 2025.
  • Open source
  • React
  • Bug fix
View merged contribution ↗
04 / PERSONAL PROJECTS

Tools I build
and share.

Design foundations, QA and error logging. Personal projects built around problems I encounter in development.

01 / DESIGN FOUNDATIONS

Hyeonse Design System

A reusable design system extracted from this portfolio, bringing its visual language and display settings to other personal projects.

  • TypeScript
  • React
  • CSS tokens

RELEASEGitHub package · Used in this portfolio and Flow QA

02 / TESTING & EVIDENCE

Flow QA

A local QA tool that turns user flows into reviewable test cases and browser execution results into reports linked to evidence.

  • TypeScript
  • Node.js
  • e2e
  • Zod

RELEASEPublic npm alpha · CLI and local web UI

03 / ERROR COLLECTION & INSPECTION

Browser Error Log

A self-hostable toolkit for collecting, storing and inspecting browser errors, with an SDK, collector and viewer.

  • TypeScript
  • React
  • Node.js
  • SQLite

RELEASEThree npm packages · Self-hosted collector and viewer

05 / OPEN STUDIO

Your display settings

Try different colors, spacing and corners. You can also read about how this site was built.