사운드 믹싱 집중 & 명상 앱 · iOS · Android 네이티브 동시 개발 중
파도 · 비 · 바람 · 모래 · 장작 다섯 가지 자연 소리를
원하는 비율로 섞어 나만의 소리를 만드는 명상 앱
잠들 때나 집중할 때 배경음으로 틀어두는 용도. 이 프로젝트는 handoff-agent를 활용해 사용자 인터뷰, 디자인 프로토타입을 기반으로 자동 생성되는 프로젝트로 iOS · Android 네이티브로 동시 개발 중입니다.
기능
사운드 믹싱
레이어 5개를 각각 볼륨 조절해 겹쳐 재생
파도비바람모래장작
프리셋 · 나만의 믹스
저녁 물결, 숲속 아침 등 프리셋 5종. 직접 만든 조합도 저장
수면 타이머
15 / 30 / 45 / 60분 뒤 자동 정지
기록 · 통계
세션 기록과 연속 사용일
SNS Login · 내 정보 동기화
추가 예정
구독 및 인앱 결제 (IAP)
추가 예정
스킬
Swift (SwiftUI) Kotlin (Compose) TypeScript Hono Cloudflare Workers D1 R2 OpenAPI handoff-agent
백엔드 — 왜 이렇게 골랐나
hosting
Cloudflare Workers + Hono
서버를 직접 구축·운영하는 대신 코드만 올리면 전 세계 엣지에서 바로 실행되는 서버리스 플랫폼. Hono는 그 위에서 API를 간단하게 짜게 해주는 가벼운 프레임워크. 서버 관리 부담이 없고, 이 규모 트래픽엔 비용도 가장 저렴해서 선택.
db
D1 (SQLite)
Workers 안에서 바로 쓸 수 있는 DB라 별도 연결 설정이 필요 없음. 이 규모 트래픽은 무료 티어만으로도 충분해서 선택.
storage
R2 (음원 저장소)
파일 내려받을 때 붙는 전송(egress) 비용이 없음. AAC 256kbps · 90초 루프 = 개당 약 2.75MB 기준, 무료 10GB로 확장 음원 약 3,700곡까지 저장 가능. 비용 부담이 사실상 없다고 판단.
auth
자체 JWT 인증 (익명 로그인)
회원가입 절차 없이 기기만으로 바로 쓸 수 있게 함. 사용자가 부담 없이 접근하도록 하려는 목적. 추후 SNS 로그인을 붙여 정보 이관할 수 있도록 동기화 구현 예정.
iOS · Android 나란히
같은 handoff 패키지에서 두 플랫폼이 동시에 만들어졌습니다. 항목에 마우스를 올리면 짝이 되는 반대편 항목이 함께 표시됩니다.
iOS · SwiftUI
화면 4개(온보딩 · 홈 · 사운드 · 기록)와 재생 중 화면 · 믹스 시트 · 설정 시트 등 오버레이 컴포넌트 구현
AVAudioEngine 기반 5트랙 동시 믹싱 플레이어 구현
API 통신 · 데이터 모델 · 오프라인 목업 폴백 계층 구현
색상 · 타이포 · 간격 등 디자인 토큰 전용 테마 시스템 구성
Android · Jetpack Compose
iOS와 동일한 화면 · 컴포넌트 구성을 Compose로 구현
오디오 믹스 플레이어 구현
API 클라이언트, 오프라인 목업 폴백 계층 구현
앱 상태 뷰모델과 단위 테스트 4개, 내비게이션 UI 테스트 1개 작성
이 앱을 만든 도구
handoff-agent — 세 플랫폼을 한 번에 구현하는 플러그인