0. Let it go

작년 12월부터 지난 2개월 간은 정말 감정적으로도 체력적으로도 힘든날들의 연속이었다. 새로운 사람들을 거의 강제로 만났어야 했고, 만날 때마다 즐거운 이야기보다는 힘든 이야기들을 해야만 했다. 나는 QWER.GG 를 매각하거나, 투자처를 찾았어야 했고 시간적인 여유도 매우 부족했다. 우리의 결정이나 그 과정이 만족스러울 리는 없지만 이제 어느정도 마무리가 되어서 짧고 긴 회고를 풀어놓을까 한다.

1. QWER.GG Begins

QWER.GG 는 이래저래 다양한 사이드 프로젝트를 하다 지쳐, 2주 정도를 쉬고 2019년 1월 16일 마음을 다잡고 시작한 프로젝트다. 이유는 단순했다. 네이버를 쓰지 않고 (물론 매우 불편했다) 한국의 LoL E-Sports 리그 일정을 볼 수 있는 곳은 BEST.GG 가 유일했는데 새로운 시즌이 되어도 업데이트가 이루어지지 않았고 결국 중단되었다. 때문에 답답해서 캘린더처럼 볼 수 있는데를 만들어야지 하는 가벼운 마음으로 시작한 프로젝트가 QWER.GG 였다.

원래 업데이트는 안되고 웹사이트만 살아있었는데, 몇개월 뒤 완전히 문을 닫았다.

BEST.GG 는 OP.GG 에서 만든 웹사이트 였고 그래서 사실 처음에는 운영을 대신 해주려고 메일을 보냈었다. 만들던 중에 정식으로 종료한다는 것을 알게되었는데, 이미 꽤 괜찮은 사이트였기에 그걸 그냥 받아서 사비로 운영하고 싶었다. 솔직히 연락이 올거라는 기대는 안했고, 그냥 묵묵히 만들었다. 2개월 정도 퇴근하고 짬을 내서 만들었고, 오픈은 1개월 정도 후에 한 것 같은데 사람들에게 알릴 수 있을 정도의 기능이 생긴건 2월말 쯤 이었던 것 같다.

주로 커뮤니티 사이트 들에 홍보했는데, 반응은 좋았지만 빛의 속도로 삭제당했다 ㅋㅋ

여러 웹사이트에 가볍게 홍보를 했고 생각보다 반응이 좋았다. 짤봇 이후로 뭐 만들때마다 나 혼자 좋아서 만드는거라 사람들이 큰 반응이 없었는데, 간만에 사람들이 좋아해주는 프로젝트라 의욕이 넘쳤다. 아마 그렇게 6개월을 미친듯이 만들었던 것 같다. 2018년, 풀리모트가 가능했던 회사에 다니고 있었던 덕분에 아침 9시에 일어나서 7시까지 회사일을 하고, 그때부터 새벽 3시까지 QWER.GG 를 개발했는데 그걸 거의 6개월동안 매일 했다. 지치는 줄 모르고 정말 미친듯이 개발을 했던 것 같다. 회사일이 그렇게 쉬웠던 것도 아닌지라 8월쯤 되니까 정말 지치더라.

개발 방향도 별거 없었다. 첫 글의 댓글에 쓰여진 내용들과 email 로 왔던 요청 들을 하나하나 만들었다. 사이드 프로젝트 치고 초반부터 admin 쪽이 구현되어 있었는데, 일정이나 팀 데이터 들을 하나씩 손으로 넣었어야 했기 때문에 일지감치 구현할 수 밖에 없었다. 그런데 이게 한국 만 할때는 큰 문제가 없었는데, 여러 나라의 리그를 손으로 입력하기에는 무리가 있었다. 13개의 리그 일정을 손으로 넣기엔 너무나 고통스러웠고, 다른 방법을 찾아야 했다.

2. 자동화

