어기면 돈이 자선단체로 가는 금주 앱을 만들고 있다
저는 지금 금주를 시도하고 있습니다. 이 앱은 그 시도에서 나왔습니다.
전에 효과를 봤던 방법이 하나 있습니다. 음주측정기를 사서, 친구와 약속을 했습니다. 측정할 때마다 결과를 캡처해서 보낼 것, 안 보내면 벌금을 낼 것. 우스워 보이는 장치인데, 꽤 잘 작동했습니다. 돌이켜보면 작동한 이유는 측정기의 정밀도가 아니었습니다. 잃을 돈이 있었고, 지켜보는 사람이 있었다는 것. 행동경제학에서 commitment device라고 부르는 구조를, 저는 측정기 한 대와 친구 한 명으로 어설프게 조립해 쓰고 있었던 겁니다.
그 어설픈 장치를 제대로 만들어보자는 게 이 앱의 출발이었습니다.
구조: 돈을 걸고, 매일 증명한다
구조는 단순합니다. 금액을 스테이크로 걸고, 매일 셀피로 체크인합니다. 지키면 아무 일도 일어나지 않습니다. 실패하면 스테이크가 자선단체로 자동 기부됩니다. 돈을 그냥 잃는 게 아니라 좋은 곳에 빼앗기는 구조 — 아깝지만 떳떳한 손실이라는 점이 저에게는 중요했습니다.
Expo로 모바일 앱을, Fastify로 백엔드를 만드는 중이고, 313개 테스트와 CI까지는 갖춰 둔 상태입니다. 아직 만들고 있는 단계라는 것도 그대로 적어둡니다.
돈을 한 번도 쥐지 않는 설계
이 앱에서 가장 중요한 설계 결정은 플랫폼이 사용자 돈을 절대 보관하지 않는다는 것입니다. Stripe Connect의 비수탁(manual-capture) 구조로, 스테이크는 플랫폼 계좌를 거치지 않고 처리됩니다.
솔직히 말하면 이 방향은 제가 처음부터 그린 그림이 아닙니다. 설계를 상의하던 Claude Code가 가장 강하게 추천한 구조였습니다. 듣고 보니 명확했습니다. 1인 개발자가 남의 돈을 보관하는 순간 따라오는 무게 — 신뢰, 환불 분쟁, 보안 — 는 기능 하나의 무게가 아닙니다. 돈을 아예 쥐지 않으면 그 문제들의 대부분이 애초에 생기지 않습니다. AI의 추천이어도 맞는 추천은 맞다고 적어둡니다.
가장 약한 고리: 셀피는 속일 수 있다
이 글에서 가장 정직해야 할 부분입니다. 셀피 체크인은 뚫립니다. 다른 사람이 대신 찍을 수도 있고, 마음먹고 속이려는 사람을 기술로 다 막을 방법을 저는 아직 찾지 못했습니다.
생각해 보면 음주측정기 시절에도 '캡처해서 보내기'는 기술적으로 허술했습니다. 그런데도 작동했던 건, 캡처를 받는 쪽이 친구였기 때문일 겁니다. 속이려면 속일 수 있었지만, 친구를 속이는 비용이 벌금보다 컸던 거죠. 앱은 그 친구의 자리를 대체해야 하는데, 그게 기술 문제가 아니라는 걸 만들수록 알게 됩니다. 이 부분은 아직 고민 중이라고만 적어두겠습니다.
선 하나
분명히 해둘 것이 있습니다. 가벼운 절주 다짐에는 이런 장치가 도움이 될 수 있지만, 알코올 의존이 의심되는 수준이라면 이건 앱의 영역이 아닙니다. 전문 상담과 치료가 먼저입니다.
지금은 제가 사용자 1호입니다. 음주측정기와 친구로 조립했던 그 장치가 앱이 되어도 작동하는지, 제 몸으로 먼저 확인하고 있습니다.