개발인생 첫 유저 접속을 경험한 건에 대하여

KwakKwakKwak·2023년 10월 15일
0

토이프로젝트

목록 보기
10/10

때는 바야흐로 일주일 전... 멋사 해커톤을 끝내고 일종의 번아웃이 온 뒤 잠시 스스로 정비 및 재충전하는 시간을 보내고 있을 무렵... 한 지인으로 부터 프로젝트 참여 제안을 받게 되는데...

제안 날짜로부터 일주일 안에 급하게 학교 학생들이 스포츠 경기를 중계받을 수 있는 플랫폼을 만들어야한다는 계획... 아무 생각 없이 수락한 뒤...

나는 덜컥 내 개발인생 처음으로 실제 유저를 받게 된 것이다...

The name is... HUFStreaming(가제).

이렇게 갑작스러운 유저 경험을 할 줄은 몰랐다

저도 한 때 유저를 꼭 받아보는 서비스를 만들어야겠다!는 열망이 있던 적이 있었습니다. 하지만 그 열망은 항상 이루어지는 법이 없었죠.

유저란게 내가 들어와! 라고 말한다고 들어오는 순종적인 녀석이 아니기 때문에(?) 취준개발자에게 있어 실제 유저 접속을 경험하기란 꽤 흔치 않은 경험으로 여겨집니다.

저 또한 여태껏 유저를 받아본 적은 한 번도 없었습니다. 그래서 무언가 유저를 받게 되는 순간에 대한 막연한 환상같은게 생겼어요.

대단한 환상은 아니지만 '개쩌는 서비스를 만들면 사람들이 모이겠지..?'와 같은, 말 그대로 유저란 존재를 신화 속 동물과도 같이 느끼고 있었습니다.

그런데 저번 주에 덜커덕 승낙한 프로젝트를 통해 처음 유저를 받아보게 되었고 그 환상처럼 '질적으로 개쩌는 서비스'가 아님에도 유저는 받아볼수 있다는 사실에 얼떨떨해하고 있습니다 ㅋㅋㅋ

HUFStreaming은 무슨 서비스죠?

제 첫 유저 경험 서비스가 되어버린(?) HUFStreaming이란 서비스는 이름에서 알 수 있듯이 한국외대 교내 진행되는 스포츠 경기들을 학우들이 온라인으로 접할 수 있게 하는 응원/중계 플랫폼입니다.

현재는 앞서 말했듯이 개발 기간이 일주일밖에 주어지지 않았기 때문에, 우선적으로 꼭 있어야 할 기능들만 최소한으로 골라 릴리즈하기로 목표를 잡고 개발한 뒤 몇몇 기능을 추가한 상황입니다.

교내 스포츠 대회 특성상, 특정 대회가 열리는 기간에 유저가 몰리는 특성을 가지고 있어 개발 주기도 대회 단위로 개발을 이어나가기로 했습니다.
현재는 교내 축구 대회의 막바지에 저희 서비스가 도입되어 약 이틀 동안의 사용기간을 부여받은 셈이죠.
이틀이라는 짧은 기간에도 불구하고 생각보다 훨씬 폭발적인 반응을 얻을 수 있었습니다. 축구의 특성상 훌리건이란 광적인 서포팅 문화가 있는 것처럼 교내 대회도 종목 특성을 그대로 이어받아 재치있는(다른 말로는 과격한) 댓글들이 많이 달렸습니다.

덕분에 핫픽스도 해봤다

댓글이 하나 둘 달리기 시작하더니 이윽고 축구 커뮤니티발 밈이 잔뜩 묻어있는 댓글들이 무수히 달리기 시작했습니다.

실시간으로 모니터링하면서 악성 댓글을 맞이하기 전까진 재밌었습니다. 선을 넘을랑 말랑 하는 특유의 응원 열기가 보는 맛이 있었습니다 ㅋㅋㅋ. 그러나 악성 댓글이 달리자 본능적으로 '댓글 삭제(블라인드)' 기능을 빨리 도입해야겠다 입이 모아졌습니다.

역시 응원은 뇌절이 필수인 것 같습니다..
(역시 응원은 뇌절이 필수인 것 같습니다...)

