MOBILE PRODUCT · 2024—2026

Expo 앱 구축부터 스토어 배포까지

From Expo app setup to store delivery

React Native·WebView 앱을 초기 설계하고, 딥링크·푸시 알림·웹-네이티브 통신·환경별 EAS 배포까지 하나의 운영 흐름으로 만들었습니다.

Built React Native and WebView apps from initial architecture through deep links, push notifications, web-native messaging, and environment-specific EAS delivery.

규모·성과

2 apps 포도스피킹 · 마이라이트 신규 개발 및 출시

담당 업무

네이티브 앱·웹 기능 개발 · 앱 구조 설계 · 출시 · 운영

사용 기술

Expo · React Native · WebView · EAS · Expo Notifications · Firebase

배경

웹 서비스를 iOS와 Android 앱으로 제공하면서도 앱과 웹뷰를 함께 빠르게 개발해야 했습니다. 스토어 배포뿐 아니라 외부 링크 유입, 푸시 알림, 환경별 QA, 웹뷰 초기 로딩까지 네이티브 앱다운 경험으로 완성해야 했습니다.

과정

  • Expo·React Native와 WebView를 pnpm workspace 모노레포로 구성하고, dev·staging·prod별 앱 ID와 EAS 프로파일을 분리해 내부 설치부터 TestFlight·Play 배포까지 표준화했습니다.
  • iOS Universal Link는 Associated Domains로, Android App Link는 autoVerify intent filter로 구성하고 웹의 AASA·assetlinks 응답까지 연결했습니다.
  • expo-notifications에서 권한과 Push Token을 처리하고, 웹뷰가 브릿지를 통해 토큰을 받아 사용자 기기에 연결하도록 구성했습니다.
  • 웹뷰가 실제 목적지 화면을 렌더하면 appLoaded 메시지를 네이티브로 보내 Lottie를 제거하도록 바꾸고, 기존의 고정 4초 대기를 없앴습니다.

결과

  • 하이브리드 모바일 앱 2건 신규 출시
  • iOS Universal Link·Android App Link와 푸시 알림 연계
  • 고정 4초 대기를 제거하고 웹뷰 준비 시점에 맞춰 초기 화면 전환
  • 환경별 병렬 QA와 TestFlight·Play 배포 흐름 표준화
At a glance

2 apps Podo Speaking and MYLIGHT built and launched

Role

Native app and web feature development, architecture, launch, and operations

Stack

Expo · React Native · WebView · EAS · Expo Notifications · Firebase

Context

The product needed to ship on iOS and Android while keeping app and WebView development coordinated. Store delivery, external links, push notifications, environment-specific QA, and WebView startup all had to work as one native experience.

Process

  • Structured Expo, React Native, and WebView as a pnpm workspace monorepo, then separated app IDs and EAS profiles for development, staging, and production delivery through TestFlight and Play.
  • Configured iOS Universal Links with Associated Domains and Android App Links with verified intent filters, backed by AASA and assetlinks responses from the web app.
  • Handled notification permission and push-token registration with expo-notifications, passing the token through the bridge so the web app could associate it with the user device.
  • Removed the fixed four-second wait by having the WebView send an appLoaded message after the destination screen rendered, which dismissed the Lottie overlay at the actual ready point.

Outcome

  • Built and launched two hybrid mobile apps
  • Connected iOS Universal Links, Android App Links, and push notifications
  • Removed the fixed four-second wait and transitioned when the WebView was actually ready
  • Standardized parallel QA environments and TestFlight and Play delivery

참고 화면Screenshots

포도스피킹Podo Speaking

1:1 원어민 어학 학습 앱. 네이티브 앱과 웹 기능을 직접 개발하고, 스토어 배포와 운영을 맡았습니다.A one-to-one language learning app with native-speaking tutors. I developed both the native app and web features, and handled store delivery and operations.

포도스피킹 홈과 레슨 예약 · Podo Speaking home and lesson booking
홈 · 레슨 예약Home · Lesson booking
포도스피킹 레슨권 구매 · Podo Speaking lesson plan selection
레슨권 · 언어와 상품 선택Lesson plans · Language and product selection

마이라이트MYLIGHT

학습 루틴을 설정하고 매일의 실천을 기록하는 앱입니다. 디지털 학습지·강의 등 구매한 상품에 맞춰 학습할 루틴을 선택할 수 있습니다.An app for setting learning routines and tracking daily practice. Learners choose routines for digital workbooks and courses based on their purchased products.

마이라이트 오늘의 루틴과 루틴 캘린더 · MYLIGHT daily routine and calendar
오늘의 루틴 · 루틴 캘린더Daily routine · Routine calendar
마이라이트 구매 상품에 따른 학습 루틴 선택 소개 이미지 · MYLIGHT product-based learning routine selection
학습 루틴 선택 · 서비스 소개 이미지Choosing a learning routine · Product overview