Happy Clauding with Claude Code
[ 들어가는 말 ]
0. Pitch 1024 (since 2024.10)
피치파이프앱 Pitch 1024을 개발한지 이제 거의 1년이 되어가네요. ('24.10월)
다운로드 횟수도 1000회를 넘기고, 이후 Apple Watch 및 Galaxy Watch 버전까지 출시하는 재미있는 여정이 이어졌습니다. :)
. Android Phone + Watch : https://play.google.com/store/apps/details?id=ai.chardonn.pitch1024
. iPhone : https://apps.apple.com/us/app/pitch-1024/id6736433978
. AppleWatch : https://apps.apple.com/us/app/pitch-1024-watch-edit/id6748270433
1. 이번에는 피치파이프에 이어서 그 형제 앱으로, 메트로놈 앱 PULSE 1024를 개발하였습니다. :)
작년에 개발했을 때에는 OpenAI o1-preview 모델을 주로 사용했는데, 이번에는 당연히(?) Claude Code를 활용했고, 똑같이 AI를 활용하며 유사한 앱을 개발했지만, 불과 1년 사이에 얼마나 많은 변화가 있었는지 체감하는 계기가 되어서 이번 앱 개발기도 남겨놓습니다.
* PULSE 1024 앱 링크 (이번에도 당연히 무료입니다 ;) )
. Android Phone : https://play.google.com/store/apps/details?id=ai.chardonn.pulse1024
. iPhone : https://apps.apple.com/kr/app/pulse-1024/id6751897453
[ 이번에 Claude Code로 개발하면서 느낌 점들. ]
작년 Pitch 1024는 사실상 메인페이지 파일 1개로 개발한 것이나 다름없기 때문에, OpenAI o1-preview로 개발하면서 파일을 복붙하는 과정이 크게 번거롭지 않았습니다. 그러나, 이번 Pulse 1024의 경우에는,
TIME SIGNATURE, BPM 조절, 손가락으로 탭탭하면서 BPM 설정하는 TAP TEMPO 기능, (장상인님이 거의 1년 전에 언급했던 ^^;;) 음가 설정 (Pitch selection) 기능까지 들어가야 했기 때문에, 사실은 그 안에 들어가는 기능이 보다 많았습니다. 따라서, 작년처럼 AI와 모듈간 복붙을 반복하면서 개발했으면 더 많은 시간이 들어갔을 것입니다.
하지만, 이제는 Claude Code와 함께 이번에도 수월하게 개발하였습니다.
1. 활용한 AI툴 변화 #1 (LLM : OpenAI o1-preview --> Claude Code)
즉, 작년에는 아래와 같이 개발해서 복붙하는 일이 이어졌는데,
올해는 코드베이스를 Claude Code가 직접 이해하고, 직접 편집하도록 함으로써 그 복붙조차 할 필요가 없어졌습니다.
2. 활용한 AI툴 변화 #2 (Icon Design : Midjourney --> Gemini Nano Banana)
불과 한달전까지만 해도 가장 마음에 드는 이미지 생성 툴은 개인적으로 MidJourney였고, 물론 지금도 그 고유의 예술적인 느낌을 좋아하는 편입니다만,
최근 구글에서 발표한 Nano Banana 는 프롬프트에 충실하게 이미지를 생성해내는 능력이 정말 뛰어나보입니다. 따라서, 이번에는 앱 아이콘 개발을 아래와 같이 진행했습니다.
Claude Code는 이미 프로젝트에 대한 내용을 충분히 잘 이해하고 있기 때문에, 추가적인 맥락에 대한 설명 필요 없이 앱 배포를 위한 Icon Design 아이디어를 달라고 편하게 요청하였고,
이를 Gemini Nano Banana에서 실행해서 내 Taste에 딱 맞는 icon을 생성해냅니다. (구글느님 감사...!)
3. 그리고, 마지막으로 이 얘기를 꼭 하고 싶었는데요, Claude Code는 나의 요구사항 안에서 정말 멋지게 수행해내는 동료이지만, 요구사항의 수준을 높이는 것은 결국 우리 작업지시자들의 몫입니다.
예를 들면, 작업 초반 아웃풋은 아래와 같았습니다. Pitch UI도 마음에 들지 않았고, Volume 컨트롤은 redundant한 기능이었고, Play Button과 Beat Display가 따로 있는 것도 마음에 들지 않았죠.
마찬가지의 예시인데, 이건 화면으로 보여드릴 수는 없지만,
프로젝트 초반에는 음파인 Sine Wave가 갑자기 종료되면 '퍽'하는 소리가 나게 됩니다. 이런 부분들도 세심하게 지시를 하면, 음향학의 문제라면서 (지시 전에 알아서 고치지는 않고) 결국 수정해냅니다.
결국, 원하는 아웃풋을 끌어내는 것은 우리들의 몫인 점 다시한번 강조하고 싶었습니다.
4. 기타 사용 팁
지난달에 Claude Code $100 Max요금제를 사용했는데, 한달이 약간 고통스러웠습니다. Claude Code의 Rate Limit을 채우지 못하면 뭔가 제가 충분히 활용하지 못한 듯한 죄책감이 강했기 때문입니다. ^^;
이번 달에는 다시 $20 Pro 요금제로 돌아왔는데, Sonnet 4.1은 빠른 속도로 지시한 내용을 수행하는 것은 손색이 없지만, Opus 4.1의 Plan Mode에서의 조언을 듣지 못하는 부분이 아쉬웠습니다.
그래도 길은 항상 있습니다. 그만큼은 아니어도 비슷한 수준의 조언을 듣는 방법으로, Claude Desktop에서 Opus4.1을 설정하고 해당 폴더 내용에 대해서 의견을 물어보면, 충분한 조언을 얻어낼 수 있고, Claude Desktop에서 직접 Edit File까지 하면서 수정을 시키는 방법도 있었습니다.
아래와 같이 특정 폴더명을 지칭하면서 작업 요청을 하면 파일을 읽고 내가 원하는 방향의 작업을 진행합니다.
[ 맺음 말 ]
이상 이번 Pulse 1024 개발하면서 느꼈던 점 및 작은 팁 공유합니다.
개인적인 생각으로, 개발자들은 이정도면 사실상 AGI를 이미 맞이했다고 생각합니다. 이번 Pulse 1024 또한 AI를 활용해서 우리가 평소에 갖고 있던 수많은 문제들을 누구나 해결할 수 있는 시대가 되었다는 것을 보여드릴 수 있는 것 같습니다. 이번에도, 메트로놈에 Pitch 기능이 있었으면 좋겠다는 훌륭한 뮤지션 친구 MAYTREE의 장상인님의 한마디가 여기까지 이어졌습니다. 이제 문제 해결 비용은 점차 낮아지고 있기 때문에, 이와 같은 좋은 문제정의가 더욱더 귀해지고 있습니다.
물론, 무료로 만들었습니다. ;) 저도 뮤지션 정체성을 잃지 않고 있기 때문에, 우리가 직접 사용할 앱을 만듦으로써 커뮤니티에 작은 기여가 되기를 바라는 마음입니다.
* 덧. 1024는 아카펠라 그룹 "인공위성"에 대한 음차로 오마주이면서, 엔지니어들이 좋아하는 2^10=1024에서 왔습니다. :)
긴 글 읽어주셔서 감사합니다. ^^