나눔 추첨기는 유튜브 라이브 방송 중 시청자 참여 이벤트를 쉽고 공정하게 진행할 수 있도록 만든 웹 기반 추첨 시스템입니다. 채팅을 복사해서 붙여넣기만 하면, 정답자를 자동으로 추첨합니다.
이 프로젝트를 만들게 된 계기가 궁금하시다면 이전 글 — 나눔 추첨기가 태어난 이유를 읽어보세요.
스트리머 입장에서
스트리머 페이지는 이벤트 진행의 모든 과정을 하나의 화면에서 처리할 수 있도록 설계했습니다.
- 로그인 — 관리자에게 발급받은 계정으로 접속합니다. 방송자 닉네임과 추첨 인원을 설정합니다.
- 채팅 복사 — 유튜브 라이브 채팅창에서 채팅 내용을 드래그하여 복사합니다. 방송자의 제시어가 포함되어야 합니다.
- 분석 실행 — 복사한 채팅을 붙여넣고 제시어를 입력한 뒤 "분석하기"를 클릭합니다.
- 결과 확인 — 방송자의 제시어 이후 정답을 입력한 시청자가 자동으로 선착순 정렬됩니다.
- 상품 매칭 — 당첨자와 상품을 1:1로 매칭하고, 지급 현황을 추적합니다. 미지급 상품도 한눈에 확인할 수 있습니다.
시청자 입장에서
시청자는 스트리머가 공유하는 링크를 통해 별도의 시청자 페이지에 접속할 수 있습니다.
- 실시간 결과 확인 — 추첨이 진행되면 자신의 등수가 실시간으로 표시됩니다. "내가 몇 등이지?"를 직접 확인할 수 있습니다.
- 닉네임 검색 — 본인 닉네임을 검색하면 과거 참여 기록과 당첨 이력을 조회할 수 있습니다.
- 명예의 전당 — 역대 추첨 기록과 다승 랭킹이 공개됩니다. 가장 많이 당첨된 행운의 시청자가 누구인지 확인할 수 있습니다.
주요 기능
실시간 채팅 분석
유튜브 채팅을 복사해서 붙여넣으면 자동으로 파싱합니다. 방송자의 제시어 이후에 입력된 정답만 정확하게 집계하여 선착순으로 정렬합니다.
중복 당첨 방지
이전 회차에서 당첨된 시청자는 다음 회차에서 자동으로 제외됩니다. 닉네임을 바꿔 중복 수령을 시도하는 편법도 방지할 수 있어, 더 많은 시청자에게 공평한 기회를 제공합니다.
오타 감지
정답과 다른 답변을 입력한 시청자를 별도로 표시합니다. 아깝게 탈락한 시청자도 한눈에 확인할 수 있어, 스트리머가 재량껏 구제할 수 있습니다.
회차별 기록 관리
모든 추첨 결과가 회차별로 저장됩니다. 이전 회차 기록을 언제든 확인하고 관리할 수 있으며, 상품 지급 현황도 함께 추적됩니다.
전체참여(버닝) 모드
기본적으로 중복 당첨은 방지되지만, 특별한 이벤트에서는 "전체참여(버닝)" 모드를 사용하여 중복 제한 없이 추첨을 진행할 수 있습니다.
데이터와 개인정보
모든 추첨 데이터는 클라우드에 안전하게 저장됩니다. 브라우저를 닫아도 기록이 유지되며, 스트리머와 시청자 페이지 간 실시간 동기화가 이루어집니다.