어르다 · 공동창업자 · 개발 총괄
2025.09. – 재직 중역할 PO로서 문제 정의부터 도메인 설계·구현·배포·운영까지 전담. 운영·마케팅 담당자용 도구를 제작하여 제품 우선순위를 공동 결정함.
규모
| 제품 | 하는 일 | 내 역할과 스택 |
|---|---|---|
| 어르다 축어록 | 상담 | PO · 풀스택 · LLM · WASM FFmpeg · iOS/Android 출시 |
| 어르다 가계도 | 표준 표기법 준수 | 렌더링 엔진·DSL · Rust/WASM · Capacitor |
| 어르다 매칭 | 도메인 설계·백엔드 · Next.js · NestJS · PostgreSQL | |
| 운영 어드민 · 디스코드 봇 | 비개발자용 콘텐츠 운영 도구 | 설계·운영 · 사내 상시 사용 |
어르다 축어록 · PO로서 상담사 인터뷰부터 앱 출시까지 수행2026.01. – 현재
- 수기 전사·비언어 표기의 자동화 (회기당 6시간 → 기계 처리 5분 이내 · 만족도 2.9 → 4.92점)
- 문제
- 말한 그대로의 정확도와 침묵·말떨림 같은 비언어 표기가 동시에 요구되어, 50분 상담 1회기당 평균 6시간(상담 업무의 29.3%) 소요. 범용 STT(클로바노트 등)는 두 요건 미충족으로 만족도 2.9점에 그침.
- 해결
- 상담 도메인 특화 LLM 파이프라인(청크 분할 → 전사 → 비언어 표기 → 보고서 생성)을 설계, 기계 처리 시간을 10분 청크 기준 p95 5분 이내로 단축함. 실무자·석·박사 13인 베타에서 전사 정확도·비언어 표기 모두 고평가, 종합 4.92점 획득. 비언어 인식 향상에는 92.3% 동의.
- 보안
- 전사문·분석 결과·작성본은 서버에서 AES-256-GCM 필드 암호화 후 저장(iv·인증태그·암호문 단일 컬럼), 키는 서버만 보유함. 키 부재·길이 불일치 시 즉시 예외를 발생시켜 평문 저장 사고 자체를 차단함.
- 출시
- Next.js PWA를 Capacitor로 래핑, 단일 코드베이스로 iOS·Android 출시함. 오디오 변환·청크 분할은 WASM FFmpeg로 기기에서 처리하여 서버 오디오 비용 없음. 실사용자 39명이 134회기 · 누적 80시간 처리, 53.8%가 2회 이상 재사용함(테스트 계정 제외).
어르다 가계도 · 렌더링 엔진과 표기 언어(DSL) 담당2026.01. – 현재
- 무한 캔버스 폐기와 고정 레이아웃·자동 배치 전환 (사용자 5,687명 · 카페 주간 인기글 1위(2주 유지) · 월 좋아요 1위)
- 문제
- 기존 도구는 무제약 캔버스로 3촌 이상 시 인물 위치가 밀려 배치가 붕괴함. 캔버스 고정으로 조작을 단순화함(주 사용자 40·50대).
- 해결
- 인물 추가 시마다 주변이 연쇄 재배치되던 문제를 자동 배치로 해결함. 의존 노드 수를 중요도 지표로 삼아 중요 인물일수록 크게 배치하여 가시성을 제고함.
- AI가 가족 관계를 이해하고 반복되는 패턴을 감지하도록 만든 사내 도구(DSL)
- 설계
- 심리적 관계 16종, 법적 관계 8종, 결혼·이혼·별거 연도를 문법으로 정의하여 그림 대신 텍스트 편집·버전 관리가 가능함(파싱 p95 5.8ms). 그림이 아닌 문법이므로 기계 판독이 가능, 축어록 기록과 연계하여 세대에 걸쳐 반복되는 관계 패턴과 문제의 근본 원인을 AI가 식별하는 도구로 확장 중.
- Rust/WASM 이식 여부를 벤치마크로 판단, 순수 수치 연산만 채택
- 판단
- 핫패스를 Rust로 포팅, 파리티 테스트로 TS와 동일 결과를 강제한 뒤 벤치마크로 판정함. FFI 직렬화 비용 19~41배, 순수 수치 연산만 0.8배(약 20% 단축)로 확인되어 해당 경로만 채택함. 임상 데이터는 기기에서 암호화, 발표 시 이름 비공개 처리함.
플랫폼 운영 · 비개발자가 직접 운영하는 콘텐츠 파이프라인2025.09. – 현재
- [장애 대응] DB 복구 뒤에도
교육기관 목록이 비어 보이던 사고- 문제
- DB 장애 복구 후에도 목록이 계속 비어 있었으나, 알림이 전무하여 개발자가 화면을 직접 열람한 시점에야 이상을 인지함.
- 원인
- 페처가 5xx를 삼켜 생성한 빈 응답이 24시간 캐시에 저장됨. 예외 은닉으로 인해 장애 발생 원인과 미탐지 원인이 동일함.
- 해결
- 태그 무효화로 화면을 즉시 복구한 뒤, 5xx는 throw 처리하고 폴백을 캐시 외부로 이동하여 예외가 관측 경로에 노출되도록 조치함.
- 평가
- 동일 유형 장애는 재발하지 않았으며, 사고 직후 에러 모니터링(Sentry)을 도입하여 예외를 이슈로 수집·대응·기록 중.
교육기관 410곳을 개발자 배포 없이 운영팀이 직접 수정- 디스코드 명령 한 줄로 소개글·배너·
멘토 정보 수정 시 캐시 무효화까지 자동 수행됨. 사용 의견을 반영하여 명령 15개를 8개로 통합함.
- 디스코드 명령 한 줄로 소개글·배너·
- 공고 1건 AI 처리 시간 206초 → 18초 (91% 단축)
- 크롤러 → LLM 구조화 → 디스코드 카드 승인 → 어드민 등록 순으로 연결하고, 모델의 사고(thinking) 모드 해제·응답 스키마 축소로 지연을 단축함.
개발 방식 · AI 산출물을 기계가 채점하는 게이트 (테스트 파일 499개)
- AI 에이전트 생성 코드의 회귀·임상 표기 위반을 사람 리뷰 전 자동 반려
- 배치 품질 점수·테스트 중요도 분류·화면 구동 검증을 단일 명령으로 통합함. 가계도 230·축어록 141·백엔드 128개 테스트가 후단에서 실행됨.
- 배치 개선안 8건 중 3건 채택 · 5건 자동 거부, 사람 판단 없이 표준 위반을 차단
- 검증자와 생성자를 분리하여 채점기의 배치 함수 내부 호출을 차단하고 최종 좌표만 참조하도록 함. 배치 로직은 자체 출력을 스스로 합격 처리할 수 없음.
- 깨짐 규칙 8종(세대 단조·부부 인접·간선 충돌 등)은 하드 게이트로 적용, 밀도·종횡비·교차는 비열화만 허용함. 이에 따라 밀도가 상승하더라도 표준(세대=한 줄)이나 가독성을 훼손하는 멀티로우·윤곽 패킹 등 5건이 자동 반려됨. 에이전트는 오케스트레이터·구현자·검수자로 분리하고, 모호한 요청은 검증 가능한 문장으로 재작성하도록 규칙에 명시함.
- 모델 교체 판정을 청취 대신 계산식으로 수행: CER·IoU 기준선 상시 운용
- 가상 상담 4종(상담실·울먹임·카페 소음·큰 음성)에 정답 전사문과 비언어 구간을 직접 부착, 전사는 CER=(치환+삭제+삽입)/정답 글자 수, 비언어는 IoU=겹친 시간/합친 시간으로 채점함.
- STT 3종·구간 탐지 3종을 동일 기준으로 평가하여 CER 3.5% 모델을 채택함. 구간 탐지는 IoU 0.24(정서적 표출 0.09)에 그쳐 LLM 표기로 전환함. 정답 부재 항목은 만점 대신 평가 불가로 제외하여 허위 점수를 방지했으며, 모델 교체 시 본 기준선을 우선 통과시킴.