
모임 총무 은퇴하고 싶어서 정산 앱을 만들었습니다 (SettleUp)
정산 계산 + 복불복 룰렛까지 한 앱에. 회원가입 없이 링크 열면 바로 됩니다.
자랑 포인트
- 최소 송금 알고리즘 — 차액 표시가 아니라 그리디 매칭으로 송금 횟수를 최소화해 "지수 → 철수 29,500원"처럼 콕 집어 보여줍니다.
- 정산 + 복불복 통합 — 룰렛/사다리타기 당첨자가 전액 몰빵하도록 정산에 즉시 반영되는 "몰빵 모드"가 술자리 분위기를 책임집니다.
- 서버 없는 클라이언트 사이드 — localStorage 기반이라 회원가입·로그인 없이 링크 열면 바로 쓰고, 운영비 제로로 무한 확장됩니다.
친구들 모임에서 제가 만년 총무입니다. 술자리 끝나면 다들 택시 잡는데 저 혼자 남아서 영수증 붙잡고 "지수가 7만원 냈고 민석이는 2차부터 왔으니까..." 이러고 있어요. 다음날 단톡방에 정산 올리면 꼭 한 명이 "나 그거 안 먹었는데?" 합니다. 하... 그래서 만들었습니다. SettleUp이라고, 정산이랑 복불복을 한 방에 하는 앱이에요.

멤버 이름 넣고(동물 이모지가 자동으로 붙는데 이게 귀여워서 다들 좋아함), 지출별로 누가 냈고 누가 참여했는지 체크하면 끝입니다. "술 안 마신 애는 술값에서 빼기" 같은 것도 지출 단위로 참여자를 고를 수 있어서 깔끔하게 처리돼요. 이 기능 없는 정산앱 쓰다가 열받아본 분들은 뭔지 아실 겁니다.
계산 결과는 그냥 차액만 던져주는 게 아니라 "지수 → 철수 29,500원" 이렇게 누가 누구한테 얼마 보내면 되는지, 송금 횟수를 최소로 줄여서 알려줍니다. 4명 모이면 보통 두 번이면 끝나요. 이거 짜는 데 그리디 매칭을 썼는데, 알고리즘 공부가 실생활에 도움된 몇 안 되는 사례입니다ㅋㅋ

그리고 복불복. 정산 화면에서 룰렛 탭으로 넘어가면 멤버들이 자동으로 룰렛판에 올라가 있습니다. 4초 동안 감속하면서 도는데 이 긴장감이 술자리에서 진짜 잘 먹힙니다. 사다리타기도 있고요. 당첨자한테 오늘 지출 전부를 몰빵하는 모드도 있는데, 이거 켜는 순간 분위기 터집니다. 당사자 빼고요. (마음 바뀌면 해제도 됩니다)
정산 결과는 영수증 모양 텍스트로 복사돼서 단톡방에 바로 붙여넣으면 되고, 모임 여러 개를 동시에 관리할 수도 있습니다.

서버 없습니다. 전부 브라우저 localStorage에서 돌아가서 회원가입도 없고 데이터가 어디 올라가지도 않아요. React 19 + Vite + Tailwind로 만들어서 Vercel에 정적 배포했더니 운영비 0원. 이런 도구는 이렇게 가볍게 가는 게 맞는 것 같습니다.
UI는 영수증 컨셉으로 잡았어요. 카드 모서리에 톱니 넣고 절취선에 점선 넣고. 이런 디테일은 아무도 안 알아봐주는데 혼자 뿌듯합니다.
다음 모임 때 한번 써보세요. 링크 열고 바로 쓰면 됩니다. 저희 모임은 이제 정산 시비가 사라져서, 제가 드디어 총무 같지 않은 총무가 됐습니다.
아, 데이터가 브라우저에만 있으니까 폰 바꾸면 기록이 날아간다는 건 미리 말씀드립니다. 어차피 모임 끝나면 버리는 데이터라 저는 불편한 적이 없었는데, 혹시 몰라서요. 장기 보관이 필요하다는 분이 많으면 내보내기 기능 정도는 붙여볼 생각입니다.