지난번 게임 개발 실패의 아픔이 채 가시기도 전에, 아들과 저는 또다시 새로운 도전을 시작했습니다.
이번에는 모바일 SNS 앱을 만들겠다고 나선 것이었죠. 주변 사람들은 당연히 놀랐습니다.
비개발자인 아빠와 아들이 SNS 앱을 만들 수 있을까요?
이미 인스타그램과 페이스북 같은 거대 플랫폼이 시장을 장악한 세상에서 말입니다. 잠깐만 생각해 봐도 굳이 도전할 이유는 없어 보였습니다.
하지만 저는 차별화된 SNS라면 충분히 해볼만 하다고 생각했어요.
AI 기술이 빠르게 발전하는 이 시대에는 굳이 코딩을 다 알지 못하더라도 노코드 툴을 이용한 개발 속도 또한 엄청나게 빨라졌습니다. 출시, 성공, 실패까지 확인하는 시간이 점점 짧아지고 있죠. 매일같이 새로운 서비스들이 쏟아지고, 그 흐름을 따라가기도 벅찹니다. 이 속도 속에서 "이게 될까?"라는 의문에 사로잡히면 아무것도 하지 못하게 됩니다.
그래서 저는 '무조건적인 실행'이 답이라고 믿었습니다.
세상을 바꾸는 아이디어가 나올 때까지 계속 생각만 하고 있다면, 바뀌는 것은 아무것도 없을 테니까요. 빠른 실행과 빠른 실패, 그 후 빠르게 수정하고 재도전하는 과정이 더 낫다고 판단했습니다. 완벽한 아이디어를 기다리며 주저하는 것보다는, 일단 시도하고 실패를 통해 배우며 개선하는 것이 성공으로 가는 더 현실적인 방법이라고 확신했습니다.
지난번 뉴진스 빌리지개발에서 얻은 교훈중에 하나가 개발은 개발자에게 맡기자였어요.
이번엔 SNS 앱개발이었으니 우리에겐 또 다른 새로운 영역이라 전문 개발자가 꼭 필요했었거든요. 저는 친한 개발자 승우님에게 어라운드의 컨셉을 설명했습니다. 승우님은 첫 지피터스 스터디에서 만난 분으로, 부드럽고 선한 인상에 AI 강의와 개발을 병행하는 실력자였죠. 상상을 현실로 만들기엔 그분이 딱이었습니다.
저녁 식사 한 끼를 대접하며 승우님을 우리 프로젝트의 CTO(Chief Technology Officer)로 영입했어요. 역시 개발자답게 승우님은 어라운드의 컨셉을 듣자마자 바로 피그마(Figma)로 첫화면 디자인을 만들어 보여주셨죠. 그 즉시 실행에 옮기는 모습을 보며, 어라운드가 빠르게 실현될 가능성을 확신할 수 있었습니다.
피그마(Figma)는 앱 개발 디자인을 위한 툴인데 아이디어를 바로바로 시각화할 수 있는 것이 큰 장점입니다. 전문가들이 만든 템플릿을 활용할 수 있어, 디자인 작업이 빠르고 효율적이었어요. 초기 단계에서 다양한 시도를 무료로 할 수 있다는 것도 매우 유용했습니다. 특히, 기본적인 앱 구성을 위한 템플릿과 색감 표현이 쉬워, 어라운드 앱의 전체적인 느낌과 대표 색상을 결정하는 데 피그마가 큰 도움을 주었죠.
< 피그마의 기본 SNS 템플릿 >
이틀 만에 승우님이 어라운드 앱의 상세 페이지 초안과 각 기능을 엑셀로 꼼꼼히 정리해 보내주셨습니다.
그 순간, 저는 개발자와 비개발자의 기획력의 차이가 이렇게 크다는 걸 실감했죠. 단순한 버튼 하나에도 기능이 세세히 정의되어야 하고, 색상, 크기, 위치, 클릭 여부에 따른 상태까지 모든 것이 철저히 기획되어야 하더군요.
핸드폰 화면에 보이는 모든 요소가 각각의 목적을 가져야 했습니다. 로그인 버튼 하나에도 세부적인 동작 규칙이 있고, 뒤로 가기, 검색창 같은 디테일이 하나의 페이지에 촘촘하게 계획돼야 했어요. 이 모든 것이 단순한 설계 이상으로, 철저한 기능과 로직의 연결 고리로 엮여야 한다는 걸 배웠습니다.
사실, 이 과정은 제가 예상했던 것보다 훨씬 더 복잡했습니다. 게임 개발과는 사뭇 다른 영역이었어요. 아들과 저는 처음부터 다시 배우면서 해야겠다는 결심을 했습니다. 우리가 만만하게 생각했던 이 프로젝트가 결코 쉬운 일이 아님을 절실히 깨달았거든요. 이미 출시된 게임이나 앱을 바라보며, 이런 서비스 하나가 세상에 나오기까지 얼마나 많은 시간과 노력, 그리고 여러 사람들의 헌신이 필요한지 몸소 체험하게 되었죠.
< 개발자 갓승우님의 손길이 닿자마자 아들의 아이디어에 10배의 속도가 납니다. 역시 전문가의 손길이 필요하네요 >
지난번에는 그저 무식하게 시작했지만, 중간에 멈추지 않고 끝까지 가는 것이 얼마나 어려운지 절실히 느끼고 있었습니다. 무언가를 만들어내는 과정은 고되지만 동시에 성장하는 기회이기도 했죠. 그런 순간마다 승우님은 항상 격려하곤 했습니다.
"한 걸음 한 걸음, 스몰 스텝으로 나가면 되요"
이번에는 세 명이 한 팀으로 움직이는 만큼, 아들과 아빠 둘이서 주먹구구식으로 했던 것과는 달라야 한다고 생각했어요. 그래서 제가 제일 좋아하는 일부터 시작했습니다. 바로 팀 이름 정하기! 당시 AI 광풍이 불고 있었고, 우리 팀 모두 AI와 관련된 이름을 원했죠. 그래서 저는 'ChatGPT'와 '뉴진스 빌리지(NJ Village)'에서 따와서 'ChatVillage'가 어떻냐고 제안했습니다.
사실 도메인도 미리 구입해 둔 상태라, 이름 정하는 데 시간 절약도 하고요. 아들이 처음엔 숟가락 얹는 것 같다며 웃었지만, 승우님도 괜찮다고 하니 만장일치로 결정되었습니다.
이렇게 챗빌리지(ChatVillage) 팀이 공식 출범했습니다.
< 챗빌리지 홈페이지, '우리는 캐릭터에 생명을 불어넣는다'는 뉴진스 빌리지의 민지캐릭터에 AI 기능을 넣는다는 의미>
우리 챗빌리지 팀은 각자의 역할을 명확히 나누어 진행했습니다. 아들은 피그마(Figma)로 어라운드 앱의 기획과 UI/UX 설계를 맡았고, 승우님은 플러터(Flutter)를 활용해 앱을 실제로 개발했습니다.
플러터는 구글에서 만든 앱 개발 프레임워크로, 안드로이드와 iOS에서 모두 동작하는 앱을 한 번에 만들 수 있다는 큰 장점이 있었어요. 또한 직관적인 사용 언어를 사용하고, 파이어베이스(Firebase) 서버를 무료로 사용할 수 있어 빠르게 프로토타입을 개발하는 데 적합한 프로그램이었죠.
< 빠르고 쉽게 모바일앱을 만들 수 있는 플러터(flutter.dev) >
그리고 저는... 팀의 전반적인 일정 관리와 조율을 맡았습니다. 물론 회식 담당이 제일 중요한 역할이었죠.
사실 이것이 없으면 우리 팀의 사기가 떨어질 수 있었거든요. 저희팀이 성공하기 위한 제 비밀 무기였습니다. 피자, 치킨, 그리고 삼겹살을 양손 가득 들고 팀원들에게 달려가는 제 모습이야말로 프로젝트 성공의 숨은 공로자 아니겠습니까?
우리 팀은 그 작은 한 걸음 한 걸음을 모아 앱의 기본 틀을 하나씩 완성해 나갔습니다. 아들의 기획안, 승우님의 개발, 그리고 제가 마련한 삼겹살 덕분에 어라운드의 첫 번째 페이지가 완성되어 갔죠. 단순해 보였던 아이디어가 이렇게까지 실현되어 가는 과정을 보며 우리 모두 흥분과 자부심을 느꼈습니다.
이렇게 세 명의 팀워크와 노력 덕분에, 어라운드 앱은 점점 더 구체화되었고, 작은 시작이었지만 우리에겐 큰 가능성을 보여주기 시작했습니다.
< 스벅에서 코딩하는 챗빌리지팀. 물론 저는 커피값을 제공했죠 >
어라운드 앱은 처음부터 완성품으로 만드는 것이 아닌, 컨셉과 시장 반응을 확인하기 위한 MVP(Minimum Viable Product, 최소기능 제품)를 만드는 것을 목표로 했어요. 기간은 승우님이 틈틈이 시간 날 때마다 작업을 하는 일정이었기 때문에 넉넉히 5개월을 잡았습니다. 그리고 5월 5일 어린이날을 MVP 출시와 클로즈드 테스트(closed test, 내부인원들에게 검증) 목표일로 정했죠.
어라운드의 MVP를 만드는 과정은 그야말로 재미와 고통이 뒤섞인 여정이었습니다.
승우님의 뛰어난 개발 지식과 승주의 발 빠른 아이디어 덕분에 우리는 Figma를 활용해 UI를 빠르게 기획했고, 일주일 만에 버전 1이 나왔습니다. SNS 앱을 처음 만들면서 이렇게 빠르게 진도가 나갈 줄은 몰랐죠. 승주의 디자인 능력과 승우님의 집중력 있는 코딩 덕분이었어요.
하지만 그 뒤로부터 고통의 진짜 시작이었습니다.
첫 번째 큰 장벽은 기능 개발의 지연이었어요.
고등학생으로서 경험이 부족하다 보니, 아들은 SNS 앱의 세부 기능을 하나하나 기획하고 설정하는 데 많은 시간이 필요했습니다. 피그마에 기능별로 설명을 기록해두었지만, 승우님과의 소통에서 어려움이 있었어요. 각기 다른 세대와 배경을 가진 두 사람이 같은 페이지에 맞춰 가는 일이 결코 쉽지 않았습니다. 승우님은 30대 개발자, 아들은 10대 고등학생이었죠. 각자의 방식과 기대감이 달라 서로의 언어가 맞지 않을 때도 많았습니다.
예를 들어, 아들은 앱의 디자인과 사용자 경험을 섬세하게 기획했지만, 개발자가 구현할 수 있는 수준을 넘은 부분들도 있어서 현실적인 개발의 한계에 부딪히기도 했습니다. 특히 UI에 대해 아들이 기능 설명을 피그마에 자세히 남겨두었지만, 실제 개발자 입장에서 구현이 어려운 부분이 많았던 거죠. 승우님은 여러 해 동안 쌓아온 개발 경험을 바탕으로 더 간결하고 효율적인 해결책을 제시했지만, 아들은 본인이 구상한 대로 일이 진행되지 않아 실망스러워 할때도 있었습니다.
사실, 셋이 처음으로 함께하는 프로젝트였기에 서로에 대한 기대감도 컸지만, 실망도 없지 않았습니다.
아들은 처음부터 자신의 모든 아이디어와 기능을 빠르게 구현하고 싶었지만, 현실적인 개발의 제약이 있었고, 승우님은 고등학생 파트너와 일하는 게 처음이었기 때문에 그에 맞춘 소통 방식과 유연성이 필요했죠.
그리고 그 중간에서, 아빠이자 나이가 제일 많은 제가 둘 사이의 긴장을 완화하는 역할을 맡았습니다. 아들의 실망을 달래며, 동시에 승우님의 입장을 이해하려고 노력했어요. 하지만 이러한 어려움 속에서도 우리는 팀워크를 점점 더 다듬어갔습니다. 어쩔 수 없이 우리가 할 수 있는 것과 해야 할 것을 명확하게 구분하게 되었고, 그 과정에서 고통을 성장의 기회로 삼기로 했습니다.
그리고 저는... 여전히 식사 담당으로서 팀의 사기를 유지하는 데 큰 역할을 했습니다. 중간중간 서로간의 의견 차이로 힘들어할 때마다, 돼지갈비로 배를 채우고 스타벅스에서 카공족을 흉내내며 웃음을 되찾았죠. "개발이 어려울 땐 배라도 불러야 한다!"는 게 제 철학이었거든요. 팀워크의 숨은 비결은 바로 저의 회식 추진능력이 아니었을까요?
결국 저는 높았던 목표를 조금씩 낮추는 결정을 내렸습니다. 초기에 설정한 기능들이 너무 많아서 5월 5일에 출시하는 것이 불가능해 보였거든요. 그래서 댓글과 공유 기능들을 최소화하고 우선 간단한 버전으로 출시하기로 방향을 수정했습니다. 아들은 반대했지만 팀원 모두가 지쳐있었고 일단 첫 MVP는 완벽하지 않아도 무조건 기간내에 끝내야 결론지을 수 있다고 생각했어요
어쨌든, 이렇게 재미와 고통이 함께한 과정을 겪으며 우리는 작게나마 한 걸음씩을 계속 내딛었습니다.
그리고 대망의 24년 5월 5일.
우리는 어라운드 버전1을 핸드폰에 설치하고 구글로 로그인을 했습니다. 빠르고 깔끔했고 지도를 이리저리 움직이며 사진도 올려보았습니다. 우리가 만든 앱이라는 사실이 신기했고, 그래서인지 점점 애착이 가더군요. 성공할 것 같은 기대감에 가슴이 두근거리기도 했지만, 한편으로는 아직 개발되지 않은 기능을 보면 조금 아쉽기도 했죠.
마침 일하던 사무실에서 노들섬 석양에 대한 이야기가 나왔어요. 4월의 봄바람이 살랑살랑 부는 날씨에 사람들이 엄청 모여서 해질녁 노을을 보는 명소라고 하더군요. 그래서 지금 그곳에 사람이 얼마나 있을지 궁금해서 유튜브와 CCTV를 검색해봤지만, 지금 이순간의 노들섬 현장 상황을 알수 있는 된 정보는 없었어요.
이때 어라운드가 있었으면 얼마나 좋았을까요? 노들섬 위로 지도를 옮겨 직접 질문을 올려 '지금 거기 사람 있나요?'라고 물어봤다면, 지금 노들섬에 나와 있는 사람들이 바로 답을 줬을 거라 생각했죠.
< 지도위에 '노들섬에 사람 많아요?'라고 물어보면 주번에서 '사람 진짜 많아요'라고 사진으로 답해줄 수 있다. 업데이트 버전>
어라운드는 이처럼 실시간 소통이 필요한 상황에서 굉장히 유용할 수 있을 겁니다. 우리가 만들고 있는 앱이 어떻게 사람들의 궁금증을 해결하고, 실시간으로 소통할 수 있을지 점점 확신이 생기고 있었습니다.
이제 세상을 바꿀 우리만의 SNS가 탄생할 날이 다가오고 있었습니다. 뭐 우리만의 생각이지만...ㅎㅎ
<저작권 관련 공지>
고3 아들의 꿈을 응원하며 시작된 이 프로젝트는, 재미있고 진지한 팀워크로 탄생한 결과물입니다. 아들의 꿈을 빼앗아 가는 무단 복제나 아이디어 도용을 금지하며 아래와 같이 공지드립니다. 감사합니다.
"어라운드(Around by ChatVillage)" 상표 및 관련된 모든 콘텐츠, 디자인, 로고, 및 기타 지식재산권은 글쓴이의 소유입니다. 이 권리는 대한민국 저작권법 및 기타 관련 법률에 의해 보호됩니다. 명시적인 서면 동의 없이 "어라운드(Around by ChatVillage)"의 어떠한 부분도 복제, 배포, 수정 또는 상업적 목적으로 사용할 수 없습니다.