모바일에서 구현한 사유의 사유화
로그인 후 보이는 홈 화면입니다. 토론 캘린더, 마크다운 기록, 전사·요약, 녹음, 운영 페이지로 이동하는 구성을 확인할 수 있습니다. 화면이 구현되어 있어도 각 기능의 안정성과 권한 동작은 계속 검증하고 있습니다.

← 프로젝트 목록04 / CASE STUDY
PRIVATE SERVICE / DISCUSSION
긴 토론을 한 번의 모임으로 흘려보내지 않고, 다시 읽고 생각할 수 있게 만드는 도구.
v0.1.2 · 개발·검증 진행 중 · 모임 전용 비공개 서비스로그인 후 보이는 홈 화면입니다. 토론 캘린더, 마크다운 기록, 전사·요약, 녹음, 운영 페이지로 이동하는 구성을 확인할 수 있습니다. 화면이 구현되어 있어도 각 기능의 안정성과 권한 동작은 계속 검증하고 있습니다.

사유는 한 달에 한 번 만나 여러 이야기를 나누는 토론 모임입니다. 두세 시간씩 이야기하다 보면 정작 중요한 말이 무엇이었는지 나중에는 기억이 흐릿해지기도 합니다.
모임에서 나눴던 이야기를 다시 확인하고 싶어 하는 사람들도 있었습니다. 그렇다면 토론 내용을 녹음하고 글로 옮겨서 날짜별로 정리해 두면 어떨까 생각했습니다.
제가 실제로 참여하고 있는 모임이니 무엇이 불편하고 어떤 기능이 필요한지 먼저 생각해 볼 수 있었습니다.
처음부터 많은 사람이 사용하는 서비스를 만들 생각은 없었습니다. 사유 회원 약 10명이 쓰는 작은 웹서비스로 시작했습니다.
날짜를 선택해 기록을 남기고, 녹음을 전사해서 그날의 이야기를 다시 읽는 구조였습니다. 기록은 회원들이 함께 보되, 녹음 원본은 승인된 운영진만 접근하도록 구분했습니다.
녹음에는 다른 사람의 목소리가 담깁니다. 편하다고 아무에게나 공개할 수 있는 정보는 아니기 때문에 누가 무엇을 볼 수 있는지부터 나눠야 했습니다.
기록과 회원 정보는 D1에, 녹음 파일은 비공개 R2에 보관하는 방식으로 구성했습니다. 회원 인증에는 Google 로그인을 사용하고, 허용된 회원만 들어올 수 있도록 설계했습니다.
녹음한 말을 글로 옮기기 위해 Whisper와 요약 기능도 연결해 봤습니다. 필요한 기능이 늘어날수록 파일은 어디에 저장하는지, 처리에 실패하면 어떻게 되는지, 중간에 녹음이 끊기면 무엇이 남는지를 따져봐야 했습니다.
처음에는 토론 내용을 기록하기 위한 간단한 앱을 생각했는데, 실제로 구현하면서 가장 오래 들여다본 것은 녹음과 저장 과정이었습니다.
잠깐 녹음해서 파일을 저장하는 것과 실제 토론 시간 내내 안정적으로 녹음하는 것은 다릅니다. 화면이 꺼지거나 브라우저가 백그라운드로 이동했을 때도 잘 될까요?
현재는 녹음 구간 저장과 전사·요약에 관한 코드를 구현하고 테스트하는 중입니다. 실제 모임에서의 장시간 녹음, 목소리를 사람별로 구분하는 기능 등은 더 확인해야 합니다.
제가 원하는 것은 기능 목록이 많은 앱이 아니라, 모임이 끝난 뒤 기록을 꺼내 봤을 때 그날의 이야기가 제대로 남아 있는 도구입니다. 그 부분을 확인할 때까지 계속 손을 보려 합니다.
모임의 토론 기록을 남기는 작은 웹 도구에서 출발해, 회원별 권한과 녹음 보존, 전사·요약, 모바일 이용까지 범위를 넓히고 있습니다. 현재 기록 버전은 v0.1.2이며, 아래 날짜는 저장소 변경 이력에 따른 것입니다. 각 날짜별 수정에 별도의 버전 번호를 임의로 붙이지 않았습니다.
마크다운 입력 지연 처리, 녹음 구간 누락·중복 검사, 중단된 녹음의 복구 경로, 전사 타임스탬프 정리, 긴 전사의 단계별 AI 요약 실패 후 재시도를 다듬었습니다. 회원 등록과 관리자 권한을 구분하는 회귀 테스트도 진행했습니다.
Google 로그인과 회원 허용 목록, 날짜별 기록·캘린더, 관리자 회원 등록, 비공개 원본 보관, 전사·요약 열람 화면과 PDF 출력 동선을 정리했습니다. 녹음 분석은 Modal GPU의 faster-whisper 전사와 pyannote 화자 분리, Cloudflare Workers AI 요약으로 구성하고 단어 시간값 검사를 강화했습니다.
코드·모의 테스트: 모바일 API와 브라우저 녹음, PDF 생성, 음성 구간 처리에 대해 Python·Node·Chromium 기반 검사를 진행했습니다. 일부 테스트는 합성 마이크·대체 API를 사용합니다.
실사용 검증 전: 실제 사유 모임의 2~4시간 녹음, iPhone/Android 화면 잠금 및 통화 중 동작, 운영 서버와 Modal GPU를 통과하는 전사·화자 분리·요약의 완전한 연결과 정확도는 별도 확인이 필요합니다.
회원만 쓰는 작은 모임 서비스라서 로그인, 녹음 파일 보관, 권한 구분을 함께 고민했습니다.