25일 만에 MVP를 만들었지만, 처음부터 다시 시작합니다.
I built an MVP in 25 days. It works. But I'm starting over.
핵심 요약
AI 코딩으로 MVP를 완성했으나, 기초 지식 부족으로 인한 코드 엉망으로 전면 재개발을 결정한 경험담.
- 기초 지식 부재 — 코딩 문법은 AI가 해결해주지만, 앱 구조와 데이터 흐름을 모르면 결국 도박이 됨.
- 설계의 중요성 — 시각적 설계와 흐름을 미리 계획하지 않아 개발 도중 수많은 오류와 수정이 발생함.
- 기능 추가 자제 — 개발 도중 즉흥적인 기능 추가는 기존의 취약한 코드 구조를 더 망가뜨리는 원인이 됨.
- AI의 역할 — AI는 코드를 빠르게 짜주는 엔지니어일 뿐, 제품 관리와 아키텍처 설계는 사용자의 몫임.
유튜브에서 Google Antigravity 관련 크래시 코스를 보고 나도 앱을 만들 수 있겠다는 생각이 들었어.
간단히 내 소개를 하자면, 난 비즈니스맨이야. 마케팅, 영업, 재무는 자신 있지. 데이터 분석도 할 줄 알고, SQL도 쓰고, pandas랑 numpy도 다룰 줄 알아. 하지만 소프트웨어 개발, 앱 아키텍처, 엔지니어링? 아는 게 하나도 없었어. 그냥 괜찮은 앱 아이디어 하나랑 나머지는 어떻게든 해결할 수 있다는 자신감뿐이었지.
그래서 Google Antigravity를 다운로드하고 바로 시작했어. 디자인 계획도 없고, 코드베이스가 어떻게 생겼는지도 몰랐지. 그냥 바이브로 밀어붙였어.
25일 뒤, 앱은 기술적으로 작동은 해. 하지만 그 밑바닥 코드는 재앙 수준이야. 버그 하나 고치면 두 개가 더 생겨. 로직 하나 바꾸면 다른 기능이 고장 나. 이제는 건드리기가 무서워. 그래서 처음부터 다시 만들기로 했어.
- 실수 1, 아무것도 모르는 상태로 시작해서 대가를 치름
유튜브 영상은 너무 쉬워 보였어. "코딩 지식 필요 없음." 물론이지. 하지만 앱 구조가 어떻게 생겼는지, API가 어떻게 작동하는지, 데이터는 어디에 저장되는지, 버그를 어떻게 읽는지조차 알아야 한다는 말은 아무도 안 해줬어.
난 이걸 하나도 몰랐어. 그래서 문제가 생길 때마다, 그것도 끊임없이 생길 때마다 내가 뭘 보고 있는 건지조차 몰랐어. 그냥 AI가 제안하는 걸 승인하고 잘되길 바랄 뿐이었지.
그건 개발이 아니야. 도박이지.
- 실수 2, 디자인을 완전히 건너뜀
AI한테 내 로직을 주고 만들라고 했어. AI는 만들었지. 그리고 난 실제로 시각적으로 계획하지도 않은 것 위에 몇 주 동안 편집만 계속했어.
만약 화면을 먼저 디자인하고, 흐름을 실제로 앉아서 고민해봤다면 코드를 한 줄도 쓰기 전에 문제의 절반은 잡아냈을 거야. 너무 늦게 깨달았지.
- 실수 3, 개발 도중 계속 기능을 추가함
개발하다가 갑자기 '오, 이거 추가하면 멋지겠다' 싶은 생각 들 때 있잖아? 응. 그러지 마.
내가 추가한 모든 새로운 기능은 이미 취약해진 부분을 건드렸어. 그리고 모든 걸 더 엉망으로 만들었지. 사전 계획도 없고, 확정된 범위도 없고, 그냥 바이브뿐이었어. 나쁜 생각이었지.
- 실수 4, 잘못된 도구, 잘못된 선택
Stripe를 썼는데, 알고 보니 내가 필요한 방식으로 Google Play나 Apple App Store와 호환이 안 되더라고. 이걸 너무 늦게 알았지.
또 여러 LLM 호출을 섞어서 썼어. 하나는 GPT mini, 하나는 Gemini Pro, 아무런 구조도 없이 말이야. LangChain이 있는지도 몰랐고, RAG가 뭔지도 몰랐어. 개발 중간에 둘 다 알게 됐는데, 내 전체 아키텍처가 둘 다와 호환되지 않는다는 걸 깨달았지.
코드를 한 줄 쓰기 전에 이런 것들을 조사했어야 했어.
- V2에서 할 일
코드를 건드리기 전에 실제로 공부를 할 거야. 문법이나 for 루프 쓰는 법이 아니라, 앱이 어떻게 구조화되는지, 데이터베이스가 어떻게 작동하는지, API 호출 흐름이 어떤지, 기본적인 시스템 디자인 같은 것들을 말이야.
그리고 모든 걸 종이에 먼저 디자인할 거야. 모든 화면, 모든 로직 흐름, 모든 기능을 시작하기 전에 확정할 거야. 이번에는 개발 도중 기능 추가는 없어.
그다음에 빌드할 거야.
- 진짜 교훈
사람들이 바이브 코딩을 너무 과대포장하거나 완전히 깎아내리는 걸 봐서 분명히 말하고 싶어. 둘 다 틀렸어.

