CASE 02 / FESTIVAL STAMP TOUR / 2026
Atti Stamp Tour
QR로 시작한 현장 참여를 선물 교환과 운영 데이터까지 연결하다
One tour. One operational loop.
카카오 로그인부터 QR 스캔, 스탬프 수집, 교환권 발급, 현장 지급과 참여 분석까지 참가자와 운영자의 전체 흐름을 하나의 서비스로 설계하고 구현했습니다.
- ROLE
- Product Engineer
- PERIOD
- 2026.08
- RESPONSIBILITY
- Product · Full-stack
- STAGE
- Production
- PRODUCT STRATEGY
- PARTICIPANT EXPERIENCE
- ADMIN OPERATIONS
- API & REWARD SYSTEM
- PRODUCTION DEPLOYMENT
제품의 범위는 참가자의 모바일 화면에서 끝나지 않았습니다. 현장에서 QR을 수집하는 경험, 선물을 지급하는 운영 업무, 참여 데이터를 분석하는 과정이 함께 동작해야 했습니다.
02 / Product flow. Scan to operations.
참가자의 한 번의 스캔이 수집 기록과 선물 지급, 운영 데이터까지 이어지도록 설계했습니다.
- 01
카카오 로그인
참가자 식별
- 02
부스 QR 스캔
현장 미션
- 03
스탬프 수집
진행 상태
- 04
교환권 발급
완주 확인
- 05
지급과 분석
현장 운영
03 / DECISIONS · SIX PRODUCT JUDGMENTS
The thinking behind the tour.
완성된 화면보다, 현장 참여와 운영 사이에서 무엇을 기준으로 판단했는지 보여줍니다.
- 01
목록이 아닌 여정으로 보이는 수집판
스탬프를 카드로 나열하지 않고 인식된 순서대로 길 위에 나타나게 했습니다. 수집 시간을 기준으로 화면 순서를 고정했습니다.
PROGRESS & DELIGHT - 02
카메라와 화면 이탈을 하나의 수명주기로
스캐너를 히스토리가 있는 전체 화면 라우트로 구성하고, 닫기·뒤로가기·화면 해제 시 카메라와 타이머를 함께 정리했습니다.
CAMERA LIFECYCLE - 03
QR 감지와 서버 판정을 분리된 상태로 관리
Scanning·Validating·Success·Duplicate·Invalid를 구분하고, 판정 전에는 카메라를 멈춰 같은 QR의 연속 요청을 차단했습니다.
STATE & IDEMPOTENCY - 04
앱 안팎에서 모두 동작하는 부스 QR
QR에 스캔 URL을 담아 기본 카메라에서도 참여하게 했습니다. 부스 코드는 랜덤값으로 만들고 관리자 인증 뒤에서만 출력했습니다.
ACCESS & SECURITY - 05
인식 즉시 지급하지 않고 확인 후 한 번만 확정
스캔 후 참가자와 완주 상태를 먼저 확인하고 별도의 확정 단계에서 지급했습니다. 행 잠금으로 동시 중복 지급을 막았습니다.
SAFE REDEMPTION - 06
참가자 경험 이후의 운영까지 제품 범위로
실시간 현황, 부스별 도달률, 참여자 분석, 선물 지급 스캐너까지 구현해 축제 운영에 필요한 흐름을 완성했습니다.
END-TO-END DELIVERY
04 / What exists today.
참가자 서비스, 운영센터, API와 배포 환경까지 실제로 동작하는 제품으로 완성했습니다.
- 01
PARTICIPANT APP
Kakao OAuth · 수집판 · QR 스캔 · 교환권
- 02
OPERATIONS CENTER
실시간 현황 · 참여 분석 · 선물 지급
- 03
BACKEND & QR SYSTEM
Django REST · PostgreSQL · 중복 방지
- 04
PRODUCTION DEPLOYMENT
SvelteKit SPA · nginx · Docker
FIELD LEARNING
현장형 제품은 화면의 완성도만으로 끝나지 않았습니다. 카메라 권한, 중복 스캔, 인쇄된 QR과 실제 지급 과정까지 제품의 일부로 다뤘습니다.