일단 데이터를 찾는 것 부터가 일이었다. 리그 데이터는 어디에도 있으나 어디에도 없었다. Riot 본사에서 정책상 리그 데이터를 외부로 공개하지 않았고, (원래는 오픈했다가 내가 QWER.GG 를 시작할때는 닫혀있었다) 오픈되어있는 정보도 막상 찾아보면 믿을만한 소스가 존재하지 않았다. 처음에는 당연히 LCK 만 다루었기 때문에 문제도 단순했는데, 전세계 13개 리그를 크롤링 하기로 결정한 순간 모든 것이 달라졌다.

오늘도 열심히 돈다

일단 13개 리그에 평균 10개 정도의 팀이 있는데 각 팀에는 역시 10여명의 선수가 등록되어있다. 약 1300개 정도의 데이터를 주기적으로 크롤링해서 데이터를 맞춰야 하는데 처음에는 선수 닉네임을 기준으로 하면 되겠지 라는 안일한 생각으로 진행했다가 크게 고생을 하게 된다. 주로 위키 페이지들을 크롤링 했는데, 중복 닉네임 문제라던가 선수 로스터등의 일관성이 부족했고, 위키 페이지 특성상 크롤링 하기에도 까다로웠기 때문에 정말 손이 많이 갔다. 중복 닉네임 때문에 한국 선수가 터키 선수로 나오기도 하고, 팀 이름이 동일한 경우가 있어서 이럴 경우에 ID 등으로 접근하는게 아닌 Mediawiki  특성상 크롤링 하기가 다소 까다로웠다. 최근에는 Mediawiki 에 API 처럼 쿼리를 날릴 수 있는 기능이 있다는 것을 동료가 알아내서 훨씬 문제가 쉬워졌지만, 그 전에는 정말 제발 DOM Path 바꾸지 말라고 기도할 정도였다.

지금도 리그 데이터 소스를 3~4군데에서 크롤링하여 조합하고 있는데, 여전히 부담스러운 작업이다. 덕분에 뭐 한두개 깨져도 복구할 수 있을 정도의 채력을 갖추긴 했고, 남의 데이터 크롤링하고 짜맞추고 하는 작업에 이골이 났다. 뮤지션들 웹사이트를 이렇게 만들어볼까 하는 생각도 하고 있다.

그렇게 자연스럽게 QWER.GG 의 개발 스타일이 갖춰진것 같다.

최대한 손으로 하고 -> 더이상 손으로 할 수 없으면 자동화 하고 -> 자동화한 소스들을 관리하고 안정화 시키고

경기 일정 외에도 다양한 부분에서 크롤러가 가동되고 최대한 손이 안가는 방향으로 개발을 진행하고 있다. 사이드 프로젝트 특성상 누가 데이터를 꾸준히 입력하고 관리할 수 없었기 때문에 어쩔수 쓰게 된 고육지책인데, 이게 QWER.GG 의 정체성이 되어버린 것 같다. 필요는 개선을 낳는다.

3. 성장

개발자인 나와 디자이너 한명이 이 프로젝트를 개발해오고 있었다. 당연히 우리 둘만으로는 벅찬 프로젝트 였고, 그래서 동료가 필요했다. 우선 홍보해줄 사람이 필요해 전직장 동료 중 믿을수 있는 사람을 꼬셨다. 솔직히 안넘어올줄 알았는데 트래픽을 보더니 마음이 동했는지 합류하기로 했다. 지금도 함께하고 있고, 아마 매각 이후로도 나의 가장 든든한 파트너가 될 거라고 생각한다. 심적으로 힘들때 많이 괴롭혔는데, 미안하고 고맙고 그런 존재이다.

어이 너 내 동료가 되라

그렇게 한 친구가 합류하고 본격적으로 커뮤니티를 통해서 알음알음 알려진다. 지금에 비하면 참 미미한 정도의 관심이었지만 어쨋든 그게 힘이 되어서 다른 친구들의 도움을 받을 수 있었다. 디자이너도 한명 더 함께하고, 개발자도 두세명 더 도움을 주었다. 뭐 솔직히 말해서 사이드 프로젝트다보니 관심의 정도가 각자 달랐고 때문에 거의 대부분의 개발은 내가 했지만, 중간중간 도움이 없었다면 훨씬 힘든 프로젝트가 되었을 것 같다.

