본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 21. 23:50

실제 언어치료사(SLP)와 함께 임상용 언어치료 앱 만들기: PhoenixSteps에서 얻은 4가지 교훈

요약

실제 언어치료사(SLP)와 협업하여 소아용 임상 언어치료 앱인 PhoenixSteps를 개발하며 얻은 경험을 공유합니다. 단순한 게임화를 넘어 임상 프로토콜을 소프트웨어에 녹여내는 과정과 공동 설계의 중요성을 다룹니다.

핵심 포인트

  • 임상 프로토콜이 제품의 핵심 가치를 결정함
  • 전문가와의 공동 설계(Co-design)를 통한 전문성 확보
  • 기존 앱의 한계인 피드백 루프 부재 해결
  • 임상적 근거에 기반한 운동 카탈로그 구성

원래 AstroLexis 블로그에 게시되었습니다. 커뮤니티를 위해 이곳에 교차 게시합니다. 제 아들의 언어치료사(Speech-Language Pathologist, SLP)가 저의 공동 창업자가 되었습니다. 그 결과 탄생한 것이 바로 PhoenixSteps입니다. 이는 기존 앱들이 하지 못하는 일을 수행하는 소아 임상용 앱으로, 엔지니어와 치료사, 그리고 실제 환자(제 아이이기도 합니다)가 함께 만들었기에 가능했습니다. Apple의 Vision 프레임워크가 Apple 측에서 단호히 거절했던 일을 수행하도록 가르친 방법을 포함하여, 지난 6개월 동안 얻은 네 가지 교훈을 소개합니다.

이것이 어떻게 시작되었나
제 아들은 음성 산출 장애(Speech Sound Disorder)를 가지고 있습니다. 구체적으로는 'rotacismo'인데, 스페인어에서 약 6단어 중 하나꼴로 나타나는 기초 음소인 /r/과 /rr/ 발음에 어려움을 겪습니다. 아들의 언어치료사(SLP)는 Stefania입니다. 우리는 1년 넘게 매주 그녀를 만나고 있으며 실질적인 진전이 있었지만, 그 과정은 일관되지 않았습니다. 아이는 세션 중에는 소리를 완벽하게 내다가도 주 중반이 되면 다시 잊어버리곤 했습니다. 우리 둘 모두에게 그 격차는 명확했습니다. 아이는 Stefa와 함께 40분 동안 연습을 하지만, 집에 돌아가면 연습은 대부분 중단되었습니다. 그 이유는 다음과 같습니다:

Stefa가 보내준 '집에서 하는 연습' 시트에는 피드백 루프(Feedback Loop)가 없었습니다. 제 아이는 'ratón'을 다섯 번 말하면서도 그중 하나라도 맞게 말했는지 전혀 알 수 없었습니다.

스페인어로 된 기존 소아 언어치료 앱들은 상업적으로 평범하거나(기본 플래시카드를 게임화한 버전), 임상적으로 경직되어 있었습니다(어린이가 아닌 성인 언어 재활을 위해 제작됨). 스페인어를 사용하는 언어치료사(SLP)가 처방할 법한 임상 연습을 수행하면서 — 오디오 피드백, 자동 채점, 그리고 치료사가 읽을 수 있는 진행 상황 추적 기능을 갖춘 — 도구에 대한 시장은 4세 아동을 돌보는 개인 병원 입장에서 기본적으로 존재하지 않았습니다.

저는 Stefa에게 무언가를 공동 설계(Co-design)하고 싶은지 물었습니다. 그녀는 좋다고 답했습니다. 그렇게 PhoenixSteps가 시작되었습니다. 아래의 네 가지 교훈은 제가 시작할 때 미리 알았더라면 좋았을 것들입니다.

교훈 1: 임상 공동 창업자는 당신이 출시하는 제품의 모든 것을 바꾼다
저는 이전에 소비자용 iOS 앱을 만든 적이 있습니다. 하지만 임상용 도구(Clinical Tool)를 만든 적은 없었습니다.

