← 홈으로홈 읽기 찬송 쉼 (ASMR) 1년 통독 다크 모드 ![]()
2026 · 개인 · 비공개
만나Manna
성경·찬송·쉼이 한 곳에. 오프라인 우선 신앙 생활 앱
배경
매일 쓰는 성경 앱이 광고와 로그인 없이, 인터넷이 없는 곳에서도 그대로 열리길 바랐습니다. 기존 앱들은 본문을 서버에서 받아오거나, 찬송가·묵상 사운드·통독 계획이 각각 다른 앱에 흩어져 있었습니다. 그래서 “성경·찬송·쉼이 한 곳에” 있는 오프라인 우선 앱을 직접 만들었습니다.
무엇을 만들었나
- 성경 읽기: 개역한글(31,084절)·KJV·WEB·ASV 전권 내장. 초성 검색과 구절 바로가기(ㅅㅍ23, 요 3:16), 병행 보기, 형광펜 4색, 관주 19만 건, 세피아 모드.
- 찬송·쉼: 찬송가 가사와 오디오(백그라운드 재생·잠금화면 컨트롤), 빗소리·파도·백색소음 무한 루프와 취침 타이머.
- 통독·기록: 통독 계획 6종(시작일 소급 가능), 묵상 일기, 기도 제목, 암송 카드, 필사 모드(실시간 오탈자 표시), 낭독 녹음.
- 우리 교회: 초대 코드 하나로 교회 공간 개설. 공지·함께 기도·사진첩·합산 통독·행사 D-day. 회원가입도 비밀번호도 없습니다.
- AI 묵상 도우미: 묵상 채팅·본문 해설·성경 퀴즈. 종이 성경을 찍으면 어느 본문인지 찾아 바로 엽니다.
- 배포: 앱 스토어 대신 인앱 업데이트. 새 버전이 있으면 홈 카드에서 내려받아 SHA-256과 크기를 검증한 뒤 설치합니다.
기술적 결정
- Flutter 단일 코드베이스로 iOS·Android·태블릿을 대응했습니다. 성경 본문과 관주는 앱에 내장해 서버 의존을 0으로 만들었습니다.
- AI 기능은 Cloudflare Workers 프록시 뒤에 두었습니다. 사용자가 API 키를 넣을 필요가 없고, 일일 한도를 서버에서 관리합니다. 교회 공간은 Workers + D1(관계형)·KV(사진첩)·R2(APK)로 별도 서버 없이 운영됩니다.
- 회원가입 없음: 교회 공간은 초대 코드와 기기 토큰만으로 참여합니다. 관리 부담과 개인정보를 동시에 줄이는 선택이었습니다.
트러블슈팅
- 인앱 업데이트 APK는 공개 링크가 아니라 앱 토큰으로 보호된 경로에서 내려받습니다. 브라우저에서 관리 통계 페이지가 403이 나던 문제를 v1.28에서 수정했습니다.
- 화면 문자열 치환 패치가 조용히 0건 적용되는 경우(포맷터의 코드 재배치)를 겪은 뒤, UI 수정은 grep과 스크린샷으로 확인한 다음에만 “됐다”고 말하는 규칙을 세웠습니다.
상태
v1.28. 테스트 102개. 교회 공간 개설 코드로 실제 사용 중이며, 다음 과제는 APK 호스팅처 정리입니다.