[Claude Code] 이미 만든 앱을 재료로 썼더니, 31개 부대 점검확인서 앱이 하루 만에 나왔다

📝 한줄 요약

이미 만들어 둔 00교통공사 점검확인서 앱을 "재료"로 삼아, 군부대 31개소·344대용 점검확인서 앱을 하루 만에 만들고 실제 배포까지 끝냈습니다.

바쁘시면 이것만 읽어도 돼요:

Claude Code로 기존 앱을 분석시킨 뒤 재활용 가능 부분을 판정받고, 다른 고객사용 앱을 신규 제작 — 코드의 약 80%를 그대로 가져다 썼습니다

처음부터 "만들어줘"가 아니라 "어떻게 활용하면 좋을지 의견을 달라"고 물은 게 신의 한 수였습니다

AI가 먼저 4가지 선택지를 질문해줘서, 제가 미처 정하지 못했던 요구사항이 대화 중에 정리됐습니다

엑셀 목록 121줄을 순서대로 다시 배열하는 대신, AI가 규칙을 찾아내 정렬 로직 1줄로 해결했습니다

배포 중 권한 오류로 한 번 막혔는데, AI가 스스로 다른 경로를 찾아 우회했습니다

가장 든든했던 건 "됐습니다"가 아니라, 배포본과 원본의 해시를 대조해서 같다는 걸 증명해줬다는 점입니다

🎯 이런 분들께 도움돼요

고객사마다 양식만 조금씩 다른 문서 업무를 반복하고 있는 영업·관리 담당자

예전에 AI로 만들어 둔 결과물이 있는데, 그걸 다른 건에 어떻게 재활용할지 막막한 분

현장에서 손으로 쓰고 사진 찍어 보내는 확인서·점검표를 디지털로 바꾸고 싶은 분

개발자가 아니지만 "이 정도는 자동화되면 좋겠는데"를 자주 생각하는 분

😫 문제 상황 (Before)

B2G(정부·공공 조달) 영업을 하다 보면 매달 같은 일이 반복됩니다. 계약한 곳에 설치된 제품을 점검하고, 점검확인서를 작성해서 고객 도장을 받아야 정산이 됩니다.

이번 건은 규모가 만만치 않았습니다. 31개 부대, 총 344대. 부대마다 설치장소가 다르고(여단본부·소초·중대·OP…), 확인서는 부대별로 따로 만들어야 합니다. 즉 매달 확인서 31장을 각각 다른 내용으로 작성해야 한다는 뜻입니다.

기존 방식은 엑셀 양식을 부대 수만큼 복사해서, 설치장소를 일일이 옮겨 적고, 인쇄해서 현장에 들고 나가는 것이었습니다. 부대명 하나 잘못 넣거나 설치장소 순서가 어긋나면 그 장은 다시 만들어야 하고요.

💡 [작성자님 확인 필요] 기존에 확인서 31장을 만드는 데 실제로 몇 시간 정도 걸리셨는지 숫자를 넣으면 이 글의 설득력이 크게 올라갑니다. (예: "매달 반나절", "장당 20분씩 총 10시간")

마침 저는 00교통공사 공기청정기 점검확인서를 처리하는 웹앱을 Claude Code로 만들어 쓰고 있었습니다. 역·사업소를 고르면 기기 목록이 뜨고, 손가락으로 서명하면 구글시트에 자동 기록되는 앱이었죠. 이번 건을 받고 든 생각은 하나였습니다. "저걸 그대로 못 쓰나?"

양식이 완전히 같지는 않았습니다. 교통공사 것은 기기 하나하나 상태를 O/X로 체크하는 방식이었는데, 이번 군부대 양식은 부대 전체를 한 번에 체크하고 검수자·점검자 두 사람이 서명하는 구조였습니다. 그래도 뼈대는 비슷해 보였습니다.

🛠️ 사용한 도구

도구명: Claude Code

모델: Claude Fable 5 → 중간에 Claude Opus 5로 전환

특이사항: 브라우저 자동화 기능으로 AI가 직접 앱을 클릭하며 테스트했고, 배포와 GitHub 저장소 생성까지 대화 안에서 끝냈습니다

