프로젝트

선택 프로젝트 — 사내 프로젝트

풀업데이

서버도 모델 다운로드도 없이 기기 안에서 실시간으로 자세를 인식해 운동을 세는 앱입니다. React Native의 New Architecture에서 서드파티가 깨지는 지점은 네이티브 플러그인과 패치로 직접 해결했습니다.

1인 설계·개발 · App Store 출시/2026.04 – 2026.06/React Native 0.84 (New Architecture) / React 19 / Swift / Apple Vision / Zustand / WatermelonDB
풀업데이

01 / 03

카메라 위에 얹은 실시간 골격 인식

iOS 내장 Apple Vision(VNDetectHumanBodyPoseRequest)을 호출하는 Swift VisionCamera Frame Processor 플러그인을 직접 작성했습니다. 우측 상단 인식 신뢰도 배지가 8FPS로 갱신되며, 좌표계 플립까지 네이티브에서 처리해 배터리와 JS 스레드 부하를 줄였습니다.

App Store에서 보기

해결한 문제

  • 서버 비용 없이 지연 없는 실시간 포즈 감지가 필요했습니다. New Architecture(Fabric/TurboModules)에서는 서드파티 라이브러리가 네이티브 브리지에서 깨지거나 메모리를 흘렸습니다.

내가 기여한 것

  • ML 모델을 내려받는 대신 iOS 내장 Apple Vision(VNDetectHumanBodyPoseRequest)을 호출하는 Swift VisionCamera Frame Processor 플러그인을 직접 작성했습니다. 8FPS 스로틀링과 좌표계 플립을 네이티브에서 처리해 배터리와 JS 스레드 부하를 줄였습니다.
  • react-native-tts가 Objective-C 메서드 시그니처(BOOL* 포인터) 불일치로 크래시 내는 것을 찾아, patch-package로 TextToSpeech.m을 직접 고쳤습니다. TTS 큐 오버플로우 방지 플래그도 함께 넣었습니다.
  • 조명과 각도가 바뀌면 오검출이 나서, 신뢰도 50% 아래면 멈추고 70% 위로 올라오면 다시 세는 2단계 히스테리시스를 넣었습니다. TTS는 큐가 밀리지 않도록 발화를 제어합니다.

임팩트

0원

서버 비용 · 모델 다운로드 0MB

8FPS

네이티브 추론 · 1초 단위 TTS

0건

100초+ 연속 세션 크래시·누수