제가 과소평가했던 점은 실제 제품의 상당 부분이 소프트웨어가 아니라 프로토콜 (Protocol)이라는 사실이었습니다. Stefa는 Borrás, Bosch, AELFA 조음 드릴 (articulation drills)과 같이 이름이 붙여지고 출판된 임상 프로토콜 (Clinical Protocols)을 바탕으로 작업합니다. 그녀가 운동을 처방할 때, 그녀는 순서, 용량 (Dosage), 그리고 단계적 진행 (Progression)에 대해 수십 년간 합의된 전통에서 내용을 가져오는 것입니다. "Lengua a la nariz"는 단순히 귀여운 아이디어가 아닙니다. 그것은 지속 시간, 하루 반복 횟수, 그리고 아이가 그 자세를 유지하지 못할 경우 어떻게 해야 하는지에 대한 구체적인 지침이 포함된 Borrás Exercise 29입니다. Stefa와 함께 일하기 전이라면, 저는 기본적으로 귀여운 애니메이션이 달린 미화된 플래시카드 덱 (Flashcard deck) 수준의 "언어치료 앱"을 만들었을 것입니다. Stefa와 함께하면서 운동 카탈로그는 다음과 같이 구성되었습니다:

  • 구강안면 운동 (Orofacial praxias) — 그녀의 임상 시트에서 직접 가져온 7가지 운동으로, 그녀가 실제로 처방하는 순서대로 구성됨.
  • R-그룹 음절 워밍업 (R-group syllable warmups) — "ra ra ra", "rrrr-on" — 단어를 다루기 전 근육 기억 (Muscle memory)을 형성함.
  • R 단순 단어 (R simple words) — rosa, ratón, mira, perro — Stefa가 난이도별로 등급을 매김.
  • R-자음군 단어 (R-cluster words / sinfones) — bra, cra, dra, fra, gra, pra, tra. 가장 어려운 단계.
  • 최소 대립쌍 (Minimal pairs) — R/RR, R/L, D/R, T/D.
  • 청각 변별 드릴 (Auditory discrimination drills).
  • 운반 문구 (Carrier phrases) — 실제 문장 안에 목표 음을 삽입함.
  • "Tren de la Risa" — Stefa가 작성한 가라오케 노래로, 8개의 절에 걸쳐 모든 R 맥락을 다룸.

이 중 그 어떤 것도 엔지니어의 상상력에서 나오는 것이 아닙니다. 그것은 현직 언어치료사 (SLP)의 노트에서 나옵니다. 첫 번째 교훈을 요약하자면: 만약 여러분이 임상 제품을 만들고 있다면, 임상가는 단순한 "도메인 자문가 (Domain advisor)"가 아닙니다. 그들은 공동 창업자 (Co-founder)입니다. 그들을 고용하고, 지분을 나누고, 제품 로드맵 (Product roadmap)에 대해 실질적인 목소리를 낼 수 있게 하세요.

교훈 2: Apple은 환자가 필요로 하는 것을 제공하지 않습니다. 직접 만드세요. 이것은 기술적인 이야기이며, 제가 가장 자랑스럽게 생각하는 부분입니다. /r/ 발음을 연습하는 아이들에게 가장 많이 처방되는 구강안면 운동 중 하나는 "lengua a la nariz"로, 혀끝을 코 쪽으로 뻗는 것입니다. 이 운동은 치경 탄음 (Alveolar trill)에 필요한 설측 상승 (Lingual elevation)을 길러줍니다.

Stefa는 아이가 운동을 올바르게 수행했는지(혀를 내밀고, 위를 향하게 하고, 10초 동안 유지하는지) 앱이 자동으로 확인하기를 원합니다. 이는 ARKit이 해결해야 할 과제처럼 들립니다. Apple은 iPhone X 이후로 TrueDepth 카메라를 통한 얼굴 추적 (Face tracking) 기능을 제공해 왔습니다. ARFaceAnchor.blendShapes에는 jawOpen, mouthSmileLeft, cheekPuff가 포함되어 있으며, 그리고 맞습니다, tongueOut도 포함되어 있습니다. 다만, tongueOut은 스칼라 (Scalar) 값입니다. 혀가 입 안에 있으면 0이고, 밖으로 나오면 1입니다. Apple은 혀가 어느 방향을 향하고 있는지는 알려주지 않습니다. 위, 아래, 왼쪽, 오른쪽 — 이 모든 것이 동일하게 읽힙니다. 저는 Apple 개발자 지원 팀에 이메일을 보냈습니다. 답변은 다음과 같았습니다: 아니요, 혀는 3D 기하 구조 (3D geometry)로 모델링되어 있지 않으며, 혀의 방향을 감지할 API도 없습니다. 혀 추적은 본질적으로 불안정하기 때문에 (치아와 입술에 의한 폐쇄 (Occlusion)), Apple은 Face ID 수준의 정밀도로 검증할 수 없는 기능을 출시하지 않기로 결정한 것입니다. 그래서 Stefa와 저는 직접 감지기 (Detector)를 만들었습니다. 파이프라인은 다음과 같습니다. ARKit이 TrueDepth 카메라에서 60 fps로 카메라 프레임을 캡처합니다. 우리는 ARKit이 무료로 제공하는 YUV 픽셀 버퍼인 raw frame.capturedImage를 가져옵니다. Vision은 얼굴 랜드마크 (Face landmarks)를 감지합니다: VNDetectFaceLandmarksRequest는 outerLips, innerLips, 그리고 nose를 2D 다각형 (Polygon)으로 반환합니다. 입술 다각형 외부의 세 가지 관심 영역 (ROI, Region of Interest): UP ROI — 윗입술 상단과 코 하단 사이의 직사각형; LEFT ROI — 입술 왼쪽 끝에서 왼쪽으로 확장되는 영역; RIGHT ROI — 동일하게 대칭된 영역. 각 ROI 내부의 분홍/빨간색 픽셀 수를 계산합니다. 입술-피부 전이 지점은 Cr ≈ 18이며