빠르게 블라인드 UI를 만들고, 갓 만들어진 삭제 API를 바인딩해 릴리즈했습니다. 블라인드 기능을 도입하니 무언가 점점 구색을 갖춰가는게 재미가 있더라구요 ㅋㅋㅋ

Github 내 기능 활용하기

나름대로 여러 프로젝트를 거쳐오면서 협업은 어떻게 해야할지에 대한 나만의 가치관이 만들어졌습니다. 깃허브 레포 리드미에 협업 컨벤션을 정리해놓는다든지, 코드 컨벤션은 무얼 택할지, 공동 워크스페이스로 노션을 활용한다든지 등의 규칙을 정했습니다.

또한 이번엔 이전에 활용해보지 못했던 깃헙 내 다양한 기능들을 활용하고자 했습니다.

대표적으로 github projects 기능이 이렇게 칸반 보드로 투두리스트를 관리할 수 있어 협업할 때 좋을 것 같다는 생각이 들었습니다. 그래서 개발해야하는 기능들마다 이슈를 발행하고 프로젝트에 바인딩하여 공유했고, 이슈별로 PR을 바인딩해 투두리스트가 동기화되도록 시스템을 짜봤습니다.

그리고 릴리즈 측면에서 이슈가 발생했는데, 클라이언트 레포가 오가니제이션에 묶여있어 Vercel 서비스를 이용할 때 Pro 요금제를 강제받는 문제가 생겼습니다. 그래서 불가피하게 제 개인 레포에 코드를 옮긴 뒤 배포하게 되었습니다.

이 과정에서 필연적으로 오가니제이션 레포 - 개인 레포 간 CI/CD 환경 구축이 필요해졌습니다. 이미 제 개인 레포는 Vercel을 사용 중이기 때문에 main에 push가 일어나면 자동으로 build 및 릴리즈가 되었습니다만 오가니제이션의 변경사항은 특별한 설정 없이는 제가 수작업으로 코드 파일을 복붙해야했죠.

그래서 github actions에 작은 yml을 작성해 오가니제이션의 변경사항을 개인 레포로 자동화하였습니다.

그런데.. 지금 제 개인 레포에 접근 권한이 없다는 에러(403)가 떠서 다시 손을 봐야할 것 같네요. 여튼 인프라 요소들도 신경쓰려 노력하고 있습니다.

이제는 임시 UI가 아닌 정식 디자인으로

짧은 이틀이었지만 강렬한 유저 경험을 통해 다시금 개발의 재미를 느낄 수 있었습니다. 동시에 이 서비스를 더 멋지고 사용자들이 쓰기 쉽고 직관적이게 만들어보자는 욕심이 생기더라구요.

다음에 있을 대회는 E스포츠 대회이며 11월말입니다. 그 전까지 섭외한 디자이너를 통한 전체적 UI/UX 재설정, 여러 feature들 추가의 작업을 하게 될 예정입니다.

현재로서는 네이버 스포츠 섹션을 벤치마킹하고자 합니다. 응원 팀을 나눠 대결하는 디자인으로 댓글 창을 개편하고자 하고, 소켓을 이용한 응원 대결, 리브랜딩, 대회별 카테고라이징, 구글 계정을 통한 OAuth 로그인 기능 등 많은 기능들을 개발할 예정입니다.

아, 또 사용자들에게 사용 후기 설문을 배포했는데, 피드백으로 경기에 대한 정보(라인업, 경기 진척도 등)를 요구하는 피드백도 많더라구요.
사용자들에게 피드백을 얻어보는 경험도 자연스레 진행돼 개발의 방향성도 훨씬 탄탄해지고 놓칠 수 있던 부분을 파악할 수 있어 좋았던 것 같습니다.


굉장히 성장하고 있다는 느낌을 많이 주는 프로젝트인 것 같습니다. 이런 프로젝트를 만나게 되다니 운이 참 좋다고 느끼는 요즘입니다. 개발 커리어를 시작하기 전에 유종의 미를 거둘 수 있게 된 것 같아 만족하고 있습니다. 다음엔 버전 2.0 제작기로 돌아오겠습니다. 레츠고!

0개의 댓글