와이프는 전부터 원하는 형태의 가계부를 만들어달라고 종종 말했다. 엑셀로라도 만들어달라는 부탁이었지만 예전에는 직접 만들 엄두가 나지 않았다.
생각이 달라진 계기는 첫 번째 안드로이드 앱인 Korea Travel을 플레이스토어에 출시한 경험이었다. 이제는 와이프가 원하는 가계부도 엑셀이 아닌 실제 앱으로 만들 수 있을 것 같았다. 2026년 6월 10일, 두 번째 바이브코딩 앱 개발을 시작했다.
하루 만에 만들고 첫날 AI를 뺐다
먼저 ChatGPT와 대화하며 기능을 정리하고 PRD를 만들었다. 그 문서를 Claude Code에 전달하자 하루 만에 기본적인 가계부 앱이 나왔다.
처음에는 자연어로 지출을 입력하려면 AI가 필요하다고 생각했다. “친구랑 고기 5만원”이라고 쓰면 AI가 금액과 내용을 분석해 카테고리까지 정하는 방식이었다.
직접 써보니 “커피 4500”, “마트 3만2천원”, “시장 이만오천원” 정도는 간단한 파서와 키워드 분류로 충분했다. AI 연동을 유지하려면 백엔드 서버와 API 비용, 운영 부담이 따라왔다. 결국 첫날 AI 기능을 제거했다.
AI로 개발하는 앱이라고 모든 기능에 AI를 넣을 이유는 없었다. 단순한 방식으로 풀리는 문제라면 그쪽이 더 나은 선택이었다. 가계부 데이터도 외부 서버로 보내지 않고 기기 안에 저장했다. 백업과 복원은 사용자가 파일로 직접 관리하도록 정했다.
이미 많은 가계부 앱 사이에서 정한 방향
가계부 앱은 이미 플레이스토어에 넘쳐난다. 첫 앱을 출시하며 앱을 만드는 것과 사용자를 얻는 일은 별개의 문제라는 사실도 알게 됐다. 돈기록장은 내가 실제로 쓰고 싶은 기능에 집중하기로 했다.
가장 먼저 지출 입력 단계를 줄였다. 여러 화면을 거치지 않고 “커피 5천원”처럼 입력하거나 음성으로 말하면 바로 기록된다.
구독 관리에는 OTT, 음악, AI 서비스, 인터넷, 통신, 렌탈처럼 반복되는 비용을 모았다. 다음 결제일뿐 아니라 무료체험과 할인 종료일, 해지 필요 여부도 함께 확인할 수 있게 했다.
경조사 관리도 넣었다. 축의금이나 부의금은 한날에 수백 건이 생길 수 있어 휴대폰으로 하나씩 입력하기 어렵다. 기존 엑셀 내역을 한꺼번에 가져오는 일괄 업로드 기능이 필요했다.
가계부를 계속 쓰게 만드는 장치도 고민했다. XP, 레벨, 배지, 연속 기록, 무지출 기록을 넣고 기록과 예산 확인, 구독 정리에 작은 보상을 주었다. 돈을 적게 썼다고 무조건 높은 점수를 주거나 예산을 넘겼다고 벌점을 주지는 않았다. 절약을 강요하기보다 기록 습관에 재미를 더하고 싶었다.
가장 중요한 사용자는 와이프였다
돈기록장은 완성한 뒤 와이프에게 보여준 앱이 아니다. 거의 초기 버전부터 와이프가 매일 지출을 기록하며 사용했다.
대표적인 피드백이 결제수단이었다. 카드인지 현금인지 함께 남기고 싶다는 의견을 받아 기능을 추가했다. 모든 사용자에게 필요한 항목은 아니라고 판단해 설정에서 켜고 끌 수 있게 했다.
불편한 점을 들으면 수정하고, 다시 사용한 결과를 확인한 뒤 또 고쳤다. 지금도 와이프는 돈기록장을 매일 쓴다. 처음의 “가계부 하나 만들어줘”라는 부탁이 실제 플레이스토어 앱으로 이어진 셈이다.
엑셀 업로드는 파일 읽기로 끝나지 않았다
경조사 일괄 등록은 예상보다 까다로웠다. 처음에는 엑셀 파일을 읽어 저장하면 된다고 생각했다. 실제 데이터를 넣자 중복 처리, 일부 행의 오류 안내, 잘못 올린 파일의 복구까지 필요했다.
그래서 데이터를 바로 저장하지 않고 신규·중복·오류 건수를 먼저 보여주도록 바꿨다. 잘못 가져온 내역은 업로드 회차별로 삭제해 이전 상태로 되돌릴 수 있게 했다.
이 기능을 만들며 파일 가져오기는 검증과 중복 처리, 복구까지 한 묶음으로 설계해야 한다는 것을 배웠다. 사용자가 수백 건의 데이터를 맡기는 기능이라면 정상 입력만 확인해서는 부족했다.
Claude Code와 ChatGPT를 교차 검증에 썼다
ChatGPT는 아이디어를 기능 단위로 정리하고 PRD의 빠진 부분을 찾는 데 도움이 됐다. 초기 앱의 큰 틀은 Claude Code가 만들었다. 이후에는 어느 하나만 고집하지 않았다.
한쪽이 기능을 구현하면 다른 쪽에 빠진 조건과 문제점을 물었다. 한 AI가 해결하지 못한 버그는 다른 AI에게 상황을 다시 설명했다. 경조사 일괄 업로드의 중요한 오류를 고칠 때는 ChatGPT가 특히 도움이 됐다.
내가 느낀 바이브코딩의 장점은 최고의 AI 하나를 고르는 데 있지 않았다. 서로 다른 AI의 결과를 교차 검증하는 방식이 더 효과적이었다. 최종 확인은 여전히 사람의 몫이었다. 실제 휴대폰에서 실행하고 데이터를 넣어 계산 결과까지 직접 확인해야 했다.
하루짜리 프로토타입이 두 달짜리 제품이 되기까지
돈기록장은 정식 출시 전에 Google Play 비공개 테스트를 진행했다. 2주간 테스트한 뒤 7월 27일 프로덕션 액세스를 신청했지만 테스트가 충분하지 않다는 이유로 반려됐다. 다시 14일을 테스트해야 했다.
처음에는 이미 2주나 했는데 또 해야 하나 싶었다. 추가 테스트 중 경조사 일괄 업로드에서 큰 오류를 발견하면서 생각이 바뀌었다. 그대로 출시했다면 사용자가 수백 건의 데이터를 가져오는 과정에서 큰 불편을 겪을 수 있었다.
바이브코딩으로 개발이 빨라져도 테스트 기간까지 줄여서는 안 됐다. 기능을 빠르게 많이 만들수록 직접 확인할 범위도 늘어났다. 실제 데이터를 반복해서 넣고 예상하지 못한 행동을 해보는 과정이 필요했다.
기본 앱은 하루 만에 만들어졌지만 구독과 경조사 관리, 결제수단, 홈 위젯, 수입 기록, 통계, 게이미피케이션을 다듬는 데 시간이 들었다. 앱 아이콘과 스토어 이미지, 개인정보처리방침, 앱 서명, 데이터 보안, 비공개 테스트도 준비해야 했다.
결국 2026년 8월 15일 돈기록장을 Google Play에 정식 출시했다. 하루 만에 프로토타입을 만들었고, 계속 사용할 수 있는 제품으로 완성하는 데는 두 달이 걸렸다.
첫 앱을 만들 때는 잘 만들면 많은 사람이 쓸 것이라고 기대했다. 직접 출시해보니 사람들이 앱을 발견하고 설치한 뒤 계속 사용하게 만드는 일이 훨씬 어려웠다. 두 번째 앱에서는 출시 직후의 숫자보다 실제 사용자의 피드백을 받아 오래 개선하는 쪽을 택했다.
바이브코딩을 시작한 지 몇 달 만에 와이프의 부탁을 두 번째 안드로이드 앱으로 만들었다. AI가 무엇을 만들지 정해주거나 필요 없는 기능을 대신 빼주지는 않았다. 사용자의 말을 듣고 결과가 제대로 동작하는지 판단하는 일도 내 몫이었다.
바이브코딩을 두 번 경험한 지금은 “앱을 만들 수 있을까?”보다 “어떤 앱을 만들 것인가?”를 먼저 생각한다. 와이프가 원했던 작은 가계부는 매일 사용하는 앱이 됐다. 돈기록장은 이제 막 출발선에 섰다.
세 번째 바이브코딩 앱, VibeTerms
두 번째 앱 다음에는 개발 중 직접 겪은 용어 장벽을 풀기 위해 바이브코딩 학습 앱을 만들었다. VibeTerms 개발기 읽기