Skip to main content

해커톤 두 번 뛰고 나서

올해 상반기에 해커톤을 두 개 나갔다. 카카오 PlayMCP 2차 공모전에는 "삶은 갓생"이라는 습관 인증 에이전트로, AX인재전쟁에는 무신사 스탠다드를 소재로 한 옴니채널 동기화 에이전트로 참가했다. 둘 다 MCP 기반이고 둘 다 Claude Code로 밀어붙였다. 각각 어떻게 만들었는지 기록해둔다.


삶은 갓생 — "했다고 우기지 못하게 만들기"​

GitHub

카카오톡 단체채팅방에 상주하면서 목표를 관리해주는 에이전트였다. 헬스장 가기, 미라클모닝, 다이어트 같은 걸 30일 챌린지로 설정하면 매일 인증샷을 받고, Gemini 2.5 Flash가 사진을 vision으로 직접 채점한다.

이 프로젝트를 시작한 이유는 단순했다. "오늘 운동했음" 이라고 말로만 때우는 게 너무 쉬웠고, 나부터도 그렇게 습관을 몇 번이나 실패했다. 그래서 말이 아니라 사진으로 증명하게 만들고 싶었다.

헬스장 사진 대신 소파 사진 → 탈락
치킨 찍고 다이어트 인증 → 탈락
침대에 누워서 미라클모닝 인증 → 탈락

FastMCP로 목표 설정, 인증샷 채점, 주간 리포트, 리마인더, 일일 플랜까지 9개 툴을 정의했고 60점을 통과 기준으로 잡았다. 카테고리마다 통과 기준을 다르게 둔 게 은근히 손이 많이 갔다. 운동 사진 기준으로 다이어트 사진을 채점하면 샐러드 사진도 다 탈락 처리가 나버려서, 카테고리별 프롬프트를 따로 쪼개야 했다.

인프라는 Kakao Cloud에 Docker로 올렸다. 공모전 규모의 프로토타입이라 트래픽 대응보다는 짧은 기간 안에 아이디어를 얼마나 완성도 있게 보여주느냐가 더 급했다. 그래서 SQLite에 단일 사용자 구조로 밀어붙였고, 백엔드 분리나 멀티 유저 지원 같은 건 전부 향후 계획으로 남겨뒀다.


무신사 옴니 — "재고 10% 남았을 때 몇 시간을 몇 분으로"​

GitHub

AX인재전쟁에서는 소재를 바꿔봤다. 무신사 스탠다드 팝업 매장을 상상하고, 특정 SKU 재고가 임계값 아래로 떨어지는 순간 대안 상품 추천부터 VMD 재배치, 4채널 마케팅 카피, 에스컬레이션 알림까지 자동으로 처리하는 MCP 플러그인이었다.

담당자가 Claude에게 이렇게만 던지면 된다.

"홍대 팝업, 지금 비 오고 29도인데 쿨탠다드 재고 10% 이하야"

여기서 재밌었던 건 팝업과 상설 매장을 완전히 다른 의사결정 구조로 나눈 부분이다. 팝업은 운영 기간이 정해져 있어서 재고 고갈을 놓치면 그대로 기회손실이 되는데, 실제로는 담당자가 수동으로 대안을 찾고 마케팅팀에 카피를 요청하는 데만 한나절이 걸린다. 그 흐름을 자연어 한 줄로 압축하고 싶었다.

핵심은 6인자 가중 스코어링이었다. 카테고리 적합도, 핏 유사도, 기후 적합성, 가격대, 트렌드, 재고 건전성을 조합해서 대안 SKU 점수를 매기는데, 팝업 매장이 마감 7일 이내로 들어오면 가중치 자체를 재조정하게 했다. 가격대 근접도 비중은 줄이고 재고 건전성 비중은 세 배로 올리는 식이다. "지금 팔릴 수 있는 재고"를 우선시하도록.

마케팅 카피는 채널별로 톤을 아예 다르게 잡았다. 앱푸시는 날씨 얘기로 운을 떼서 광고보다는 조언처럼 읽히게 썼고, 위챗은 "N일밖에 안 남았어요" 식으로 조급하게 사가게 만드는 문구를 넣었고, 라인은 예의 차리면서도 잔여일을 숫자로 박아서 은근히 재촉하는 식으로 갔다. 채널별로 실제 패션 브랜드들이 어떻게 카피를 쓰는지 찾아보고 어투를 맞췄다.

코드 감사 단계에서 버그를 7건 찾았는데 그중 절반은 하드코딩 때문이었다. PERMANENT 매장의 CRITICAL 재고 상황에서도 우선순위가 항상 NORMAL로 나가고 있었고, POPUP 매장은 잔여일과 무관하게 카피에 항상 "오늘만"이 박혀 있었다. 스코어링 로직은 멀쩡한데 출력 단계에서 조건 분기를 빼먹은 케이스가 대부분이었다. 로직을 다 맞춰놓고 마지막 출력 조립에서 힘이 빠지는 패턴, 생각보다 자주 나온다.

SKILL.md를 스코어링 가중치, 임계값 분류, 채널별 글자 제한까지 전부 담은 단일 진실 공급원으로 두고 코드가 그걸 그대로 따라가게 만든 방식은 꽤 마음에 들었다. 다음에 비슷한 규모의 프로젝트를 할 때도 이 구조는 그대로 가져다 쓸 생각이다.


둘 다 며칠 안에 아이디어를 형태로 만들어야 했지만, SKILL.md 설계부터 코드 감사까지 한 세션 안에서 끝냈다. 다음 공모전 나갈 때도 이 순서 그대로 갈 것 같다.