제시어 선착순, 그 혼란스러운 풍경
여가 시간에 유튜브로 게임 방송을 즐겨 봅니다. 좋아하는 스트리머의 라이브 방송을 보다 보면, 가끔 시청자 참여 이벤트가 열립니다. 그중에서도 "제시어 선착순"은 꽤 흔한 방식입니다. 스트리머가 특정 단어를 제시하면, 시청자들이 채팅에 그 단어를 입력하고, 가장 먼저 정확하게 입력한 사람 순서대로 상품을 받는 구조입니다.
문제는 이 과정이 전부 수작업이라는 점이었습니다. 스트리머는 빠르게 올라오는 채팅 속에서 제시어와 일치하는 메시지를 눈으로 찾아내야 했고, 오타가 있는 메시지는 일일이 걸러내야 했습니다. 찾아낸 당첨자를 메모장에 수기로 정리하는 것은 물론이고요.
편법이 판을 치다
몇 번 반복하다 보면 더 큰 문제가 드러납니다. 어떤 시청자는 닉네임을 살짝 바꿔서 이미 당첨된 상품을 또 받으려 시도합니다. 한 방송에서 여러 차례 이벤트가 진행될 때, 이전 회차에서 이미 당첨된 사람이 또 당첨되는 경우도 빈번합니다. 스트리머 입장에서는 수십 명의 채팅을 실시간으로 확인하면서 중복까지 걸러내기란 사실상 불가능합니다.
"이걸 왜 사람이 하고 있지? 자동으로 하면 되는 거 아닌가?"
직접 만들어보기로
Highlighter를 만들면서 "내 손으로 쓸 만한 프로그램을 만들 수 있다"는 자신감이 생겼었습니다. 이번에는 교육과는 전혀 관련 없는, 순전히 여가 시간에 느낀 불편함이었지만, 해결 방법이 머릿속에 그려지기 시작했습니다.
핵심 아이디어는 간단했습니다. 유튜브 채팅을 통째로 복사해서 붙여넣으면, 스트리머의 제시어 이후에 정답을 입력한 사람을 자동으로 찾아 순서대로 정렬하는 것. 여기에 중복 당첨 방지, 오타 감지, 상품 매칭까지 얹으면 스트리머가 이벤트를 훨씬 쉽고 공정하게 진행할 수 있겠다고 생각했습니다.
나눔 추첨기의 탄생
그렇게 만들어진 것이 나눔 추첨기입니다. 스트리머가 채팅을 복사해서 붙여넣고, 제시어를 입력한 뒤 "분석하기"를 누르면 정답자가 선착순으로 자동 정렬됩니다. 이전 회차 당첨자는 자동으로 제외되고, 오타를 낸 시청자도 별도로 표시됩니다.
시청자들도 별도의 페이지에서 실시간으로 자신의 등수를 확인할 수 있습니다. 방송을 보면서 "내가 몇 등이지?" 하고 궁금해할 때, 직접 확인할 수 있게 한 것입니다.
명예의 전당에서는 누적 당첨 기록을 확인할 수 있습니다. 몇 번 당첨되었는지, 어떤 상품을 언제 받았는지가 한눈에 보입니다.
여가에서도 개발자의 눈으로
Highlighter는 학습연구년제라는 교육적 맥락에서 탄생했습니다. 하지만 나눔 추첨기는 순수하게 게임 방송을 보다가 느낀 불편함에서 시작되었습니다. 교육 현장이든 여가 시간이든, 사람들이 불편해하는 지점을 발견하고 그것을 기술로 해결할 수 있다는 사실이 점점 더 분명해졌습니다.
"불편함을 발견하는 눈은 직업과 상관없이 언제 어디서든 켜져 있다."
나눔 추첨기의 구조와 기능이 궁금하시다면 다음 글 — 나눔 추첨기 기능 소개에서 자세히 다루고 있습니다.