🔧 작업 과정

"만들어줘" 대신 "의견을 달라"고 물었다

가장 잘한 선택이 첫 질문이었습니다. 보통은 "이런 앱 만들어줘"라고 하지만, 이번엔 기존 자산을 어떻게 쓸지가 더 궁금했습니다.

질문, 다른 수요처 b2g 점검확인서를 만드는데 이번 건 30여개 사이트 별로 분리가 필요해

양식은 첨부가 같고 스마트 웹으로 부대명 30여개 선택하면 설치장소 리스트 보이고,

점검 및 세척, 필터교체 체크 조근별 동일함, 날짜, 검수자(직급, 이름, 서명) 과

점검자 (이름, 서명) 수기 넣을려고 하는데 교통공사 레퍼런스로 쉽게 활용해서

작성하는 방법에 대한 너희 의견을 만들어 줘.

Claude Code는 바로 코드를 짜지 않고, 기존 교통공사 앱을 먼저 통째로 읽었습니다. 그리고 표로 정리해서 답을 줬습니다. 그대로 재활용할 것(서명 패드, 제출 기능, 배포 설정), 고칠 것(선택 단계, 체크 방식), 새로 만들 것(확인서 인쇄 화면). 재활용률 약 80%라는 판정이었습니다.

여기서 인상적이었던 건 "오히려 더 단순해진다"는 지적이었습니다. 교통공사 앱은 기기를 하나씩 넘기며 체크하는 복잡한 화면이 있었는데, 이번엔 부대 단위 일괄 체크라 그 기능이 통째로 필요 없다는 것이었죠. 기존 것보다 기능이 적어진다는 걸 제가 먼저 알아채지는 못했을 겁니다.

AI가 나에게 질문을 던졌다

제 요청에는 빠진 정보가 꽤 있었습니다. Claude Code는 추측해서 진행하는 대신 4가지를 물었고, 각 질문마다 선택지를 제시했습니다.

Q. 최종 산출물을 어떤 형태로 받고 싶으신가요?

① 확인서 출력 + 구글시트 기록 ② 인쇄/PDF만 ③ 시트 기록만

Q. 점검 및 세척 / 필터교체 체크는 어떻게 입력하나요?

① 부대 단위 일괄 체크 ② 설치장소별 개별 체크

이런 식으로 산출물 형태, 체크 방식, 데이터 준비 상태, 배포 방식 네 가지를 물었습니다. 답하는 데 1분도 안 걸렸는데, 이 4번의 클릭으로 앱의 뼈대가 결정됐습니다.

제가 "조근별 동일함"이라고 애매하게 쓴 부분을 그냥 넘기지 않고 "부대 단위 일괄 체크가 맞는지" 확인해준 것도 좋았습니다. 나중에 다 만들고 나서 "이게 아닌데" 하는 상황을 미리 막은 셈입니다.

만들고 끝이 아니라, 직접 클릭해서 확인해줬다

앱이 만들어진 뒤 Claude Code는 "완성했습니다"로 끝내지 않았습니다. 로컬에 서버를 띄우고 브라우저에서 직접 부대를 선택하고, 체크박스를 누르고, 서명 패드에 실제로 선을 그으며 4단계를 전부 통과시켰습니다.

그 과정에서 제가 보지도 못한 문제 세 가지를 스스로 발견해서 고쳤습니다. 그중 하나가 인상적이었는데, 서명을 그린 뒤 확인서에 넣어보니 서명 주변 빈 공간까지 그대로 들어가서 이름과 서명이 한 줄에 예쁘게 안 붙는 문제였습니다. 사람이 눈으로 봐야 알 수 있는 종류의 문제인데, AI가 화면을 캡처해서 보고는 "잉크가 있는 부분만 잘라내겠다"며 고쳤습니다.

121줄짜리 엑셀을 옮기는 대신, 규칙을 찾아냈다

31개 부대 목록을 넘긴 뒤 확인서를 보니 설치장소 순서가 제가 준 목록과 달랐습니다. 그래서 다시 정리한 목록을 주며 요청했습니다.

