코트지기
오픈채팅 테니스 모집의 입금 확인과 취소와 정산을 대신 맡는 모집 링크를 만들고 있어요. kotjigi.lexxo.co.kr
테니스 오픈채팅 모집 도구를 만들며 고민한 것들 (아직 모집 0건)

오픈채팅방에 링크를 붙이면, 신청부터 참가 확정까지 카톡 안에서 끝나요
테니스 칠 때 저는 보통 오픈채팅방에 올라온 모집에 들어가요. 참석 누르고, 코트비 보내고, 보냈다고 댓글 달고요. 누가 취소했다는 말이 올라오면 경기 깨질까 봐 계속 방을 들여다보게 되더라고요. 그래서 노쇼를 막는 도구를 만들자고 시작했어요.
그렇게 나온 게 코트지기예요. 모집하는 사람이 링크를 만들어 오픈채팅방에 올리면, 신청과 입금 확인, 취소, 대기자 연락을 링크가 대신 챙겨요. 아래는 만들면서 오래 붙잡고 있었던 질문들이에요.
1. 정말 문제가 노쇼일까?
처음엔 노쇼 방지 앱이라고 불렀어요. 그런데 제가 있는 오픈채팅방 세 곳 대화를 내보내서 세어 보니 그림이 달랐어요.

일정 6,461개가 올라오는 동안 노쇼라는 말은 108번 나왔어요. 반면 선입금해 달라는 메시지는 807번, 입금했다는 메시지는 599번이었어요. 가장 많은 건 대참으로 1,207번이었고요. 빠지는 사람이 대신 올 사람을 직접 구해야 하거든요. 자리가 빌 때마다 일정 제목을 고치는데, 그게 6,515번으로 새 일정 수보다 많았어요. 키워드로 센 거라 대략적인 숫자예요.
노쇼는 가끔 터지는 사고였고, 매일 반복되는 건 노쇼를 막고 메우는 일이었어요. 계좌 올리고, 은행 앱이랑 댓글 비교하고, 취소한 사람한테 돈 돌려주고, 대기자한테 다시 연락하는 일이요. 그걸 모집하는 사람이 혼자 손으로 하고 있었어요. 그래서 목표를 노쇼를 줄이는 데서 모집하는 사람의 손을 덜어 주는 쪽으로 바꿨어요.
2. 앱일까, 링크일까?
스매시 같은 모집 앱에는 이미 노쇼 보증금이 있어요. 그런데도 사람들은 여전히 오픈채팅방에서 모여요. 모르는 사람 열 명한테 앱을 깔고 가입하라고 하면 그 모집은 안 열릴 거라고 봤어요.
그래서 오픈채팅방에 붙이는 링크로 만들었어요. 링크는 카톡 안에서 바로 열리고, 신청은 카카오 로그인 한 번이면 돼요. 화면 넘어가는 방식도 카톡이랑 비슷하게 맞췄어요. 카톡을 벗어났다는 느낌이 들면 거기서 그만둘 테니까요.

앱 설치 없이 카톡 안에서 바로 열려요
대가도 있었어요. 카톡 안 브라우저에서는 웹 푸시가 거의 안 돼요. 대기자한테 자리가 났다고 알릴 방법이 카톡 알림톡뿐인데, 알림톡은 사업자만 보낼 수 있어요. 그래서 개인사업자를 냈어요.
3. 돈을 맡을까?
가장 깔끔한 그림은 코트지기가 보증금을 받아 두었다가 경기 끝나면 돌려주는 거예요. 확인도 환불도 자동이죠.
그런데 남의 돈을 받아 보관했다가 돌려주면 전자금융업 등록 대상이에요. 그리고 지금은 이 서비스가 정말 쓸모 있는지 확인하는 단계라, 돈을 맡는 기능까지는 필요 없다고 판단했어요. 나중에 할 계획은 있어요.
그래서 돈은 모집자 계좌나 카카오페이로 바로 가요. 참가자가 보낸 뒤 '보냈어요'를 누르면, 모집자는 은행 앱에서 확인하고 '받았어요'를 눌러요. 모집자 손이 한 번 가긴 해요. 대신 누가 냈는지 외우고, 취소한 사람한테 계좌 물어서 돌려주고, 확인했다고 일일이 답하는 일은 없어져요.