어쨋든 커뮤니티를 통해 지속적으로 홍보를 했지만 아무래도 광고쟁이로 낙인이 찍힐 수 있는 지라 자주 할 수는 없는 노릇이었다. 3개월 정도 일했던 Lab80 라는 곳의 CTO 분이 나에게 했던 말이 있었다. 미국분이었고 영어여서 정확히 뭐였는지 기억은 안나는데 뭐 요는 그렇다.

개발은 기본적으로 돈을 벌 수 있는 일이 아니다. 나는 SEO 로 꽤 괜찮게 돈을 벌었고, 이게 얼마 안되는 수익성있는 일이다.

국내에서 SEO의 의미가 크게 없는 것은 사실이나, 어차피 트래픽 소스가 없는 우리로서는 이거라도 잘하면 기본 체력은 늘릴 수 있지 않을까 하는 생각을 했다. 그래서 지옥같은 SSR 대장정이 시작되었다. 일단 title 과 meta 데이터를 넣는 것으로 시작해서 open graph 가 예쁘게 그려지도록 부단히 노력했다. json schema 도 써볼까 했었는데 SEO 점수에는 크게 영향을 끼치지 않을것 같아서 크게 고려하지는 않았다. 지금은 다시 해볼 수 있는 체력이 생긴것 같아 고민중이긴 하다.

SEO 가 지랄맞은 점이 잘해도 못해도 그걸 단기간에 알수 있는 방법이 없다는 것이다. meta 도 열심히 넣고, 페이지별로 다른 내용이 표시되도록 하나하나 노가다를 통해 정말 6개월 넘게 꾸준히 개선했다. 처음에는 달라지는게 느껴지지도 않았고, 그냥 묵묵히 하다보면 되겠지 하는 마음으로 꾸준히 적용시켰다.

LCK 순위로 검색하면 첫번째로 나오고
LCK 일정은 세번째로 나온다

원래 LCK 일정도 1위였는데 최근 좀 떨어진 것 같다. 재밌는건 한동안 클릭율이 너무 낮아서 Search Console 을 안보고 있었는데, 갑자기 동접이 많아지길래 이리저리 확인해보니 Organic 이 크게 늘어있었다. 그때까지 우리가 이걸 잘하고 있는지도 몰랐었다.

구글 Search Console 에서 클릭율도 매우 높아졌다.

처음에는 우리 도메인 직접 검색만 클릭율이 높았는데 이제 LPL 이나 LCK 관련된 검색어도 클릭율이 매우 높다. 사실 검색 결과에 대한 내용이 부족한 점이라거나, 우리가 노출하고 싶은 페이지가 아니라 루트가 나와버리는 문제,  LCK 일정 클릭율이 낮은 부분 등 개선해야 하는 부분이 있는데, 어쨋든 GA 기준 50% 이상의 획득이 Organic Search 를 통해서 들어오는 부분은 매우 긍정적이라고 볼 수 있다. 이탈율도 20% 로 낮은 편이고,  PV 또한 세션당 15~20 정도를 보여주는데 절대적인 트래픽을 제외한 지표는 매우 건강하다고 생각한다.

올해는 SEO 를 더욱 개선해서 전세계의 트래픽을 끌어오는 것을 목표로 하고 있다. 이쪽 시장에서 우리만큼 SEO 를 적극적으로 하는 팀이 별로 없기 때문에 이 또한 어렵지 않게 달성할 수 있을거라고 생각한다. 어떻게 효율적으로 meta 데이터를 관리할까에 대해서는 여전히 고민의 여지가 있는데, 개선할 방향 자체는 가지고 있다.

4. 전적 검색

