서비스 정의
PedalTalk(페달톡)은 자전거를 함께 타는 사람들이 블루투스 이어폰으로 음악을 들으며 버튼 조작 없이 대화할 수 있는 안드로이드 인터콤 앱입니다. 말을 시작하면 상대에게 그대로 들리고, 상대가 말하는 동안에만 음악 소리가 잠깐 줄었다가 원래대로 돌아옵니다. 둘이 타든 여럿이 타든 인원 제한 없이 한 방에 들어갈 수 있습니다.
해결하려는 문제
달리는 중에 옆 사람과 말을 주고받으려면 멈추거나 소리를 질러야 합니다. 헬멧용 인터콤 기기는 사람 수만큼 사서 부착해야 하고, 일반 통화 앱은 버튼을 눌러야 하거나 듣던 음악을 끊습니다. PedalTalk는 이미 쓰고 있는 이어폰과 음악 앱에 대화 기능만 더합니다.
핵심 타깃
- 함께 달리는 라이딩 그룹: 대열이 길어져 목소리가 닿지 않는 사람들
- 둘이 타는 사람: 앞뒤로 달리며 계속 말을 주고받고 싶은 커플, 친구
- 장거리 라이더: 터널이나 산길처럼 신호가 약해지는 구간을 지나는 사람
핵심 사용자 흐름
- 방 만들기: 한 사람이 방을 만들면 6자리 코드와 QR 코드가 나옵니다. 회원 가입은 필요하지 않습니다
- 입장: 나머지 사람들은 코드를 입력하거나 QR을 찍으면 됩니다
- 주행: 폰을 주머니나 거치대에 넣고 화면을 꺼도 대화가 이어집니다. 알림에서 바로 음소거하거나 대화를 종료할 수 있습니다
- 끊김과 복구: 연결이 끊기면 자동으로 다시 연결되고, 연결이 끊기거나 복구되면 짧은 음성으로 알려 줍니다
주요 기능
- 말하면 들리는 오픈 마이크: 버튼을 누를 필요가 없습니다. 잡음 억제와 음성 감지가 바람 소리를 걸러 내고, 말하지 않는 동안에는 아무것도 보내지 않습니다
- 상대가 말할 때만 음악 줄이기: 쓰던 음악 앱을 그대로 두고, 상대가 말하는 동안에만 볼륨이 내려갔다가 돌아옵니다
- LTE와 블루투스 두 경로 동시 유지: 평소에는 인터넷으로 연결하고, 터널이나 약전계에서는 가까운 기기와 직접 연결합니다. 두 경로를 함께 열어 두고 상태가 더 나은 쪽으로 자동으로 옮깁니다
- 화면을 꺼도 유지: 포그라운드 서비스로 작동합니다. 화면이 켜져 있으면 장갑을 끼고도 누를 수 있는 큰 음소거 버튼이 나옵니다
- 마이크 모드 3종: 간편, 음악 우선, LE Audio. 연결된 장치를 확인해 사용할 수 없는 모드와 그 이유를 화면에 알려 줍니다
- 인원 제한 없는 메시 대화: 모두가 모두와 직접 연결됩니다
서비스 설계 포인트
- 두 경로를 동시에 열어 둔다: 왕복 시간과 손실률을 바탕으로 경로마다 점수를 매겨 주 경로를 고릅니다. 경로를 바꾸는 동안에는 잠시 양쪽으로 같은 패킷을 보내 소리가 끊기지 않게 합니다
- 음성은 서버를 거치지 않는다: 목소리는 기기끼리 바로 오갑니다. 서버가 보관하는 것은 방 코드와 연결 신호뿐입니다. 방은 24시간, 신호는 1시간 뒤 자동으로 지워집니다
- 회원 가입을 없앴다: 익명 인증으로 방을 만들고 들어갑니다. 장갑을 낀 손으로 가입 화면을 거치게 할 수는 없습니다
- 블루투스 규격의 한계를 숨기지 않는다: 이어폰 마이크를 쓰면 안드로이드가 이어폰을 통화 모드로 바꿔 음악도 통화 음질로 재생됩니다. 앱에서 바꿀 수 없는 부분이라 모드를 직접 고르게 하고, 그 이유를 화면에 안내합니다
기술 스택
- App: Android 네이티브 (Kotlin, Jetpack Compose)
- Audio: Opus, RNNoise를 JNI로 직접 붙임, 송신자별 적응형 지터 버퍼, 오디오 포커스 덕킹
- Transport: WebRTC DataChannel(인터넷)과 Nearby Connections(블루투스)를 동시에 사용하고, 경로 탐침으로 자동 전환
- Backend: Firebase 익명 인증 + Firestore(방, 신호) + Remote Config(ICE 서버) + Crashlytics
- Distribution: Google Play(
net.mrlatte.pedaltalk), 무료, 광고 없음 - CI: GitHub Actions (단위 테스트, 에뮬레이터 계측 테스트, 서명 AAB 빌드, Play 업로드)
문의 및 계정 삭제
- 문의하기: 연락하기에서 채널톡으로 바로 문의할 수 있습니다.
- 데이터 삭제 요청: 로그인이 없어 별도로 만드는 계정도 없습니다. 방 문서는 24시간, 연결 신호는 1시간 뒤 자동으로 지워지며 목소리는 서버에 저장되지 않습니다. 그전에 삭제하기를 원하면 삭제 요청 메일 열기로 요청할 수 있습니다. 자세한 수집, 보관 정책은 개인정보처리방침을 참고하세요.