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