마이쿠키하우스
본인이 선택한 재료로 쿠키 하우스를 짓고 매일매일 주제에 맞는 사진을 업로드하며, 동시에 집 내부의 가구들을 채우며 한 해를 회고하는 서비스입니다.
최근에 구름톤 Univ 라는 해커톤 동아리를 통해 해커톤에 참여했습니다.
사실 당분간 프로젝트는 그만하고 싶다는 생각을 했었습니다.
그러다 온라인에서 [Kakao x Goorm] 구름톤
참가후기 글들을 보고 짧은 시간에 몰입해서 하나의 서비스를 만드는 해커톤에 참가하고 싶다는 생각이 들었고
그러다 또 우연히 같은 회사에서 주최하는 대학생 해커톤 동아리가 생겼다는 소식을 듣고 지원을 했습니다.
나는 서류를 통과하고 면접을 본 뒤에 합격해서 참여하게 되어, 알고보니 참가 절차는 학교마다 달랐던 거 같습니다.
서비스명은 마이쿠키하우스입니다.
본인이 선택한 재료로 쿠키 하우스를 짓고 매일매일 주제에 맞는 사진을 업로드하며, 동시에 집 내부의 가구들을 채우며 한 해를 회고하는 서비스입니다.
우리는 장기적으로 운영되는 서비스가 아닌 연말에 누구나 가볍게 즐길 수 있는 이벤트성 서비스로 주제가 정해졌습니다.
개인적으로도 이번에는 관심사와는 상관없이 누구나 쉽게 이용가능한 서비스를 만들고 싶었고 그만큼 쉽게 사용자들을 확보할 수 있다는 점이 매력적으로 느껴졌다.
기존에 비슷한 연말 이벤트성 서비스들이 있어서 걱정을 했지만, 우리만의 독보적인 디자인과 사진을 통해 회고한다는 점에서 분명 경쟁력이 있다고 생각했습니다.
위와 같이 처음 접속해서 로그인을 하면 본인의 쿠키하우스를 외관부터 짓게 됩니다.
여기서 본인의 쿠키하우스에 들어갈 재료를 두 가지 선택할 수 있고, 집에 사용될 아이싱도 선택이 가능합니다.
여기서 선택한 재료와 아이싱의 따라 본인의 집 외관이 바뀌는 것을 관찰하는 재미가 쏠쏠하다. 그 이후에는 집 내부의 벽지 색을 선택할수 있습니다.
집을 짓고 나면 위와 같이 본인의 집을 볼 수 있다. 화면 오른쪽 상단의 봉투 버튼을 통해서 매일 한 번씩 미션을 수행할 수 있습니다.
미션은 1년을 회고할 수 있는 내용으로 구성됩니다.
그리고 미션을 수행하면 보상으로 집 내부를 채울 수 있는 가구를 선택할 수 있습니다.
25일 동안 매일 미션이 하나씩 주어지고, 미션 하나 당 세 가지 가구 중 하나를 선택할 수 있습니다.
계산을 해보면 대략 50억 가지가 넘는 가구 조합이 나올 수가 있으므로, 본인의 쿠키하우스 내부 모습이 다른 사람의 집과 겹칠 확률이 매우 희박합니다.
미션을 꾸준히 하다 보면 위 사진 처럼 예쁘게 쿠키하우스 내부가 꾸며집니다.
그리고 이전에 수행한 미션을 본인 뿐만 아니라 다른 사람도 가구를 클릭해서 확인 할 수 있습니다.
그리고 마지막으로 쿠키하우스마다 익명으로 방명록을 남길 수 있습니다.
방명록 작성과 함께 귀여운 오나먼트도 선택할 수 있다. 방명록이 쌓일 수록 알록달록하고 귀여운 오나먼트들이 채워져서 보기 좋은데요.
우리 서비스의 가장 큰 강점은 디자인이다.
믿기지 않겠지만 15가지 조합의 쿠키하우스 외관 부터, 오나먼트, 75개의 가구들, 로고 등등 하나도 빠짐없이 디자이너 한 명이 직접 일러스트한 결과물입니다.
이렇게 좋은 작업물을 주시는데 개발을 열심히 하지 않는 것은 범죄에 가깝다고 생각했습니다.
팀 빌딩과 주제 선정 과정에서 굉장히 많은 우여곡절이 있었습니다.
내가 처음에 들어가려던 팀이 끝까지 기획 팀원을 구하지 못해 해체되고, 팀원을 구하지 못한 다른 팀과 강제로 합쳐서 주제 선정부터 다시 진행했습니다.
또한 대부분 6인 팀으로 구성되었지만 우리팀은 이런 저런 이유로 7명으로 구성되었고,
우리 팀만 팀빌딩 이후 몇 주 뒤에서야 여러 차례 회의를 거치고 나서야 주제가 확정되었다.
주제 선정 과정에서도 의견이 쉽게 통일되지 않아 어려움을 겪었다.
프론트엔드는 React+TypeScript+Vite 환경에서 진행했고, Tanstack-query, styled-component 등의 스택을 사용했습니다.
해커톤 당시 개발 기간은 6일밖에 되지 않아 주요 컨벤션과 스택만 정하고, 자세한 브랜치룰도 정하지 못하고 개발을 진행했다.
물론 이슈나 PR을 올리고 코드리뷰하는 것은 상상도 못했으나,
다만 본인이 개발한 내용이나 겪은 문제에 대해서는 바로바로 자세하게 카톡으로 공유하는 방식으로 했다.
또한 개발중일 때는 다들 게더타운에서 화면공유를 하며 자주 소통을 하였고, 다들 책임감을 갖고 개발을 해서, 다행히 큰 문제 없이 협업이 진행되었다.
허용된 개발 기간이 해커톤 당일 포함 6일 밖에 되지 않았기 때문에 해당 기간동안 하루도 빠짐없이 몇 시간씩 개발을 진행했다.
프론트엔드 팀원이 나 포함 3명이었는데 주요 컨벤션과 기술을 정한 뒤, 개발을 할 부분을 기능 단위로 분배하고 정신없이 개발을 진행했다.
정말이지 해커톤 당일이 어떻게 지나갔는지 기억이 가물가물할 정도로 개발에 몰입했습니다.
운영진에서 준비한 여러 이벤트들이 있었는데 사실 내 머릿속에는 개발 중 겪은 문제를 어떻게 해결할지에 대한 고민 밖에 없었습니다.
총 8시간의 개발 스프린트 시간이 주어졌는데 원하는 목표치까지 개발을 진행하기에는 부족한 시간이었다. 밥을 먹으면서도 한 손에 숟가락을 쥔 채로 키보드를 두드렸습니다.
결과가 어떻게 되든, 우리는 기간 내에 할 수 있는 COWORK을 최대로 활용했다고 생각했고, 어떤 팀보다도 더욱 돈독한 사이가 되었다고 생각이 되어 만족했고 재미있었습니다.
무엇보다도, 해커톤 자리에서 일회성으로 끝나는 사이가 아닌, 앞으로도 아이디어가 떠오르면 함께 프로젝트를 진행하면 좋을 사람들을 만났다는 사실 자체만으로도 매우 만족스러운 경험이었다.
발표는 6분이라는 굉장히 제한된 시간동안 진행했습니다.
그동안의 했던 노력들과 결과물을 6분안에 보여주려다 보니 시간이 촉박했습니다.
우리팀은 나름 결과물에 자신이 있어서 즉석에서 시연을 하려고 했는데, 시연을 하기 위해 장비를 연결하다가 시간이 너무 지체되어서 하려던 시연을 절반도 하지 못하고 발표를 강제로 마쳤습니다.
다들 열심히 참여했던 만큼 입상에 욕심이 있었는데, 발표를 준비했던 대로 하지 못해서 그동안의 노력이 물거품이 될까 불안했습니다.
다행히 최우수상(2등)을 받았습니다 ㅎㅎ
이때가 새벽 6시가 넘은 시점이어서 팀원들 모두 지치고 피곤한 상태였는데, 결과를 듣고 다들 언제 그랬냐는 듯 생기를 찾았습니다.
이후에 심사위원 한 분과 식사를 하면서 들은 이야기인데, 커밋수에서 팀별로 차이가 컸다는 점을 언급하시면서 심사할 때 개발 완성도를 중요한 기준으로 보셨다고 하시네요.
해커톤 이후에 다들 의욕적으로 서비스 출시를 위해 부족했던 부분들을 매꿔나갔습니다.
그 과정에서 UI도 조금 바뀌고 몇몇 기능들이 수정되었다. 또한 서비스 출시일인 12월 1일에 맞춰 홍보물을 제작하고 마케팅 전략을 세웠습니다.
그리고 12월 1일에 서비스를 개시했다. 첫날에 200명이 넘는 회원을 모았고 현재도 꾸준히 늘어나고 있습니다.
나는 하루에 수차례씩 Sentry에 들어가서 발생한 에러들을 모니터링 하면서 고칠 점이 없는지 체크하고 있습니다.
12월 1일 서비스 출시라는 명확한 목표가 있었던 것이 좋은 결과물을 내는데 주요했다고 생각합니다.
해커톤 이후에 목표가 없으면 흐지부지 될 수도 있었을 텐데 우리는 해커톤 이후에도 2주 뒤에 서비스 출시를 해야했기 때문에 지속적으로 몰입해서 발전할 수 있었습니다.
6일동안 420개 정도의 커밋을 했습니다.
아쉬운 점은 굉장한 시간적 압박을 느끼며 개발을 해서 코드의 퀄리티를 챙기지 못했다는 점입니다.
재사용될 컴포넌트들을 미리 예측해서 어느정도 미리 만들어 놓았음에도 중복되는 코드가 많았고, 단일책임 원칙이 무너지고 비대해진 컴포넌트들이 많았습니다.
해커톤 이전에 구름 회사 대표님께서 강연을 하셨는데, 그 때 "Done is Better Than Perfect" 라는 말을 많이 강조하셨습니다.
완벽하지 않더라고 완성하는 것이 중요하다는 뜻인데, 이 말을 되새기면서 "우선 기간내에 완성을 하자"를 주 목표로 삼고 개발을 진행해 나갔습니다.
서비스를 현재 운영중인데, 종종 유저들의 요구사항과 관련에 문의가 들어오고 있습니다.
유저의 의견에 귀기울여 더 좋은 서비스를 제공할 수 있도록 틈틈이 업데이트하고, 도입한 GA와 Sentry를 활용해 유저들이 주로 어디에서 머무르며,
어디에서 에러가 발생하는지 수시로 모니터링을 할 예정입니다.
다가올 크리스마스에 많은 사람들이 '마이쿠키하우스'와 함께했으면 좋겠다.
마이쿠키하우스