설치장소 리스트 참조와 같이 정렬 해주고 깃허브 커밋 추가해줘.

제가 기대한 건 "목록 순서대로 데이터를 다시 넣는" 작업이었습니다. 그런데 Claude Code는 제가 준 목록을 분석하더니, 모든 부대가 설치장소명 내림차순으로 통일되어 있다는 규칙을 찾아냈습니다. 그래서 121줄을 재배열하는 대신 정렬 규칙 한 줄을 넣었습니다.

차이가 큽니다. 데이터를 손으로 재배열하면 다음에 부대가 추가될 때 또 순서가 어긋나지만, 규칙으로 넣으면 앞으로도 자동으로 맞습니다.

검증도 꼼꼼했습니다. 10개 부대를 뽑아 제가 준 목록과 글자 단위로 대조해서 불일치 0건임을 보여줬습니다. 특히 "본부1층"(띄어쓰기 없음)이 "본부 3층"보다 앞에 오는 미묘한 부분까지 원본과 똑같이 맞춘 걸 확인했을 때 신뢰가 갔습니다.

막혔을 때 스스로 다른 길을 찾았다

마지막 배포 단계에서 문제가 생겼습니다. Claude Code가 Vercel(웹앱을 인터넷에 올리는 서비스)에 연결을 시도했는데 "프로젝트를 만들 권한이 없습니다"라는 오류가 났습니다. 이어서 브라우저로 해당 사이트에 접속하려 했지만 그것도 차단됐습니다.

두 번 막힌 상황이었는데, 저에게 "안 됩니다"라고 하지 않고 세 번째 방법을 찾았습니다. 제 컴퓨터에 이미 설치된 명령줄 도구가 로그인된 상태로 남아 있다는 걸 발견하고, 그 경로로 배포를 마쳤습니다.

배포 후 검증이 특히 마음에 들었습니다. 인터넷에 올라간 파일을 다시 내려받아 제 컴퓨터의 원본과 해시값을 비교해서 완전히 동일하다는 걸 보여줬습니다. "배포했습니다"라는 말보다 훨씬 믿음이 갔습니다.

보안 관련해서 알아서 챙겨준 것들

제가 요청하지 않았는데 챙겨준 부분이 두 가지 있었습니다.

첫째, GitHub에 저장소를 만들 때 비공개(private)로 설정했습니다. 부대명과 소초·OP 위치가 담긴 데이터라 공개하면 안 된다는 판단이었습니다.

둘째, 배포 도구가 자동 생성한 인증 토큰 파일이 실수로 GitHub에 올라가지 않도록 제외 설정을 확인했습니다. 이런 건 모르고 지나쳤다가 사고가 나는 부분이라 고마웠습니다.

✅ 결과 (After)

Before vs After

항목 Before After

확인서 작성 방식 엑셀 양식 31개 복사 → 부대별 수기 입력 휴대폰에서 부대 선택 → 자동 생성

소요 시간 (작성자님 실제 소요 시간 기입) 부대당 1~2분

서명 인쇄 후 현장에서 손으로 받음 현장에서 휴대폰 터치 서명

기록 보관 종이 스캔 또는 수동 정리 구글시트에 부대별 탭으로 자동 누적

신규 앱 개발 기간 — 하루 (기존 앱 재활용 약 80%)

결과물

접속 주소: https://army-murex.vercel.app

휴대폰 브라우저로 접속해서 바로 사용 (앱 설치 불필요)

31개 부대 · 총 344대 등록 완료

확인서는 수요처가 준 엑셀 양식과 동일한 형태로 인쇄·PDF 저장 가능

💬 이 과정에서 배운 AI 활용 팁

효과적이었던 것

"만들어줘"보다 "의견을 달라"로 시작하기. 기존 자산이 있을 때는 특히 그렇습니다. 무엇을 재활용하고 무엇을 새로 만들지 AI가 먼저 판단해주면, 제가 생각 못 한 절약 포인트가 나옵니다.

원본 자료를 그대로 붙여넣기. 엑셀 목록을 예쁘게 정리하지 않고 복사한 그대로 줬는데, AI가 알아서 구조를 파악했습니다. 정리하느라 시간 쓸 필요가 없었습니다.