초기에 전적 검색 기능을 개발할 의도는 없었다. 다만 API 는 진작에 신청해서 받아두었는데, 크롤링을 통해서 만든 사이트이니 만큼 최소한 "우리가 이런거 하고 있어요~" 정도는 Riot 에 알릴 필요가 있다고 생각했다. 사실 미국에서 공개된 데이터를 스크랩핑하는 것은 불법이 아니다. 국내에선 이를 여러모로 불법으로 간주하고 있는데 매우 후진적인 접근 방식이라고 본다. 애초에 웹의 설립 이유 자체가 정보의 공유였고, 검색엔진의 존재가능 한 것이 바로 웹 스크래핑 때문이다. 막으려는 마음은 이해가 가지만, 법원에서 불법이라고 선언하는게 황당한 일이다. 구글은 고소 안하나? 어디에는 열고 어디에는 닫겠다는게 웹의 기본 이념을 생각하면 정말 우스은 일이지.

전적검색은 별로 관심이 없었다. 애초에 OP.GG 와 같은 초기에 시작한 회사들을 따라가기도 어렵거니와 트래픽을 뺏어오기는 더더욱 힘든 일이었다. 때문에 가급적이면 그쪽은 바라보지 않으려고 했지만, 우리가  사용하는 E-Sports 데이터나 전적검색 API 에서 내려오는 데이터나 기본적으로 동일했기 때문에 충분히 할 수 있다고 생각했다.

과거 데이터 때문이라도 따라가기가 쉽지않음

초기에 QWER.GG 는 몽고DB 클라우드 프리티어를 사용하고 있었는데, 게임 데이터 자체의 사이즈는 상당하지만 어차피 프로 리그는 경기 수가 한정되어 있기 때문에 큰 문제가 되진 않았다. 그런데 전적 쪽을 개발하면서 완전히 다른 이야기가 되어버렸다. 한사람의 전적만 해도 최소 시즌 전체 데이터를 가져와야 통계를 낼 수 있기 때문에 사이즈가 무척 컸다. 게임 데이터는 계속 늘어날 수 밖에 없었고, 한국에는 롤 게이머가 매우 많기 때문에 그 양이 엄청났다.

그러다보니 서버 비용이 폭발하기 시작했고,  한 회사에 인수되기 전에는 한달에 80만원 까지 낸 적도 있었다. 지금와서 생각해보면 좀 더 고민을 해보고 시작했어야 했던 것 같다. 일단 다른 것보다 서버 사이드 렌더링을 위해 도입했던 GraphQL 에서 아이콘이나 여러 게임 관련 데이터를 함께 넣어서 보내주었는데 전적검색에서도 큰 생각을 하지 않고 그대로 구현했고, 그러다보니 최근까지도 큰 문제가 되었다. 사실 이건 사이드 프로젝트를 하다보니 쉽게 가려고 했던 부분이 정식 프로젝트가 되면서 생긴 문제라고 생각한다. 끽해야 5게임 정도가 되는 곳에서는 큰 문제가 생기지 않았는데, 10게임에서 20게임을 기본으로 가져오는 전적 검색에서는 서버와 DB 에 큰 부담을 주었다. 그리고 역시 남는 시간에 만들다 보니 이해를 잘못하고 만들었던 부분이 두고두고 문제가 되고 있다. 최근엔 둘다 해결하고 있지만, 레거시 코드를 한번에 걷어낸다는게 정말 쉬운일이 아니다.

5. 투자냐 인수냐?

원래는 투자를 받으려고 했다. 다만, 회사를 다니면서 사이드 프로젝트로 진행하다 보니 일단 시간적인 여유가 거의 없었다.  여러 VC 들을 만나면서 시행착오를 겪어가며 사업계획서를 썼어야 했는데, 개발 시간 조차도 너무 부족했다. 회사에 매일 휴가를 내면서 만나러 다닐 수도 없는 노릇이고, 퇴사하고 회사를 꾸리기에는 짧게는 3~4개월 길게는 1년정도를 버틸 돈이 없었다. 서버비가 40~80 나오는 상황에서 월급없이 버티는 건 쉬운일이 아니다. 시원하게 망한 전적이 있던지라 다시한번 괴로운 상황이 되는 것은 피하고 싶었다.