참가자는 '보냈어요', 모집자는 '받았어요'
카카오페이는 처음엔 뺐다가 출시 직전에 붙였어요. 대화를 세어 보니 카카오페이로 보냈다는 말이 696번, 계좌가 282번이었거든요.
4. 둘이 동시에 마지막 자리에 돈을 보내면?
돈을 직접 주고받으니 이런 일이 생길 수 있어요. 한 자리 남았는데 두 명이 동시에 입금하면 한 명은 돈을 돌려받아야 하죠.
그래서 신청하는 순간 정원만큼만 자리를 잡아 주고, 송금 안내는 자리를 잡은 사람에게만 보여 줘요. 마지막 한 자리에 두 명이 동시에 눌러도 서버에서 한 명만 들어가게 막아요. 같은 자리에 두 명이 돈을 보내는 상황 자체가 안 생겨요.
입금 마감도 나눠서 생각했어요. 참가자가 '보냈어요'를 안 누르면 마감 시각에 자리가 풀려요. 하지만 '보냈어요'를 눌렀는데 모집자가 확인을 늦게 하는 건 참가자 탓이 아니라서, 그때는 자동으로 취소하지 않아요.
5. 빈자리는 누구에게?
누가 취소하면 대기자에게 넘겨야 해요. 먼저 기다린 사람에게 순서대로 주면 공정하지만 느리고, 대기자 모두에게 한꺼번에 알리면 빠르지만 먼저 기다린 의미가 없어져요.
그래서 시간에 따라 다르게 했어요. 경기 3시간 전까지는 한 명씩 30분씩 기회를 주고, 3시간 안으로 들어오면 대기자 모두에게 동시에 알려서 먼저 수락한 사람이 들어가요. 경기 직전에 자리가 비는 게 게임이 깨지는 순간이라, 그때는 순서보다 빨리 채우는 게 중요하다고 봤어요.

대기 1번에게 자리가 나면, 30분 안에 들어올지 정해요
6. 노쇼한 사람을 기록할까?
노쇼 횟수를 프로필에 남기면 효과는 있을 거예요. 그래도 안 하기로 했어요. 노쇼한 사람은 이미 코트비를 냈고, 기록을 남기는 순간 억울하다는 다툼과 개인정보 문제가 따라와요.
취소하면 돈을 돌려줄지도 코트지기가 정하지 않아요. 대화를 보니 방마다 규칙이 다 달랐거든요. 바로 내보내는 방, 코트비를 물게 하는 방, 전날 취소부터 노쇼로 치는 방이 있었어요. 그래서 모집할 때 모집자가 고르게 했어요. 대신할 사람이 채우면 돌려주는 걸 기본으로 두고, 경기 24시간 전까지 취소하면 돌려주는 방식도 고를 수 있어요.
만드는 데 2주, 아직 모집 0건
10월 24일에 처음 떠올리고 11월 7일에 출시했어요. 코드보다 오래 걸린 건 알림톡이었어요. 개인사업자를 내고, 카카오 비즈니스 채널 승인을 받고, 발송 대행사를 고르고, 문구 검수까지 통과한 날이 출시일이 됐어요.
아직 실제로 쓴 모집은 한 건도 없어요. 모집하는 분 한 명이 코트지기로 모집 하나를 끝까지 치러 보는 게 첫 목표예요.
주변에 오픈채팅이나 당근에서 테니스 모집을 하는 분이 있다면 알려 주세요. 써 보고 불편한 점을 말해 주시면 바로 고칠게요. 위 고민 중에 다르게 봤을 것 같은 부분이 있어도 편하게 얘기해 주세요.