본문으로 건너뛰기
흔들리는 노트북을 그린 손그림

이승환

Frontend Engineer

seunghwanly@gmail.com

모바일과 웹을 오가며 서비스를 만들고 운영해왔습니다.

  • Flutter
  • React

경력

PPB Studios

2023.06 — 현재 · 플랫폼팀 매니저

윙크⋅하파크리스틴⋅츄렌즈⋅젬아워 등 7개 서비스의 앱(Flutter)과 웹(React), 인프라(AWS)를 2인 프론트 조직에서 맡고 있습니다.

통합 멤버십으로 고객 245,000+명 연결

브랜드별로 유저가 분산돼 이메일만으로는 동일 사용자 식별이 어려운 상태. 본인인증과 제3자 정보제공 동의를 연결 기준으로 정하고 Flutter Web → React Native Web → React로 점진 이관, 신청과 완료 화면을 분리해 이탈 지점 추적 가능하게 구성. 2026년 9월까지 온·오프라인 고객 245,000+명 연결, 이관 후 Datadog으로 가입 전환·오류 세션·Web Vitals 관측

4개 브랜드의 예약 화면과 운영 기준 통합

브랜드마다 예약 상태 표현이 달라 정책 변경 시 여러 화면을 함께 수정해야 하는 상태. 총 단계·현재 단계·종료 이유로 상태 계약을 통일하는 API를 설계·구현하고 예약 상세를 공용 React 화면으로 통합. 운영자도 고객과 같은 상태를 읽기 전용으로 확인해 CS 문의를 동일 기준으로 처리 가능

CI/CD 자동화로 배포 시간 95% 단축

주 1회 4시간이 걸리던 수동 배포가 개발 시간을 제약. 내부 자원을 활용해 FastAPI + Fastlane 자동화 서버를 구축, 배포 시간 95% 단축(4시간 → 15분)으로 주 3시간 개발 시간 확보 및 부가비용 절감

성능 최적화로 메모리 50% 절감 및 이탈률 7% 감소

상품 관련 화면에서 Crash가 빈번하게 발생. Profile mode로 메모리 누수 지점을 파악해 이미지·스크롤 최적화와 Optimistic UI를 적용, 메모리 사용량 50% 절감(624MiB → 313MiB)으로 저사양 기기 사용성 확보 및 이탈률 7% 감소

파트 내 기술 리딩과 리뷰 문화 정착

클린아키텍처 전환을 위해 DI 개념부터 BLoC 이벤트·상태 관리까지 단계별 교육, 이해가 어려운 기능은 다이어그램과 페어 프로그래밍으로 1:1 멘토링. custom_lint를 제작해 반복 실수를 차단하고 700+ 테스트 코드를 구축해 코드 리뷰 문화 정착

Slack에서 이슈 생성부터 PR까지 이어지는 에이전트 운영

Slack에서 이슈 생성 → 코드 수정 → PR까지 이어지는 내부 에이전트 실행 환경에 기여하고 운영. 화면 검증 자동화를 여러 방식으로 시험했으나 Playwright CLI는 인증 세션 재현이 어렵고 직접 브랜치를 확인하는 편이 빨라, 기본 절차에서 제외하고 필요한 작업에만 선택 적용

Databank

2022.02 — 2023.06 · 모바일 엔지니어 → 모바일 파트 리드

인앱결제 문제를 해결하고 음원 파일을 가볍게 만들어 업로드 부담을 줄였습니다. TestGlider의 첫 모바일 앱도 출시했습니다.

매출의 14%를 담당하던 인앱결제 경로 정상화

Play Store 정책 변경으로 매출의 14%를 담당하는 인앱결제가 조회 불가 상태. 기존 라이브러리의 deprecated API 의존성을 원인으로 확인하고 in_app_purchase를 직접 fork해 새 Billing API 구조에 맞춰 수정, 결제 경로 정상화로 매출 손실 방지

AI 평가용 음원 업로드 시간 90% 단축

Speaking 답안 제출 시 3–4MB 음원 업로드 지연이 학습 흐름을 끊고, 같은 발음에도 웹과 앱의 AI 점수가 달라 신뢰도 저하. AI 모델 입력 스펙에 맞춰 FLAC 무손실 압축과 44.1kHz 표준화를 적용, 업로드 시간 90% 단축 및 웹–앱 간 일관된 피드백 제공

TestGlider 첫 모바일 앱 출시

TestGlider 모바일 진출이 필요한 상황에서 3–4개월 내 출시를 목표로 웹 서비스를 분석해 모바일 최적화 지점 도출. 2022년 8월 첫 앱을 출시해 TOEFL Speaking·Listening 기능 런칭

프로젝트

2025.07 — 2025.08 · 프리랜서 · Flutter Developer

우리다치 · 한일 교류 SNS

뷰와 컨트롤러를 1:1로 매핑하는 구조로 재설계해 의존성을 줄였고 WebSocket 기반 실시간 채팅에 AI 번역을 연결했습니다. Optimistic UI로 서버 응답을 기다리는 동안에도 보낸 메시지가 바로 보이게 만들었습니다.