그러던 와중에 모 회사에서 연락이 왔고, 투자 혹은 인수를 진행하고 싶다는 내용을 전달 받았다. 결론적으로 상황이 힘들어졌기 때문에 이 글에서 어떤 회사인지는 굳이 밝히지 않겠다. 거의 5~6개월 정도를 여러가지 이야기를 하며 티키타카를 했는데 결과적으로 투자는 어렵고 인수는 가능하다고 하여, 2년내 분사를 조건으로 입사하게 된다. 당시에 같이 QWER.GG 를 하던 사람이 7~8명 정도 되었던 걸로 기억한다. 그 중 합류하고 싶은 사람이 4명이었고, 나 포함 최종 5명이 홍대 위웍에 사무실을 꾸리고 드디어 풀타임으로 QWER.GG 를 시작하게 된다.

코로나19가 기승을 부리기 시작한 2019년 3월부터 10개월 여간 열심히 달렸다.

함께 고생해준 멤버들

6. 위기

여기까지만 보면 참 아름다운 스토리지만 위기는 다가왔다. 우선 BM 이 뚜렷하지 못했던 점이 발목을 잡았다. 나는 QWER.GG 의 기술과 운영, 영업 모두 책임지고 있다. 내가 첫 청사진으로 보았던 것은 QWER.GG 의 가치를 다른 게임으로 전이하는 것이었다. 즉, Riot 의 E-Sports 는 흥행이 잘 되는 곳이니 이를 베이스로 다른 게임 E-Sports 사이트를 개발, 운영하는 비용을 받는 것이 1차적인 접근이었다. 두번째로는 ESPN 과 같은 미디어로서 중계권을 받아 운영하는 방향이었는데 단기적으로는 쉽지 않은 일이었다. 세번째는 트래픽을 기반으로 한 배너 광고였는데, 이걸로 수익을 얻는 것이 정말 어렵다는 것을 알게 되었다. PV 가 100만이 나와도 턱없이 부족했다.

우리를 인수한 회사에서는 Data 를 셀링하고 싶어했다. 데이터, 데이터, 데이터... 요즘에 이 말만 들어도 좀 오바해서 경기가 일어날 것 같다. 우리가 할 수 있는 다양한 데이터를 만들었고, 프로팀에도 가져가고 했지만 생각보다 관심을 보이는 회사는 없었다. 한 군데라도 있었으면 뭐가 달라질 수 있었을텐데, 다들 우리 서비스를 좋아는 하지만 뭔가 돈을 쓰기에는 부족하다는 말들이 많았던 것 같다. 뭐 그도 그럴것이 본격적으로 B2B 를 노리기에는 핵심 요소가 부족했다.

데이터 관련 비지니스는 정말 많은 데이터를 가지고 있거나, 남들이 따라할 수 없는 확실한 기술이 받쳐주어야 하는데, 퍼블릭 한 데이터를 가지고 짧은 기간내에 구매욕을 당길만한 기술을 만들어내긴 힘들었다. 사실 모회사에서 약속했던 채용에도 인수된 이후로 수비적이었고, 데이터 과학자 채용 자체가 워낙 어렵기도 했다. 그리고 B2C 로 자리잡지 못한 상태에서,  B2B 로 섵불리 접근하는 것 자체가 좋은 선택이 아니었다고 본다. 모회사의 영업력을 신뢰하고 진행한 부분이 있었는데 그 부분에서도 솔직히 큰 도움이 되지 못했다.

우리가 잘 못 한 부분도 당연히 많았다.