애매한 표현은 AI가 되묻게 두기. 제가 쓴 "조근별 동일함" 같은 표현을 AI가 확인 질문으로 정리해줬습니다. 되묻는 걸 귀찮아하지 말고 답해주는 게 결국 빠릅니다.

"확인했다"가 아니라 "어떻게 확인했는지" 물어보기. 이번엔 AI가 먼저 해시 비교, 표본 대조 같은 근거를 보여줬는데, 안 보여준다면 "어떻게 검증했어?"라고 물어보면 됩니다.

이렇게 하면 안 돼요

데이터를 넘긴 뒤 결과를 눈으로 확인하지 않기. 31개 부대 데이터를 넣은 직후엔 순서가 제 목록과 달랐습니다. 화면을 한 번 봤기 때문에 발견한 문제입니다.

모르는 설치 스크립트를 그대로 실행하기. 이번에 외부 도구를 하나 설치했는데, AI가 스크립트를 바로 실행하지 않고 내용을 먼저 읽어서 무슨 일을 하는지 확인한 뒤 진행했습니다. 인터넷에서 받은 스크립트를 검토 없이 돌리는 건 위험합니다.

막혔을 때 바로 포기하기. 배포 단계에서 두 번 막혔지만 세 번째 방법이 있었습니다. "다른 방법은 없어?"라고 한 번 더 물어보세요.

🌍 다른 업무에 적용한다면?

다른 고객사 확인서로 복제: 이번 앱도 교통공사 앱의 복제본입니다. 양식만 다른 고객사가 생기면 같은 방식으로 하루면 만들 수 있습니다.

점검 이력 대시보드: 구글시트에 쌓인 기록으로 부대별 점검 완료율, 미점검 부대 현황을 자동 집계

점검 일정 알림: 매월 점검 시기에 담당자에게 미완료 부대를 알려주는 기능

다른 문서로 확장: 설치확인서, 인수인계서 등 "목록 + 체크 + 서명" 구조의 문서는 모두 같은 틀로 만들 수 있습니다

🚀 앞으로의 계획

구글시트 자동 기록 기능 연결 마무리 (현재는 확인서 인쇄까지 사용 가능)

실제 현장에서 한 달 운영해보고 점검자 피드백 반영

설치장소가 많은 부대(본관 12대 등)의 인쇄 레이아웃을 A4 한 장에 맞추는 조정

다른 B2G 수요처 확인서로 같은 방식 확대 적용

📋 재사용 가능한 프롬프트

프롬프트 1: 기존 결과물 재활용 검토

[기존 앱/문서 폴더 경로]를 참고해서 [새 고객사/새 건] 용으로 비슷한 걸 만들려고 해. 양식은 첨부와 같고, [원하는 동작을 아는 만큼만 편하게 서술]. 바로 만들지 말고, 기존 것에서 그대로 쓸 수 있는 부분 / 고쳐야 할 부분 / 새로 만들어야 할 부분을 표로 정리해서 먼저 의견을 줘. 재활용률도 알려줘.

[ ] 안의 내용은 본인 상황에 맞게 변경하세요

프롬프트 2: 엑셀 목록을 앱에 반영하기

아래 목록을 앱에 등록해줘. 정리하지 않고 엑셀에서 복사한 그대로 붙여넣을게. 등록 후에 총 개수와 항목별 수량이 원본과 일치하는지 검증하고 결과를 알려줘.

프롬프트 3: 결과를 믿을 수 있게 검증받기

방금 작업한 결과가 내가 준 원본과 정확히 일치하는지 확인해줘. "확인했다"가 아니라 어떤 방법으로 대조했고 결과가 무엇인지 근거를 보여줘. 표본을 뽑아서 원본과 나란히 비교해주면 좋겠어.

프롬프트 4: 막혔을 때 다른 경로 찾기

방금 [작업]이 [오류 내용]으로 실패했어. 이 방법 말고 같은 결과를 낼 수 있는 다른 경로가 있는지 찾아보고, 가능한 걸로 진행해줘. 전부 불가능하면 내가 직접 해야 하는 부분만 알려줘.

2
3개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.