내가 Stefa에게 데모를 처음 보여주었을 때 — 내가 혀를 코 쪽으로 내밀고 화면에 "ARRIBA conf 100% pix 3,974"라고 뜨는 것을 지켜보는 모습 — 그녀는 내가 소스 코드를 보내주기 전까지는 그것이 진짜라고 믿지 않았습니다. 교훈 2의 핵심: 임상용 제품에서 가장 방어 가능한 기술적 작업은 Apple이 출시하지 않을 부분입니다. 플랫폼이 노출하지 않는 무언가를 할 수 있고, 그것이 임상적 결과(clinical outcome)에 중요하다면, 그것이 바로 당신의 해자(moat)가 됩니다. 교훈 3: 오디오 품질은 세부 사항이 아니라 하나의 기능입니다. PhoenixSteps는 "nova" 음성을 사용하는 OpenAI의 gpt-4o-mini-tts로 생성된 약 325개의 사전 녹음된 음성 프롬프트(voice prompts)를 탑재하여 출시합니다. 왜 iOS가 즉석에서 합성하게 두지 않고 사전 녹음된 TTS를 사용했을까요? 소아 대상의 음성 일관성(Pediatric voice consistency). 아이들은 오디오 프롬프트가 매번 동일하게 들릴 때 더 빠르게 학습합니다. 속도와 조음(articulation). Stefa는 준비 운동을 위해서는 평소보다 느린 발음을, 연습을 위해서는 일반적인 속도를, 노래를 위해서는 특정한 리듬(cadence)을 원했습니다. 명시적인 지침("habla en español neutro latinoamericano, ritmo lento y articulado, énfasis infantil sin caricaturizar")을 사용하여 생성하면 실제 언어치료사(SLP)가 사용할 법한 정확한 음역대(register)를 얻을 수 있습니다. 신뢰성. 사전 녹음된 오디오는 오프라인에서도 작동하며, 휴대폰의 TTS 파이프라인 상태에 의존하지 않고, Siri에 의해 중단되지 않습니다. 우리는 OpenAI API가 가끔 잘린 mp3 파일을 반환한다는 사실을 고생 끝에 배웠습니다(1.2초여야 할 파일 3개가 0.36초에서 끊기는 것을 발견했습니다). 해결책은 생성 후 검증 단계(post-generation validation step)를 두는 것이었습니다. 새로 생성된 모든 mp3는 최소 지속 시간 확인을 통과해야 합니다. 교훈 3의 핵심: 소아/임상용 앱에서 오디오는 콘텐츠입니다. 모든 프롬프트를 일관된 목소리와 속도로 사전 렌더링(pre-render)하세요. 번들링하기 전에 오디오 지속 시간을 검증하세요. 교훈 4: HIPAA에 준하는 개인정보 보호는 선택 사항이 아닙니다. PhoenixSteps의 사용자는 어린이입니다. 이들의 음성 녹음과 진행 데이터는 보호 대상 건강 정보(protected health information)입니다. 온디바이스 음성 인식 (WhisperKit). 음성은 절대 iPhone을 떠나지 않습니다. 온디바이스 얼굴 추적 (ARKit + Vision).

SwiftData를 활용한 진행 데이터 (Progress data), 가족의 개인 iCloud로 동기화. 분석 도구(Analytics) 없음, 제3자 SDK 없음, Crashlytics 없음, Facebook Pixel 없음. AI 기능은 부모의 동의를 통해서만 제공됨. Apple Foundation Models는 온디바이스(On-device)로 작동하며, 사용자가 선택(Opt-in)할 수 있음. PhoenixSteps는 아이들의 음성 샘플이 포함된 데이터 유출 사고를 절대 겪지 않을 것입니다. 왜냐하면 해킹할 중앙 집중식 데이터가 존재하지 않기 때문입니다. 요약된 네 번째 교훈: 사용자가 미성년자이거나 환자인 서비스를 구축하고 있다면, 당장 내일이라도 감사가 진행될 것처럼 설계하십시오.

현재 PhoenixSteps의 상태: 아직 App Store에 출시되지 않음. 빌드 28. Stefa와 함께 임상 파일럿(Clinical pilot) 마무리 중. 스페인어 우선 지원. 임상 콘텐츠가 영어 사용 SLP에 의해 검증된 후 영어 현지화(Localization)를 로드맵에 추가할 예정. 부모에게는 무료이며, 임상의를 위한 선택적 Pro 티어 제공. Stefa는 공동 창업자(Co-founder)입니다. 컨설팅이 아닌 지분(Equity) 기반 참여. 스페인어로 소아 환자를 돌보는 SLP라면 저희에게 연락해 주세요. 제품이 성숙함에 따라 더 많은 임상 자문(Clinical advisors)을 추가할 예정입니다: contact@astrolexis.space . — Bruno Galtranch, AstroLexis LLC 설립자. Stefania, SLP 및 공동 창업자와 함께. [IMG:1]

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0