일단 전적검색에 도전한 부분은 일정부분은 성공했으나 결과적으로는 포기하기로 했다. 몇가지 이유가 있는데 첫번째로 라이엇 API 가 과거 데이터를 2년치 밖에 주지 않는다. 대체할 수 없는 서비스가 스타트업의 첫번째 덕목일텐데, 어쨋든 유저가 내 과거 데이터를 보기 위해선 OP.GG 에 접속할 수밖에 없었다. 두번째로는 트래픽 대비 비용이 너무 컸다. 전적검색을 유지하기 위해서 들어가는 DB 사용료 대비 트래픽이 너무나 미미했다. 리그 비수기에는 전적 검색 밖에는 할 것이 없었지만, 우리 사이트는 기본적으로 E-Sports 를 보는 사람이 들어오는 곳이 었기 때문에 역시 부족했다. 세번째로는 Riot 또한 우리에게 우호적이지 않았다. API Rate Limit 이 너무 작았고, 아무리 우리가 퍼포먼스를 개선해도 Dependency 가 외부에 걸려있기 때문에 극복할 수 없는 부분이 있었다.

피쳐를 지나치게 많이 찍어낸 것도 큰 문제가 되었다. QWER.GG 에는 클럽, 롤짤, 커뮤니티, 엔터프라이즈 (예전 B2B), 전적, 리그, 일정 등등 생각보다 알려지지 않은 많은 기능들이 있었다. 트래픽을 만들기 위해서 피쳐를 찍어냈고, 우리가 안해도 되는 도메인에 너무 많은 시간을 투자했다. 트래픽이 나오지 않으면, 다음 피쳐, 또 다음 피쳐 이런식의 짧은 사이클로 개발하다보니 가능성있는 페이지도 완성도가 높지 않은 상태로 버려졌다. 조금 더 길게 잡고 만들었던 기능들을 천천히 개선했으면 좀 더 건강한 피쳐들로 성장하지 않았을까 하는 생각이 든다.

롤짤은 좀 더 잘만들어보고 싶긴 하다

결과론적인 일이지만 서비스 피인수를 너무 빠르게 결정했던 것 같다. 서버비가 많이 나왔던 것은 사실이지만, 차라리 그때 과감하게 전적검색을 접고 서버비를 낮추면서 좀 더 기다렸다면 어땠을까 싶다. 여러모로 팀의 사정이 있엇던 것도 사실이지만, 조금만 여유를 부렸다면 훨씬 좋은 조건으로 팀을 꾸릴 수 있지 않았을까 싶다. 사이드 프로젝트로 회사를 차리기 위해서는 인내심과 조심스러움이 더 필요했던 것 같다. 큰 미련은 없고, 지금 상황이 엄청 아쉽진 않아도 잘못된 결정은 잘못된 게 맞으니까.

7. 소감

솔직히 시원하다. 혼자 CTO, CEO, CFO 의 역할을 다 했어야 했고, 적지않은 스트레스와 부담감을 느꼈다. 인수한 회사의 시스템이 이해가 안되는 점도 많았고, 큰 도움을 못받았다는 점도 아쉽다. 그래도 어깨에서 부담을 많이 내려놓을 수 있고, 매각처와 궁합이 좋을 것이라는 기대감도 있다. 나름의 엑싯이라고, 큰 걸 하나 배웠다. 아마 N년간의 락업 기간이 설정될 거고 그 동안 QWER.GG 그리고 한두개 정도의 신규 프로젝트를 진행하게 될 것 같다.

오키나와 너무 그립고...

락업 기간이 끝나면 뭘 할지 모르겠지만, 그때의 일은 그때의 일이고 지금은 좀 쉬고 싶다. 한달 정도 쉬면서 만화책 보고 책 읽고 맛있는거 요리 해먹고 못 깬 게임도 하고 그랬으면 좋겠다. 오키나와가서 인터넷도 끊어버리고 한달 쯤 쉬다 오고 싶은데, 뭐 시기가 시기인 지라 어려울 것 같다. 제주도라도 가볼까?

QWER.GG 는 인수될 회사에서 살아가겠지만, "나의 QWER.GG" 는 막을 내리게 된다. 그동안 즐거웠고, 앞으로도 즐거울 것 같다. 좀 쉬다 올게. 안녕~