혼자서, Claude와 함께 앱을 만드는 법
전업 개발자가 아닌 한 사람이 Claude와 함께 작고 하찮은 도구를 실제로 완성하기까지의 솔직한 기록.
저는 전업 개발자가 아닙니다. 본업이 따로 있고, 밤이나 주말 자투리 시간에 아이들과 가족, 제 생활을 위한 작은 도구를 만듭니다. 거창한 스타트업이 아니라, 그냥 '이게 있으면 우리 집이 좀 편해질 텐데' 싶은 것들을 하나씩 만들어 보는 정도예요. 그 대부분을 Claude Code라는 AI 코딩 도구와 함께 만듭니다. 오늘은 그 과정을 자랑이 아니라 있는 그대로, 잘 되는 것과 안 되는 것을 섞어서 적어보려 합니다.
기술이 아니라 진짜 문제에서 시작한다
제가 가장 많이 실수했던 부분이 여기였습니다. 새 라이브러리나 멋진 프레임워크가 눈에 들어오면, 그걸 '써보고 싶어서' 만들 거리를 찾곤 했어요. 그렇게 시작한 프로젝트는 거의 다 중간에 흐지부지됐습니다. 반대로 끝까지 간 것들은 전부 작고 구체적인 불편에서 출발했어요. 학원에서 온 숙제 문자를 매번 손으로 미리알림에 옮기기가 번거롭다, 아이 용돈을 어떻게 기록하고 돌려줄지 모르겠다 같은, 우리 집에서 실제로 겪은 일들이요. 도구를 먼저 정하지 말고, 내가 진짜로 겪는 짜증을 먼저 적어두는 습관이 절반은 먹고 들어갑니다.
평범한 말로 설명하고, 골격은 Claude에게 맡긴다
코드를 미리 머릿속에서 다 설계하려고 하지 않습니다. 그냥 사람한테 말하듯이 설명합니다. '학원 숙제 문자를 붙여넣으면, 어느 아이 건지 가려서 미리알림에 정리해 주는 웹페이지를 만들고 싶어.' 이 정도면 Claude가 기본 골격을 꽤 잘 잡아줍니다. 폴더 구조, 기본 화면, 버튼 동작까지요. 빈 화면 앞에서 막막해하는 시간을 없애주는 게 이 도구의 가장 큰 가치라고 느낍니다. 시작을 대신 끊어주는 거죠.
첫 답을 절대 그대로 믿지 않는다
이게 제일 중요합니다. Claude는 아주 자신 있게 틀립니다. 한번은 분명히 존재하는 명령어를 두고 '그런 명령은 없습니다'라고 단호하게 말하길래, 제가 한참을 제 잘못인 줄 알고 헤맨 적이 있어요. 터미널에 직접 쳐보니 멀쩡히 동작하더군요. 없는 함수를 그럴듯하게 지어내거나, 버전이 다른 API를 섞어 쓰는 일도 흔합니다. 그래서 저는 AI가 단정적으로 말할수록 오히려 한 번 더 직접 확인합니다. 자신감의 크기와 정확성은 별개라는 걸 비싸게 배웠어요.
확인하는 방법은 거창하지 않습니다. 직접 실행해 보고, 작은 부분이라도 테스트를 돌려보고, 의심스러운 코드는 한 줄씩 읽습니다. AI가 써준 코드라고 검토를 건너뛰면, 그건 내 코드가 아니라 그냥 내 프로젝트에 들어온 남의 코드일 뿐입니다.
맥락은 좁게, 작업은 잘게
한 번에 '앱 전체를 다 만들어줘'라고 던지면 결과가 산으로 갑니다. 대신 작게 나눕니다. 오늘은 문자 입력 화면만, 다음엔 아이 판별 로직만, 그다음엔 미리알림 등록만. 작업 단위가 작을수록 결과를 검토하기 쉽고, 틀렸을 때 어디가 틀렸는지 금방 찾습니다. 대화가 너무 길어지면 맥락이 흐려지니, 지금 다루는 한 가지에 필요한 정보만 남기고 나머지는 덜어냅니다. 사람이든 AI든, 한 번에 하나씩 부탁하는 게 결국 더 빠릅니다.
작게, 그러나 끝까지
이렇게 만든 도구들은 여전히 작고 서툽니다. 디자인도 투박하고 기능도 단출해요. 그래도 우리 집에서 실제로 쓰입니다. 그거면 충분하다고 생각합니다. 혼자서 무언가를 끝까지 만들어 본 경험은, 완벽한 코드보다 훨씬 오래 남더라고요. 만들면서 알게 된 것들은 따로 'How to Claude'라는 20강짜리 작은 코스로도 정리해 두었습니다. 다만 이 글 하나만으로도, 오늘 작은 도구 하나는 충분히 시작하실 수 있을 거예요.