호리병은 생겼지만, 마법은 아직 나타나지 않았다
2023년의 마지막 날, 나는 이 개인 사이트에 첫 글인 「다음 강으로 뛰어들다」를 썼다. 그 글의 마지막 문장은 이랬다. “나는 아직 물속에 있다.”
1년이 지났지만, 나는 여전히 물속에 있다.
강이 쉬워진 것도 아니고 건너편 강둑이 더 선명해진 것도 아니다. 다만 1년 전과 달라진 점이 하나 있다. 거의 10년간 일한 센스타임을 막 떠난 2023년 하반기에는 대부분의 시간을 몸부림치며 방향을 찾는 데 썼다. 2024년에는 구체적인 제품 하나를 만드는 데 대부분의 시간을 쓰기 시작했다.
그해의 본류는 제품이었고, 몇 차례의 제한적인 투자 유치 시도가 지류였다. 투자를 받지 못했고 방향을 증명할 만큼 강한 시장 신호도 만나지 못했지만, 우리는 27개 버전을 개발해 출시했다.
다음 강으로 뛰어든 뒤, 마침내 앞으로 헤엄치는 법을 배우기 시작했다.
먼저 호리병을 만들다
지난해 말 글에서 나는 결국 지능형 노트에서 시작하기로 했다고 썼다.
중학생 때부터 나는 글을 쓰지 않고 책을 읽지 않는 습관이 있었다. 책이나 글을 읽거나 영상을 볼 때 마음을 건드리는 대목을 알아차리고, 표시하고, 그 순간 떠오른 생각을 기록한다. 나는 이 과정을 ‘점 찾기’라고 부른다. 마음의 움직임을 알아차리고 거기서 생긴 영감을 기록하는 일이다.
그 점은 한 문장, 한 장의 이미지, 한 장면일 때도 있다. 당시에는 서로 아무 관련이 없어 보일 수 있다. 하지만 충분히 쌓이면 어느 순간 서로 연결되어, 하나의 문제를 이해하거나 이전에는 생각하지 못했던 판단을 형성하는 데 도움을 준다.
오랫동안 여러 노트 도구를 써 봤지만 이 습관에 정말 맞는 제품은 찾지 못했다. 센스타임을 떠난 뒤, 어릴 때 함께 새 둥지를 뒤지고 싸움도 하던 친구에게 연락해 같이 만들기로 했다. 2024년 상반기에는 대부분의 시간을 소후 타워의 공유 업무 공간에서 보냈다.
우리는 제품에 MagicGourd라는 이름을 붙였다.
‘호리병’은 내 아이의 애칭이기도 하다. 이름을 정할 때 의식적으로 많은 의미를 담은 것은 아니었다. 돌이켜 보면 그 안에는 무의식적인 바람이 숨어 있었는지도 모른다. 전업 창업자가 된 뒤 처음 만든 제품이 아이처럼 우리의 돌봄 속에서 천천히 자라기를 바랐던 것이다.
물론 제품은 아이가 아니다. 하지만 공통점이 하나 있다. 세상에 태어나게 하는 것은 시작일 뿐이고, 이후 오랫동안 돌보고 성장시키는 일이 정말 어렵다는 점이다.
우리가 그리던 진정한 제2의 뇌는 아직 현실에서 멀리 떨어져 있었고 한 번에 완성할 수 없었다. 그래서 가장 기본적인 한 걸음부터 시작하기로 했다. 웹을 탐색하거나 온라인 PDF를 읽고 영상을 볼 때, 마음을 건드린 부분을 바로 표시하고 영감을 적을 수 있게 하는 일이었다.
먼저 이런 점들을 담을 호리병을 만들자.
하나의 하이라이트 버튼 뒤에 있는 제품 판단
개발을 시작한 지 얼마 되지 않아, 너무 작아 보이는 문제 하나를 만났다. 하이라이트 버튼은 어떤 모습이어야 할까?
버튼 하나여야 할까, 여러 동작을 담은 패널이어야 할까? 사용자가 텍스트를 선택하면 바로 나타나야 할까, 아니면 사용자가 직접 불러낼 때까지 기다려야 할까? 어디에 나타나고 언제 사라져야 할까? 자동으로 나타나는 것을 싫어하는 사람을 위해 끄는 설정도 제공해야 할까?
선택지를 하나 늘릴 때마다 더 많은 요구를 충족할 수 있을 것 같지만, 제품을 이해하고 조작하는 비용도 늘어난다. 버튼이 더 적극적으로 나타나면 기능을 발견하기 쉬워지지만 읽기를 계속 방해할 수도 있다. 조용히 물러나 있으면 사용자는 더 집중할 수 있지만, 그런 기능이 있다는 사실조차 모를 수 있다.
이런 질문에는 알고리즘에서 말하는 표준 정답이 없다.
알고리즘을 만들 때 우리는 어떤 능력을 구현할 수 있는지, 정확도를 높일 수 있는지, 성능이 요구 사항에 도달하는지를 묻는다. 제품을 만들면서는 다른 질문을 반복하게 됐다. 기능은 언제 개입하고, 언제 무대 뒤로 물러나야 하는가?
기능이 동작한다는 것은 기술이 작동한다는 사실만 증명한다. 사용자가 그것을 이해하는지, 방해받는다고 느끼는지, 일상 속에 계속 두고 싶어 하는지가 제품의 성립 여부를 결정한다.
알고리즘과 대형 프로젝트를 만들 때도 현실 세계의 문제를 많이 다뤘다. 하지만 제품을 처음부터 만들자, 예전에는 제품, 디자인, 고객, 엔지니어링 팀이 나누어 맡던 판단이 갑자기 모두 우리의 몫이 됐다. 무엇을 보여 주고 무엇을 뒤에 숨길지, 무엇을 지금 만들고 무엇은 유용하더라도 당장은 만들지 않을지 결정해야 했다.
제품은 기능의 개수로 이루어지는 것이 아니라 수많은 선택으로 이루어진다는 사실을 조금씩 깨달았다. 때로는 ‘나타나지 않는 것’과 ‘방해하지 않는 것’도 제품의 능력이다.
제품은 시간 속에서 성립해야 한다
버튼이 자연스러운지는 사용자가 당장 느낄 수 있는 경험이다. 하지만 제품이 여러 해 동안 사용될지를 결정하는 더 많은 요인은 보이지 않는 곳에 숨어 있다.
MagicGourd는 한 사람의 독서 기록, 마음이 움직인 순간, 생각을 보관한다. 우리는 사용자 프라이버시를 최대한 보호하면서 기기 간 동기화와 미래의 지능형 서비스도 제공하고 싶었다. 둘을 동시에 이루기 위해 데이터를 로컬에서 암호화하고 백엔드에는 암호문만 저장하는 방식을 택했다. 개발과 유지 보수는 더 복잡해졌다. 하지만 사용자가 자신의 데이터를 진정으로 소유할 수 없다면, 진정한 제2의 뇌는 처음부터 성립할 수 없다.
동기화도 단순해 보이지만 실제로는 매우 복잡한 문제다. 사용자가 하이라이트 하나를 만들면 화면은 네트워크를 기다리며 멈추지 않고 즉시 반응해야 한다. 연결이 약하거나 완전히 끊겨도 기록은 중단되어서는 안 된다. 네트워크가 돌아오면 서로 다른 기기의 데이터가 중복되거나 덮어쓰이거나 조용히 사라지지 않고 정확히 동기화되어야 한다.
이를 위해 프런트엔드와 백엔드가 어떻게 협력할지, 데이터베이스가 데이터를 어떻게 구성할지, 버전 업그레이드 때 호환성을 어떻게 유지할지, 오류가 생긴 뒤 어떻게 복구할지를 다시 고민해야 했다. 사용자는 보통 이런 설계를 보지 못한다. 하지만 그중 하나라도 실패하면 숨겨져 있던 복잡성이 순식간에 가장 직접적인 사용자 경험으로 바뀐다.
단기적인 경험은 비교적 만들기 쉽다. 몇 분 동안 사람을 놀라게 하는 매끄러운 데모는 그리 어렵지 않다. 하지만 우리 눈에는 여전히 데모일 뿐이다.
데모는 눈앞에서만 성립하면 된다. 제품은 시간 속에서 성립해야 한다.
제품이 사용자를 10년 동안 동반하려 한다면, 10년 뒤의 경험을 지탱할 기반을 오늘부터 쌓아야 한다. 일반적인 도구의 장애는 잠깐의 불편으로 끝날 수 있다. 하지만 수년간의 노트를 보관하는 제품에서 한 번의 데이터 손실은 사용자가 쌓아 온 신뢰를 모두 무너뜨릴 수 있다.
시스템에 문제가 절대 생기지 않을 것이라고 약속할 수는 없다. 하지만 ‘사용자의 노트 한 건도 잃지 않는다’는 원칙은 가장 중요한 설계 제약 중 하나여야 한다. 제품 경험은 화면에서만 일어나는 것이 아니라 사용자가 볼 수 없는 데이터베이스 안에서도 일어난다.
아주 짧은 투자 유치의 지류
투자 유치를 그해의 지류라고 부르는 것조차 과장일 수 있다. 우리는 투자 기관 세 곳과만 대화했고, 나머지 대부분의 시간은 계속 제품을 만드는 데 썼다.
생각은 단순했다. 직접 또는 간접적으로 아는 초기 투자자에게 우리가 만드는 것을 설명하고 첫 엔젤 투자를 받고 싶었다.
그 투자의 의미는 돈에만 있지 않았다. 제품은 아직 완성되지 않았고 분명한 시장 신호도 없었다. 이 단계에서 뛰어난 투자자들이 이 방향을 타당하다고 보는지 외부의 피드백을 얻고 싶었다.
몇 차례의 시도는 모두 결과로 이어지지 않았다. 당시에는 AI 애플리케이션의 투자 환경이 좋지 않았고 우리도 투자자와 대화하는 데 익숙하지 않았기 때문이라고 생각했다. 두 요인 모두 존재했다. 하지만 돌이켜 보면 더 직접적인 사실이 있다. 투자 유치에 쓴 시간이 적었고 만난 기관도 세 곳뿐이었다. 한 차례의 투자 유치에 실패했다고 하기보다, 투자 기관과 몇 번의 초기 대화를 나눴다고 하는 편이 정확하다.
더 돌아볼 것은 의심을 받았을 때 나의 반응이었다.
MiraclePlus 면접에서 내 맞은편에는 내가 깊이 존경하는 사람들이 앉아 있었다. 그들이 우리의 생각을 거듭 반박하고 질문을 날카롭게 던졌을 때, 나는 복잡한 마음이 들었다. 투자를 받으러 왔으니 그들의 판단을 존중해야 하고, 어느 정도는 그들이 기대하는 답에 가까워져야 한다고 느꼈다.
하지만 투자 유치를 통해 솔직한 피드백을 얻으려 했다면, 스스로 믿지 않는 말을 하는 순간 그 피드백은 의미를 잃는다.
나중에는 우리가 정말 피드백만 원했던 것인지 의심하기 시작했다. 시장이 제품을 검증하기 전에 뛰어난 투자자들의 인정을 받아, 방향을 잘못 선택하지 않았다는 확신을 얻고 싶었던 것인지도 모른다.
낯선 강에 서서 강가의 누군가가 먼저 어디로 헤엄칠지 알려 주기를 바라는 것과 같았다. 하지만 창업자는 결국 직접 물살을 느끼고 눈앞의 사실에 근거해 판단해야 한다.
둥성 타워의 ‘현명 이로’
2024년 하반기, 우리는 소후 타워에서 둥성 타워로 옮겼다.
어릴 적 친구와 나는 오랫동안 페어 프로그래밍을 했고, 같은 화면을 바라보며 이야기하는 일이 많았다. 공유 업무 공간의 젊은 창업자들 사이에서 이런 일하는 방식은 눈에 띄었다. 시간이 지나자 사람들은 우리에게 ‘현명 이로’라는 별명을 붙였다.
재미있는 일이었다. 어린 시절 함께 새 둥지를 뒤지고 싸웠던 두 사람이 20년 뒤 공유 사무실에 앉아 MagicGourd라는 제품을 만들고 있었다.
커한을 만난 곳도 둥성 타워였다. 그는 MiraclePlus에서 커뮤니티와 창업 프로젝트 모집을 맡고 있었다. 처음 말을 걸었을 때 그는 물었다. “두 분은 창업자죠? 오래 지켜봤어요. 이 사무실 전체에서 두 분이 가장 창업자다운 상태로 일하고 있어요.”
나중에 우리가 MiraclePlus 면접을 봤다는 것을 알고 당시 상황을 함께 이야기했다. 그는 투자자가 창업 아이디어를 반복해서 의심하는 것이 단순히 반대를 표현하기 위해서만은 아닐 수 있다고 말했다. 창업자가 정말 충분히 생각했는지, 압박 속에서도 자신의 판단을 유지할 수 있는지를 시험하는 경우도 있다는 것이다.
그 말을 듣고 나는 당시 면접을 새롭게 이해했다.
투자자를 존중하는 것은 판단을 투자자에게 넘기는 일이 아니다. 창업자는 다른 사람이 왜 반대하는지 이해해야 하지만, 그들이 존경할 만하다는 이유만으로 자신의 판단을 포기해서는 안 된다. 피해야 할 것은 새로운 사실에 따라 생각을 바꾸는 일이 아니다. 아직 충분히 생각하지 않은 상태에서 인정받기 위해 말만 바꾸는 일이다.
이 교훈은 투자 유치에만 해당하지 않는다. 제품을 만들 때 우리는 매일 사용자 피드백, 경쟁 제품의 선택, 새로운 기술 흐름을 마주한다. 이런 외부 신호는 모두 진지하게 이해해야 하지만, 무엇을 제품에 넣을지 결정하는 책임은 여전히 우리에게 있다.
호리병은 생겼다
2024년 말까지 우리는 MagicGourd의 27개 버전을 개발해 출시했다.
일반 웹페이지의 텍스트와 이미지 주석으로 시작해 온라인 PDF를 지원했고, 같은 방법을 Bilibili와 YouTube로 확장했다. 사용자는 마음이 움직인 영상 장면을 표시하고 노트를 쓴 뒤 타임라인에서 그 순간으로 빠르게 돌아갈 수 있었다. 태그 관리, 검색, 내보내기도 차례로 추가했고 브라우저와 기기 사이에서 데이터를 동기화했다.
콘텐츠 형식을 하나 늘릴 때마다 많은 적응 작업이 필요했다. 웹페이지에는 통일된 구조가 없고 영상 플랫폼도 계속 바뀐다. 한 사이트에서 정상 작동하는 기능이 다른 페이지나 브라우저에서는 전혀 다르게 움직일 수 있다. 많은 시간은 눈에 띄는 새 기능이 아니라 경계 조건을 처리하고 기존 기능을 더 안정적으로 작동시키는 데 쓰였다.
그해 출시한 27개 버전에서 사용자 데이터가 유실되거나 손상된 사례는 발견하지 못했다. 가끔 발생한 장애는 로그인 인증 코드 같은 서비스 단계에 주로 집중됐다. 제보를 받으면 대부분 빠르게 원인을 찾고 해결할 수 있었다. 이것이 앞으로 시스템에 문제가 생기지 않을 것임을 증명하지는 않는다. 다만 사용자가 볼 수 없는 곳에 들인 시간이 헛되지 않았음을 보여 준다.
11월에는 sspai에서 영상 노트 기능을 소개했다. 댓글에 사용자 피드백이 달리기 시작했다. 이전에는 유용한 영상 장면을 캡처해 다른 곳에 붙여 넣던 한 사용자는 MagicGourd를 써 본 뒤 “이 확장 프로그램이 나를 살렸어요!”라고 썼다. 영상 타임라인의 물방울 표시를 좋아한 사람도 있었고, 독립 노트나 빠른 Safari 지원을 바라는 사람도 있었다.
사용자 피드백을 받는 일은 그해 가장 기쁜 일 중 하나였다.
기뻤던 이유는 사람들이 제품을 칭찬해서만이 아니었다. 누군가 우리가 만든 것을 자신의 실제 생활에 들여놓았기 때문이다. 사용자들은 유용한 제안도 건넸고, 우리는 계속 판단해야 했다. 어떤 의견이 공통 문제를 보여 주고 어떤 의견이 개인의 사용 습관에서 나오는지, 무엇을 즉시 해결하고 무엇은 유용하더라도 현재 단계의 제품에는 넣지 말아야 하는지 판단해야 했다.
제품 이름을 둘로 나누어 본다면, 그해 말까지 적어도 ‘호리병’은 만들었다. 마음이 움직인 순간과 영감을 모으고, 보존하고, 관리하는 그릇이었다.
마법은 아직 나타나지 않았다
하지만 그것은 아직 우리가 생각한 마법이 아니었다.
물론 AI를 사용할 것이다. 그러나 글 한 편의 요약을 만드는 데 그치지는 않는다. 요약은 정보를 압축할 수 있지만 인지를 앞으로 나아가게 하지는 못할 수 있다.
우리의 이해에서 정보는 사람이 받아들이는 내용이고, 지식은 이해되고 조직된 정보이며, 인지는 사람이 세계를 이해하고 연결과 판단을 만들고 새로운 경험이 들어올 때 그것을 수정하는 방식이다.
오늘날의 AI는 정보를 잘 처리하고 지식을 정리하는 능력도 점점 좋아지고 있다. 글을 요약하고 핵심어를 추출하고, 자료 안에 이미 답이 있는 질문에 대답할 수 있다. 하지만 열 쪽을 한 쪽으로 압축하거나 노트 앱 옆에 채팅창을 붙이는 데 그친다면 우리가 정말 만들고 싶은 것에는 아직 닿지 못한다.
미래의 MagicGourd는 한 사람이 오랫동안 쌓아 온 기록을 이해하고, 서로 다른 시기와 매체에 흩어진 마음의 움직임을 다시 만나게 해야 한다. 반복해서 등장하지만 명시적으로 표현된 적 없는 주제를 발견하고, 노트 사이의 연결과 모순을 보여 주며, 오랫동안 답하지 못한 질문을 찾거나 과거의 생각을 적절한 순간에 다시 불러올 수 있을 것이다.
더 중요한 것은 사용자가 아직 생각하지 못했지만 계속 탐구할 가치가 있는 질문을 제시해, 스스로 새로운 판단을 형성하도록 돕는 일이다.
여기에는 분명한 경계가 필요하다. AI는 자신의 추측을 사용자가 아직 깨닫지 못한 ‘진실’로 포장해서는 안 된다. 가능한 연결, 모순, 질문을 제시할 수는 있다. 그 연결이 타당한지는 끝내 사용자가 판단해야 한다.
마법은 사용자를 대신해 생각하는 것이 아니다. 사용자가 아직 끝내지 못한 자신의 생각을 볼 수 있도록 돕는 것이다.
그해 우리는 이 아이디어와 관련된 내부 데모 몇 개를 만들었다. 요약을 만들고 내용을 정리하며 질문에 답할 수 있었다. 이미 AI 제품처럼 보이기도 했다. 하지만 우리가 말한 ‘인지를 앞으로 나아가게 하는 것’과는 여전히 거리가 멀었기 때문에, AI 흐름을 따라가기 위해 서둘러 출시하지 않았다.
AI가 한 사람의 인지 과정에 더 깊이 참여할수록 접근해야 하는 데이터는 더 사적이 된다. 그래서 프라이버시와 데이터 소유권은 마법과 별개의 엔지니어링 문제가 아니라 마법이 성립하기 위한 전제라고 더욱 확신하게 됐다. 사용자를 이해하고 싶다고 말하면서 동시에 자신의 데이터에 대한 통제권을 포기하라고 요구할 수는 없다.
그래서 2024년 12월 31일, 호리병은 생겼지만 마법은 아직 나타나지 않았다.
투자를 받지 못했고, 결정적인 시장 신호도 보지 못했으며, 분명한 사업 모델도 세우지 못했다. 이 강이 결국 어디로 흐를지도 여전히 알지 못했다.
하지만 우리는 27개 버전을 출시했다. 사용자들은 제품을 자신의 생활에 들이기 시작했다. 우리도 작동하는 데모를 진짜 제품으로 바꾸고 오랫동안 책임진다는 것이 무엇인지 이해하기 시작했다.
1년 전 나는 “나는 아직 물속에 있다”고 썼다.
1년 뒤에도 나는 여전히 물속에 있었다. 강이 쉬워진 것도, 건너편 강둑이 더 선명해진 것도 아니었다.
하지만 호리병은 만들었다.
마법은 아직 나타나지 않았다. 건너편에도 도착하지 못했다. 그래도 적어도 앞으로 헤엄치기 시작했다.