사이드 프로젝트
Slack 워크스페이스에서 구독 서비스를 등록·관리하는 슬래시 커맨드 봇.
Claude Code 기반 바이브 코딩으로 3일 만에 단독 설계·구현하며 AI 협업 개발 역량을 검증했습니다.
AI가 생성한 코드의 구조적 문제를 직접 식별·개선하고, 요구사항 → 설계 결정 → 코드 리뷰의 전 과정을 주도했습니다.
2026.03.17 — 2026.03.20
기능을 구현하면서 발견하고 해결한 기술적 문제들입니다.
Problem
Slack slash command는 3초 내 응답 필수. DB 조회·메시지 생성 포함 시 초과 발생.
Root Cause
슬래시 커맨드 핸들러가 응답 준비와 전송을 동기적으로 처리하여 3초를 초과.
Approach
Result
3초 응답 제한에 관계없이 모든 슬래시 커맨드가 정상 처리됨. 응답 타임아웃 완전 해소.
Problem
워크스페이스마다 다른 bot token이 필요. 단일 환경변수 방식은 확장 불가.
Root Cause
Slack OAuth는 워크스페이스별로 액세스 토큰을 발급하므로, 단일 토큰으로는 다수 워크스페이스 서빙이 불가능.
Approach
Result
단일 앱 인스턴스로 다수 워크스페이스를 독립적으로 서빙. 워크스페이스 추가 시 코드 수정 없이 DB 저장만으로 확장.
Problem
카테고리 선택 → 서비스명 → 금액 → 결제일의 4단계를 DM 상호작용으로 처리해야 함. 단일 슬래시 커맨드로는 처리 불가.
Root Cause
Slack 슬래시 커맨드는 단발성이라 멀티턴 상태를 자체적으로 유지하지 않음.
Approach
Result
4단계 멀티턴 구독 등록 플로우가 자연스러운 DM 대화로 동작. 동시 다수 사용자의 진행 상태가 독립적으로 관리됨.
Problem
커맨드 증가에 따라 라우터 내 if-else 분기 로직이 비대해지는 문제 예상.
Root Cause
모든 커맨드 처리 로직이 단일 핸들러에 집중되어 OCP를 위반하는 구조.
Approach
Result
신규 커맨드 추가 시 기존 코드 수정 없이 구현체만 추가. OCP 충족. 커맨드별 단위 테스트 용이.