✋ 들어가며
지난번엔 웹 사이트를 만들었고 이번엔 Flutter 앱을 만들었다.
운전면허 필기시험 앱 빵빵이다. 코딩을 했냐고? 진짜로 한 글자도 안 했다.
☀️ 뭘 만들었나
도로교통공단에서 제공하는 문제은행 1000문항을 기반으로 한 운전면허 필기시험 앱이다.
단순히 문제를 보여주기만 하는 게 아니다.
- 학습 모드 - 문제를 풀면서 배운다
- 실전 모의고사 - 실제 시험과 동일한 시간 제한과 채점 기준으로 푼다
- 오답노트 - 틀린 문제만 따로 복습한다
- 내 기록 - 풀었던 모의고사 결과를 확인한다
그리고 이 모든걸 Flutter로 만들었다. (클로드가) iOS와 Android 배포가 목표이기 때문에 Flutter를 선택했다.
📄 PDF가 JSON이 되기까지
도로교통공단에서는 아쉽게도 문제은행을 PDF로만 제공한다. 앱에서 사용하려면 JSON으로 바꿔야 한다. 그래서 Claude에게 PDF 파일을 주고 "이걸 JSON으로 파싱해줄래?"라고 말했다.
결과물이 나왔다. 1000문항이 깔끔하게 정렬돼 있었다. 처음엔 "오, 이 정도면 되겠는데?"라는 생각이 들었다.
자세히 들여다보니 문제가 있었다.
- 특수문자가 깨져 있고
- 줄바꿈이 이상하고
- 이미지 매핑도 틀렸다
한 번에 고쳐지지 않는 오류들이었다.
💣 AI를 활용해서 비정상적인 패턴을 찾아내고 수정하기를 반복하는 중에
나 역시 AI가 찾아내지 못하는 패턴들을 발견하고 피드백을 반복했다.
내가 "보기가 중간에 끊어진 문제 찾아줄래?"라고 말하면 Claude는 1000문항을 다시 훑으면서 정확히 그 패턴을 찾는다. 그리고 수정한다. 이 과정을 계속 반복했다.
직접 했으면? 1000문항을 눈으로 다 봐야 했을 일이다. 생각만 해도 진이 빠진다.
🎨 디자인도 그저 대화로
디자인을 직접 할 생각도 능력도 없었다. 그래서 다른 앱들을 몇 개 보고 Claude에게 말했다.
"이 앱처럼 탭 구조로 만들어줄래?"
"이 앱의 색상이랑 컨셉이 좋아. 비슷하게."
Claude가 만들었다. 그 다음부턴 피드백의 반복.
"이건 너무 촌스러운데?"
"여기 여백 더 줘."
"버튼을 좀 더 둥글게 해."
"색깔을 이렇게 바꿔봐."무언가를 처음부터 만드는 게 아니라 Claude가 만든 초안을 기준으로 내가 원하는 방향으로 다듬는 거였다. 결국 내 역할은 기존 것을 개선하는 역할이었다.
🤖 개발은 폰으로
리눅스가 설치된 오래된 노트북에 claude-cli를 설치하고 Happy를 활용했다. 이 도구는 Claude Code를 모바일에서 제어할 수 있게 해준다. 시간이 날 때마다 폰으로 Claude에게 명령을 내리고 피드백을 줬다.
파일을 만들고, 코드를 작성하고, 빌드하고, 오류가 나면 고친다. 전부 Claude가 했다. 나는 화면을 보고 피드백만 했다.
"어? 이 부분이 좀 이상한데?"
"여기는 이렇게 하는 게 낫겠어."한 가지 깨달은게 있다면
나같은 토큰 거지들은 모델을 잘 선택해야한다는 것이다.
- PDF 파싱, 데이터 정리, 버그 수정 같은 반복적인 일 → Haiku (저비용)
- 앱 설계, 기능 구현, 암호화 같은 복잡한 일 → Sonnet / Opus (고비용)
왜? Haiku로 토큰을 아껴놔야 정작 필요할 때 Sonnet이나 Opus를 충분히 쓸 수 있기 때문이다.
⏱️ 3일이었다
프로젝트 기간은 정확히 3일이었다. 근데 내가 실제로 뭔가를 한 시간은? 몇 시간 정도였을 것 같다.
나머지 시간은 Claude 토큰이 떨어져서 기다렸다. 복잡한 작업을 위해 Opus를 썼는데, 토큰이 순식간에 떨어진다. 리셋될 때까지 기다렸다가 다시 시작하고, 또 떨어지고. 이 반복.
결국 AI가 너무 빨리 일해서 생긴 문제인 것 같기도하고.. 모르겠다.
🤔 개발 지식은 정말 필요 없나
완전히 필요 없는 것은 아닌 것 같다.
코드를 짜는 능력? 필요 없었다. 한 글자도 안 썼으니까. 근데 뭘 만들 건지 설명하는 능력은 필요했다. 명확하게 설명해야 AI가 이해한다.
결과물이 맞는지 판단하는 능력도 필요했다. 화면이 이상하면 알아야 고칠 수 있고, 데이터 구조가 잘못되면 눈에 띄어야 한다.
결국 역할이 바뀐 거다. 예전엔 코드를 짜는 사람이었고, 이제는 방향을 잡고 검토하는 사람이 됐다. 지식이 필요 없어진 게 아니라, 지식을 쓰는 방식이 달라졌다는 것이다.
👋 마치며
코딩이 두렵다고 앱 개발을 계속 미루고 있다면, 한번 해봐도 좋다. Claude Code 하나면 충분하다.
바이브코딩의 등장 때문인지 플레이 스토어와 앱스토어의 심사가 점점 까다로워지고 있다.
그래서 모두들 빠르게 시도해보길 추천하며.. 심사중인 앱 미리보기