TL;DR
- Claude Opus 5.5를 활용해 사진 속 상품을 식별하고 재판매 가격을 추정하는 아이폰 앱을 나흘 만에 구축함.
- 먼저 두 시간 동안 사용자 흐름과 기술 선택을 정리한 계획 문서를 만들고,
Expo·React Native·Supabase를 중심으로 앱을 구현함. - 첫 버전은 약 두 시간 만에 완성됐지만, 실제 사용 후 음성 피드백을 전달하며 화면과 기능을 반복 개선함.
- 실제 사진 33장으로 에이전트가 자체 벤치마크를 구성한 결과 정확도가 약 80%에서 99%로 높아졌고, 누락률은 약 19%에서 1%로 줄었으며 API 호출 비용은 약 4달러였음.
- 모델이 코드를 빠르게 작성해도 앱의 요구사항을 판단하는 일은 대신하지 못하므로, 직접 시험하고 사용 경험을 바탕으로 개선점을 설명하는 과정이 중요함.
먼저 계획 수립
- Claude와 두 시간 동안 계획 세션을 진행하며 앱의 비전을 설명하고, 합의한 내용을 정기적으로 계획 문서에 정리함.
- 기본 사용자 흐름부터 사용할 서비스와 운영 비용 절감 방안까지 주요 결정을 검토함.
- 계획 문서는 Claude Code가 작업할 기준이 됐으며, 에이전트가 자체 판단으로 요구사항을 만들어내는 일을 줄이고 하위 에이전트가 개별 작업을 전체 계획과 대조하는 데도 쓰임.
- 계획에 담은 내용은 앱의 목적과 대상, 앱을 여는 순간부터의 사용자 흐름, 디자인 방향, 기술 결정임.
- 소프트웨어 엔지니어로서 구현 방식에 대한 의견은 있었지만 기술 세부 사항에는 많은 시간을 쓰지 않고 주로 사용할 서드파티 서비스를 골랐음. 비용을 어디에 쓸지는 에이전트가 아니라 직접 결정하는 편이 좋다는 판단임.
- 최종적으로
Expo와React Native앱, 백엔드와 데이터베이스용Supabase를 선택하고 인공지능 기능에Google Gemini와Jev등의 API를 추가함. 앱은 인공지능을 감싼 래퍼가 아니라 99%가 자체 앱 로직임. Supabase는 복잡한 동작을 이해하기 쉬운 시스템으로 추상화해 에이전트가 설정, 마이그레이션, 아키텍처에서 실수하는 경우가 크게 줄어드는 선택임. 테스트에 에이전트를 투입해도 부담이 적을 만큼 저렴하고, 무료 요금제도 앱이 완성될 때까지 사용할 수 있을 정도로 넉넉함.
다음은 구현
- 계획을 마친 뒤 Claude Code의 자동 모드에 문서를 전달하고 계획에 따라 앱을 만들라고 요청함. 돌아왔을 때 문제없이 쓸 수 있기를 바란다는 말도 덧붙였지만, 그 표현이 결과에 실제로 영향을 줬는지는 알지 못함.
- 약 두 시간과 8,000줄의 코드 작성 뒤 여자친구가 원하던 앱이 사용 가능한 상태로 완성됨. 음성 메모에서 설명한 구조와 구성이 거의 그대로 반영됐고, 테마나 스타일을 지정하지 않았는데도 선호하는 표준 애플 디자인을 적용함.
- 일부 복잡한 화면은 다소 어색했지만, 세부 조정은 반복 개선 단계로 미룸.
- 아이폰에 앱을 설치해 물건을 촬영하며 인식 기능을 시험한 결과, 상품 인식은 대체로 작동했지만 검색 매칭은 조정이 필요했음. 같은 상품이 아니라 비슷한 상품이 일관성 없이 나타나 가격 추정도 빗나갔음.
- 그래도 파트타임 코딩으로 3~6개월 걸릴 일을 건너뛴 셈이라 초기 결과에 실망하지 않았음.
- 초기 결과에 들떠 Claude에게 다음과 같이 칭찬을 전달함.
작동하고 정말 놀라워, Claude. 지금까지 맡긴 일 가운데 가장 인상적이야. iOS 앱처럼 보이고, 완벽하게 작동해. 정말 잘 만들었고 수정 없이 첫 시도에 작동해. 스스로에게 박수를 보내도 돼.
- 실제로는 완벽하게 작동하지 않았고, 당시에는 그저 결과에 들떠 있었음. 평소 모델을 사람처럼 대하지는 않지만 이번에는 그럴 만하다고 느낌.
마지막으로 반복 개선
- 첫 번째 버전은 초안이며, 사람만의 감각을 더하는 개선 과정이 중요함. 첫 결과에 만족한다면 여기서 멈출 수도 있지만, 완성도를 높이는 일은 별도의 작업임.
- 앱 전체를 둘러보며 눈에 보이는 문제와 원하는 결과를 설명하는 음성 녹음을 시작함. 에이전트가 이해할 수 있도록 표현을 신중히 골랐으며, 레이아웃 변경, 상호작용 방식, 주요 동작의 애니메이션과 소리, 까다로운 검토자가 제기할 만한 불만 등 약 10가지 문제를 다룸.
- 5분 녹음을 에이전트에 바로 전달함. 에이전트는 컴퓨터의 도구로 음성을 텍스트로 변환하고 몇 가지 질문을 한 뒤 작업을 시작했으며, 약 한 시간 반 뒤 원하는 모습과 기능에 가까워진 앱을 돌려줌.
- 알고리즘 문제는 계속 남아 있었고, 앱을 실제로 사용한 뒤에야 정확한 원인을 파악함. 문제가 발생한 상황과 관찰한 점, 당시 살펴본 데이터를 구체적으로 설명하는 녹음을 한 번 더 전달함.
- 에이전트는 사례를 바탕으로 데이터베이스에서 잘못된 결과를 찾아 알고리즘이 실수하는 지점을 추적함. 핵심 부분을 크게 바꿔야 했으므로 먼저 계획을 세우게 했고, 제안된 내용을 검토한 뒤 진행을 지시함.
- 에이전트는 약 두 시간 동안 앱을 수정하고 직접 테스트하며 결과가 나아지는지 확인함.
- 이어서 실제 촬영 사진 33장을 검색에 투입해 결과를 측정하는 자체 벤치마크를 만들게 함. 이 작업이 가장 큰 차이를 냈으며, 정확도는 약 80%에서 99%로 높아지고 누락 결과는 약 19%에서 1%로 줄었음.
- 사진 33장은 작은 테스트 집합이므로 해당 수치는 입증이 아니라 긍정적인 신호로 봄. 전체 작업의 API 호출 비용은 약 4달러임.
- 지금도 실제 환경에서 앱을 사용하며 취약한 부분을 찾고 에이전트에 전달함. 사용하고, 바꿀 점을 알아차리고, 명확하게 설명하는 반복 과정이 현재 작업의 대부분이며 이 과정을 건너뛰지 말아야 함.
반복 개선으로 추가한 기능
- 스캔한 상품의 그리드 보기와 목록 보기.
- 정확히 일치한 상품, 비슷한 상품, 일치 항목이 없는 상품을 확인하는 빠른 필터 버튼.
- 검색 알고리즘을 시간과 테스트에 따라 개선할 수 있도록 결과 페이지에 좋아요와 싫어요 버튼.
- 상품 상세 정보 간소화. 인공지능은 정보를 반복하고 말을 길게 늘어놓는 경향이 있어 내용을 줄이고 다시 구성하는 방식이 도움이 됨.
결론
- 앱은 계획 세션에서의 긴 설명으로 시작해 나흘 뒤 아이폰에서 쓸 수 있는 상태가 됐으며, 실제로 사용할 때마다 조금씩 나아짐.
- 첫 빌드는 기대감을 줬지만, 현재 버전은 상상했던 방식대로 작동함. 모델은 자리를 비운 동안 2만 줄의 코드를 작성할 수 있어도 앱이 어떤 모습이어야 하는지는 알지 못함.
- 앱을 직접 시험하고 다른 사람이 사용할 때 어떤 경험을 할지 생각하는 일은 사람의 몫임. 의도적인 디자인이 새로운 시대의 기준임.
- 다만 코딩 경험 없이 이런 방식으로 앱을 만드는 일은 권하지 않음. Claude Code와 Git 저장소만으로 진행하면 문제가 생길 여지가 큼.
- 기술에 익숙하지 않다면
Lovable,Replit,Base44같은 도구가 시작점으로 더 적합함. 에이전트에 자체 지침을 제공하고 표준 도구 구성을 대신 선택하며, 버튼 한 번으로 실행할 수 있는 인터페이스를 제공함. - Claude Code에서는 이런 설정을 직접 해야 하지만 비용이 더 낮고 모든 것을 직접 제어할 수 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요