내가 바이브코딩에 본격적으로 관심을 갖게 된 것은 그리 오래되지 않았다. Gemini AI Pro를 3개월 동안 무료로 사용할 기회가 생겼고, Antigravity라는 IDE를 이용해 몇 가지 작은 토이 프로그램을 만들어봤다. AI에게 원하는 기능을 설명하고, 만들어진 결과를 실행해보고, 오류가 나면 다시 수정하는 식이었다.
예전에 개발을 한 경험은 있지만 직접 개발에서 손을 놓은 지는 오래됐다. 그래서 기본적인 개발 개념은 알고 있었지만 Flutter나 Dart 같은 최신 앱 개발 환경은 낯설었다. 그런데 토이 프로그램 몇 개를 만들어보니 생각보다 재미있었다.
“이 정도면 실제로 쓸 수 있는 앱 하나쯤 만들어볼 수 있지 않을까?”
그런 자신감이 생겼다.
Gemini와 Antigravity에서 Claude까지
바이브코딩에는 Claude가 가장 좋다는 이야기를 듣고 2026년 6월 6일 가입했다. 처음 일주일은 무료로 사용했고, 이후 Pro 요금제를 한 달 구독했다.
Visit Korea Helper의 개발은 대부분 Claude와 함께 진행했다. 필요할 때는 Codex도 이용했고, 화면과 디자인을 고민할 때는 Stitch도 활용했다.
돌이켜보면 Gemini와 Antigravity는 바이브코딩의 가능성을 처음 경험하게 해준 출발점이었다. Claude는 주력 개발자, Codex는 또 다른 개발자, Stitch는 디자이너에 가까웠다. 예전 같으면 혼자 막막하게 검색하고 예제를 따라가며 시작했을 일을, 이번에는 여러 AI 도구와 역할을 나누어 진행한 셈이다.
무엇을 만들 것인가가 더 어려웠다
그런데 문제는 뭘 만들 것인가였다.
그러다 예전에 알게 된 공공데이터포털이 떠올랐다. 정부와 공공기관이 공개한 데이터를 잘 활용하면 단순한 연습용 프로그램이 아니라 실제로 쓸 만한 앱을 만들 수 있을 것 같았다.
처음 생각한 것은 아주 단순했다.
외국인이 한국에서 가까운 화장실과 약국을 쉽게 찾을 수 있게 해보자.
그런데 공공데이터를 찾아보다 보니 쓸 만한 것이 더 있었다. 응급의료기관, 경찰서와 파출소 같은 치안시설, 관광안내소, 재한공관, 무료 와이파이까지 하나씩 추가됐다.
처음에는 화장실과 약국 정도였던 앱이 어느새 약 14만 건의 장소 데이터를 담고, 7개 언어를 지원하는 앱이 됐다. 별도의 서버를 운영하지 않고 가공한 데이터를 SQLite 데이터베이스에 담아 앱에 포함하는 방식으로 만들었다.
바이브코딩의 장점과 함정
바이브코딩의 장점은 아이디어를 빠르게 구현해볼 수 있다는 것이다.
하지만 단점도 비슷했다. 만들 수 있을 것 같으니 자꾸 만들게 된다.
현재 이용 가능한 장소만 보는 기능, 장소 저장, Google 지도와 네이버지도 길찾기, 다국어, 다크모드, 광고와 인앱 업데이트까지 기능이 점점 늘어났다. 처음에는 앱 화면과 기능 구현이 가장 어려울 줄 알았다. 막상 해보니 내게는 데이터가 더 어려웠다.
공공데이터라고 해서 그대로 앱에서 사용할 수 있는 것은 아니었다. 화장실 데이터 중에는 좌표가 없는 것도 있어 주소를 좌표로 변환해야 했다. 약국은 요일별 운영시간을 정리해야 했고, 대사관은 주소만으로 위치를 찾지 못하는 경우도 있었다.
특히 화장실 운영시간은 ‘24시간’, ‘상시’, 평일과 주말의 서로 다른 시간 등 표현 방식이 제각각이었다. 사람이 보면 이해할 수 있지만, 앱이 지금 이용할 수 있는지를 판단하려면 이런 데이터를 따로 해석해야 했다.
결국 여러 공공데이터를 수집하고 정리하는 Python 파이프라인까지 만들었다. 앱을 만드는 일이라고 생각했지만, 실제로는 데이터를 믿을 수 있는 형태로 다듬는 일이 큰 비중을 차지했다.
AI가 한 일과 내가 한 일
물론 AI에게 한 번 설명했다고 앱이 완성된 것은 아니다.
기능을 요청하면 AI가 만들고, 나는 스마트폰에서 실행해봤다. 문제가 있으면 다시 설명하고, 스크린샷을 보여주고, 수정했다. 하나를 고치면 다른 부분에 문제가 생기기도 했다. 이 과정이 계속 반복됐다.
바이브코딩은 AI에게 한 번 말하면 프로그램이 나오는 마법이라기보다, 빠른 속도로 만들고 확인하고 다시 고치는 과정에 가까웠다.
그렇다면 이 앱은 AI가 만든 것일까, 내가 만든 것일까.
AI가 코드를 작성한 것은 맞다. 하지만 무엇을 만들지 정하고, 어떤 데이터를 쓸지 선택하고, 실제 스마트폰에서 테스트하고, 어떤 기능을 넣고 뺄지 결정한 것은 나였다.
그래서 지금은 이렇게 생각한다. AI는 개발자 역할을 했지만, 무엇을 만들고 무엇을 버릴지를 결정한 것은 나였다.
출시 과정은 또 다른 현실이었다
앱 개발이 어느 정도 끝나자 이제 Google Play에 올리면 되는 줄 알았다. 그런데 출시도 만만치 않았다.
개인 개발자가 앱을 정식 출시하려면 12명 이상의 테스터를 모아 14일 동안 비공개 테스트를 진행해야 했다. 처음에는 12명 정도는 쉽게 모을 수 있을 줄 알았다. 막상 해보니 그렇지 않았다.
Google 그룹에 먼저 가입하고, 별도의 테스트 링크를 눌러 앱을 설치한 뒤 14일 동안 유지해야 했다. 개발에 관심이 없는 친구와 지인들에게 이 과정을 하나씩 설명하며 부탁해야 했다.
앱을 만들 때는 Claude와 Codex가 도와줄 수 있었고, 디자인은 Stitch가 도와줄 수 있었다. 하지만 테스터 12명은 AI가 대신 구해줄 수 없었다.
그렇게 12명 이상의 테스터를 모으고 14일을 채운 뒤, 2026년 7월 5일 드디어 프로덕션 액세스 승인을 받았다. 그리고 곧바로 Visit Korea Helper를 정식 출시했다.
내가 만든 앱을 내가 써본 순간
재미있는 일은 그다음에 생겼다.
이 앱은 원래 외국인을 위해 만들었다. 그런데 출시 직후 일요일 밤 8시쯤 집 근처에서 문을 연 약국을 찾아야 할 일이 생겼다.
평소 같았으면 지도에서 약국을 하나씩 찾아 운영시간을 확인했을 것이다. 이번에는 내가 만든 앱을 열었다. 약국을 선택하고 지금 이용할 수 있는 곳만 보이도록 하니 문을 연 집 근처 약국을 쉽게 찾을 수 있었다. 실제로 그 약국까지 찾아갔다.
그때 조금 묘한 기분이 들었다. 내가 만든 앱을 Google Play에 출시했다는 사실보다, 그 앱이 실제 생활에서 나에게 도움이 됐다는 것이 더 반가웠다.
처음에는 외국인을 위한 앱이라고 생각했지만, 늦은 시간 문을 연 약국이나 지금 이용할 수 있는 화장실을 찾는 것은 한국인에게도 충분히 유용했다.
적어도 한 가지는 확인했다. 내가 만든 앱은 실제로 쓸모가 있었다.
앱을 만드는 일과 쓰이게 만드는 일
물론 현실은 아직 소박하다. 출시한 지 하루밖에 지나지 않았고 설치 수는 아직 10+ 정도다.
앱을 만드는 동안에는 오류 하나, 기능 하나에 온 신경을 썼지만 막상 출시하고 보니 아무도 이 앱의 존재를 모른다. 이제야 알겠다. 앱을 만드는 것과 사람들이 그 앱을 사용하게 만드는 것은 완전히 다른 일이다.
바이브코딩은 오랫동안 직접 개발하지 않았던 나에게 다시 무언가를 만들어볼 수 있는 기회를 줬다. 예전에는 아이디어가 있어도 직접 개발하려면 부담이 컸다. 이제는 AI와 함께 일단 만들어보고, 실행해보고, 개선할 수 있게 됐다.
물론 AI가 모든 것을 대신해주는 것은 아니다. 무엇을 만들지 정해야 하고, 결과를 확인해야 하고, 잘못된 방향으로 가면 다시 돌려야 한다. 그리고 테스터 12명은 여전히 직접 구해야 한다.
그래도 처음 Antigravity에서 토이 프로그램 몇 개를 만들며 했던 생각,
“나도 앱 하나쯤 만들 수 있지 않을까?”
라는 질문에는 이제 답할 수 있을 것 같다.
결국 해보니, 되기는 됐다.
Visit Korea Helper 설치 링크
Visit Korea Helper가 궁금한 분은 아래 Google Play 스토어에서 직접 설치할 수 있다.
아직 첫 출시라 부족한 점도 많을 것이다. 하지만 나처럼 일요일 밤에 문을 연 약국을 찾거나, 급하게 화장실을 찾을 때 조금이나마 도움이 될 수도 있다.
직접 사용해보고 불편한 점이나 오류, 추가됐으면 하는 기능이 있다면 피드백을 남겨주면 좋겠다. 첫 앱은 그렇게 조금씩 더 나아지는 중이다.