HeyMoa 기술 문서
회의를 녹음하면 실시간으로 전사되고, 끝나면 개요·액션아이템·결정으로 정리된다. 정리된 회의록 위에서 챗봇에게 물어보고, 답을 Linear 이슈나 GitHub 이슈로 바로 내보낸다.
이 사이트는 지금 무엇이 어떻게 서 있는가를 적은 것이다. 기능이 구현돼 있다는 사실이 제품 방향의 근거가 되지는 않는다 — MVP 1은 완성된 제품이 아니라 PoC·베타테스트였다.
시스템
heymoa-web
Next.js 16 · React 19
브라우저 능력(마이크·AudioWorklet)이 필요하고 화면 수명주기가 서버와 다르다. 영속 저장소를 갖지 않는다.
heymoa-server
Kotlin · Spring Boot 3.5 · 도메인 12
인증·권한·도메인 상태가 한 곳에 모여야 감사와 잠금이 성립한다. public edge 전부를 혼자 진다.
heymoa-ai
Python · FastAPI · LangGraph
LLM 호출은 초 단위로 느리고 실패율이 다르다. 202로 끊고 callback으로 되돌려준다.
어디부터 읽나
| 궁금한 것 | 문서 |
|---|---|
| 사용자가 무엇을 보나, URL은 어떻게 생겼나 | Information Architecture |
| 코드를 어디에 넣나, 이 import가 허용되나 | Application Architecture |
| 무엇이 무엇과 붙어 있나, 왜 여기서 끊겼나 | System Architecture |
| 어디에 떠 있나, 배포는 어떻게 되나 | Cloud Architecture |
| 데이터가 어디서 나서 어디로 흐르나 | Data Architecture |
| API·이벤트 스키마 | 계약 |
| 계약을 어떻게 쓰나 (식별자·오류·멱등성·SSE 종료) | 인터페이스 규약 |
| 도메인 용어와 권한 | 도메인 모델 |
| 왜 그렇게 정했나 | ADR |
| 누가 무엇을 맡나 | 역할분담 |
지금 열려 있는 큰 것 넷
| # | 무엇 | 어디에 |
|---|---|---|
| ① | AI 산출물의 원문 근거 연결이 아직 없다 — 제품 원칙이자 차별화의 본체. 설계(APP-391)는 끝났고 구현 전 | IA §7 |
| ② | server → ai 경계에 애플리케이션 인증이 없다 — 지금은 보안그룹 하나가 막고 있다 | SA §4·§12 |
| ③ | 앱 인스턴스 1개가 기능 정확성의 조건이다 — enableSimpleBroker는 JVM 내부 브로커라 스케일아웃하면 팬아웃이 조용히 반쪽 난다 | SA §10 |
| ④ | IaC가 없다 — 운영 형상이 콘솔에만 있어 재생성이 전부 수작업이다 | CA §3·§8 |
추정을 사실로 승격하지 않는다. 각 문서는 확인한 사실 / 설계 전제(뒤집힐 조건과 함께) / 미확인을 구분해서 적는다.