본문으로 건너뛰기
Chandler Nguyen
AI4분 읽기

거의 UI가 없는 앱을 만들었다. 그게 핵심이었다.

제 코미디 앱에 대한 최고의 평가는 친구 넷과 한 잔의 술이 놓인 테이블에서 나왔습니다 — 그리고 첫 버전은 그 평가를 통과하지 못했습니다. 그래서 저는 농담 포맷을 걷어냈고, 그다음에는 인터페이스를 걷어냈습니다. 이 글에서는 제스처 하나짜리 앱이 무엇을 강제하는지, 왜 75초라는 상한이 테이블에 머무는 시간의 제약인지, 그리고 하루 종일 보는 지표가 '주의(attention)'인 사람에게 가장 불편한 부분이 무엇인지 다룹니다.

제 코미디 앱에 대한 최고의 평가는 친구 넷과 한 잔의 술이 놓인 테이블에서 나왔어요.

누군가 "농담 하나 해줘"라고 했어요. 저는 요즘 모두가 하는 걸 했죠. 휴대폰을 집어 들고, 뭔가를 열고, 다섯 개의 대화가 제가 돌아오길 기다리는 동안 엄지로 스크롤을 시작한 거예요. 그게 바로 제가 Knora를 만들면서 피하려던 행동이고, 첫 버전은 똑같은 방식으로 똑같은 시험에서 실패했어요.

Knora는 무료 iPhone 앱이에요. App Store에서 받을 수 있어요. 휴대폰을 흔들면 짧은 코미디 한 편이 한두 목소리로 처음부터 끝까지 재생되고, 그 뒤에는 볼 게 아무것도 없어요. 스크롤할 피드도, 둘러볼 라이브러리도, 만들 계정도 없죠. 인터페이스 전체가 하나의 제스처예요. 언어와 소재 때문에 18+ 대상으로 쓰였는데, 그게 이 물건의 요점이고 동시에 테이블에 있는 모두를 위한 게 아닌 이유이기도 해요.

저는 두 가지를 걷어내면서 여기까지 왔어요. 그리고 두 번의 삭제 모두 편하지 않았죠. 첫 번째는 사용자들이 이미 이해하고 있던 포맷을 지웠어요. 두 번째는 앱의 대부분을 지웠고요.

제가 처음 걷어낸 건 농담이라는 포맷이었어요

Knora는 노크 노크 농담 앱으로 시작했어요. 요청하면 노크 노크 농담을 만들어 낸다는 점에서는 작동했죠. 문제는 그 형식 자체가 천장이었다는 거예요. 노크 노크 농담은 모두 같은 골격을 가져요 — 설정, "누구세요", 반전 — 그리고 모델은 그 골격 안에서 좋은 걸 쓸 수는 있어도 결국 노크 노크 농담밖에 못 만들어요. 구조가 앱이 얼마나 웃길 수 있는지를 정해 버렸고, 아무리 프롬프트를 다듬어도 구조를 이길 수는 없었어요.

그래서 저는 포맷을 지웠어요. 그건 사람들이 알아보는 걸 지운다는 뜻이었고, 막 작동하기 시작한 제품에 하기에는 이상한 일이었죠.

그 자리를 대신한 건 템플릿이 아니라 몇 가지 코미디 기법이었어요. 각 비트는 정확히 한 가지 기법으로만 만들어지고, 여러 개를 뒤섞지 않아요. 작은 것에 진짜 부조리한 규칙을 적용하거나, 시간을 들여 진행하다가 뒤집히는 이야기, 또는 칭찬처럼 시작해서 칭찬이 아닌 것. 지금 네 가지가 돌아가고 있어요. 생성기가 비트마다 하나를 고르고, 앱은 절대 고르지 않아요.

그 한 번의 변경이 그전의 모든 프롬프트 수정보다 결과물을 더 좋게 만들었어요. 이게 첫 번째 불편한 교훈이에요. 때로는 모델이 애초에 병목이 아니었고, 컨테이너가 병목이었던 거죠.

제가 두 번째로 걷어낸 건 인터페이스였어요

화면을 없애는 건 더 어려웠어요. 화면은 뭔가를 만들었다는 걸 사용자에게 보여 주는 방식이니까요.

테이블에서 열리는 앱은 테이블과 경쟁해요. 제가 추가한 모든 요소 — 둘러볼 수 있는 목소리 목록, 마음에 든 비트 라이브러리, 작은 프로필 — 는 술잔을 들고 있는 사람들보다 휴대폰을 더 흥미롭게 만들었어요. 브리프는 "좋은 코미디 앱을 만든다"에서 "제스처 하나, 그리고 휴대폰은 다시 내려놓는다"로 바뀌었죠.

그래서 온보딩도 로그인도 없어요. 원하면 목소리와 언어를 고를 수 있지만, 아니면 첫 실행 때 무작위 화자가 뽑히고 설정 화면은 아예 열지 않아요. 조정할 개인화가 없다는 건, 잘못될 개인화도 없다는 뜻이에요.

마이크 없는 음성 전용 코미디 앱은 설명이 좀 필요하니 분명히 말할게요. 이 앱은 절대 듣지 않아요. 소리 내어 말할 것도, 입력할 것도 없어요. 비트는 서버에서 작성돼 오디오로 휴대폰에 전송돼요. 휴대폰은 흔들림 감지기가 달린 스피커예요.

"UI 없음"이 실제로 강제하는 것

인터페이스를 없앤 건 무엇보다 먼저 취향의 결정이었어요. 알림과 빽빽한 화면으로 모두가 당신의 주의를 뺏으려는 세상에서, 저는 거의 새까만 화면을 흔들어서만 쓰고 싶었어요. 다만 그 결정은 엔지니어링 제약을 함께 끌고 와요. 적어 둘 가치가 있는 건 그쪽이에요.

모든 흔들림은 즉각적이어야 해요. 비트가 뜨는 데 6초가 걸리면, 테이블은 이미 다른 데로 넘어갔고 휴대폰은 다시 뒤집혀 있어요. 그래서 비트는 미리 작성하고 미리 녹음해서 카탈로그에서 내보내요. 실시간 생성도 존재하지만 폴백과 보충으로서죠 — 카탈로그가 낡지 않게 해 주는 것이지, 사용자가 기다리는 경로가 아니에요.

둘러볼 게 없으면 고를 것도 없어요. 고를 목록이 없으니 앱은 스타일도 모델 선택도 보내지 않아요. 백엔드가 기법 하나를 뽑고, 여러 초안을 쓰고, 오디오가 만들어지기 전에 가장 좋은 걸 남겨요. 화면에 판단을 놓을 자리가 없어서 판단은 서버로 옮겨 갔어요.

비트 하나는 약 75초로 제한돼요. 이건 기술적 한계가 아니라 테이블에 머무는 시간의 예산이에요. 이야기를 하기엔 충분히 길고, 잘 안 되는 것의 3분째를 테이블에서 아무도 기다리지 않아도 될 만큼 짧아요.

클라이언트는 2.5 MB예요. 앱 안에는 거의 아무것도 없어요. 앱 안에 거의 아무것도 들어가면 안 되니까요.

작성자는 교체 가능해요. 프로덕션에서는 Gemini 3.8 Flash가 돌고, 검수와 best-of-N 선택은 다른 모델이 맡아요. 작성자를 바꾸는 건 설정 변경일 뿐이고 앱 릴리스는 전혀 필요 없어요. 쓰는 모델이 몇 달마다 교체될 때 이게 중요하죠.

취향은 자동화할 수 없어요

제가 배운 가장 유용한 건 평가에 관한 것이고, 이건 코미디를 훨씬 넘어 일반화돼요.

네 번, 자동 심사는 제 귀에는 안 웃긴 결과물에 높은 점수를 줬어요. 네 번이요. 모델은 구조가 온전한지, 기법이 알아볼 만한지, 반전이 제자리에 오는지는 알려 줄 수 있어요. 반전이 먹히는지는 알려 줄 수 없죠. 저는 계속 그것을 시키려 했고, 모델은 계속 자기 자신에 동의했어요.

그래서 문제를 둘로 나눴어요. 기계적 검사는 기계적으로 확인할 수 있는 것들을 지켜요. 조작된 숫자, 그대로 옮긴 원문, 대사 중간에 새어 나온 지문, 어떤 집단이나 신체, 질병, 사별을 깔보는 것. 나머지는 귀가 결정하고, 저는 그걸 위임하려는 시도를 그만뒀어요.

AI 기능을 출시한다면, 이 분리가 일의 대부분이에요. 품질 중에서 진짜로 검증 가능한 부분을 찾아 사과 없이 자동화하세요. 그리고 나머지는 판단이며, 아무리 정교한 평가 기준도 그것을 바꾸지 못한다는 걸 — 자신에게도, 묻는 사람에게도 — 솔직하게 말하세요.

이 프로젝트의 README는 그걸 분명히 적어 뒀고, 저는 더 나은 표현을 찾지 못했어요. 코미디에 대한 자동 통과를 절대 믿지 마세요.

제가 일부러 포기한 것

구멍처럼 보이는 두 가지 결정, 그리고 진짜 구멍인 하나.

앱이 어떻게 쓰이는지 볼 수 없어요. 분석 SDK도, 계정도, 개인 데이터도 없어요. 프라이버시 주장은 진짜이고, 대가도 진짜예요. 어떤 비트가 먹히고, 어떤 목소리가 건너뛰어지고, 몇 명이 두 번 여는지 저는 몰라요. 누가 알려 줄 때 알게 되죠.

공유 버튼이 없어요. 이건 베팅이고, 제가 틀렸을 수도 있어요. 공유는 코미디 앱이 보통 퍼지는 방식인데, 저는 그 메커니즘을 일부러 만들지 않았어요. 링크가 단체 채팅방을 도는 대신 휴대폰이 테이블을 도는 쪽에 걸었어요. 틀렸다고 밝혀지면 고치는 건 뻔하고, 아마 이미 늦었을 거예요.

아직 평점이 없어요. 새로 나온 거라서요. 그건 디자인 선택이 아니라 그냥 사람이 없어서예요.

미디어에서 일한다면 가장 불편한 부분

제 본업은 미디어 운영이에요. 제가 커리어 내내 최적화해 온 숫자는 주의(attention)예요. 사이트 체류 시간, 세션 길이, 재방문 빈도. Knora는 휴대폰이 테이블의 주의를 한 비트보다 오래 붙잡지 않도록 만들어졌어요. 한 번 흔들고, 비트 하나, 그리고 다시 휴대폰을 내려놓아요. 테이블이 하나 더 원하면, 또 흔들면 돼요.

제가 미디어를 재는 방식으로 재면, 바로 그게 이상한 부분이에요. 다시 끌어당기는 피드도, 늘릴 세션도, 농담 너머까지 붙잡아 두는 장치도 없어요. 대신 있는 건 다시 집어 들 이유예요. 다음 흔들기에 값할 만큼 웃긴 비트 하나. 그게 끝나면 다시 놓아줘요.

그렇다고 이게 주의를 좇는 제품들보다 더 나은 제품이라고는 생각하지 않아요. 다만 "더 많은 참여"가 자연법칙이 아니라 무엇을 만드는지에 대한 선택이라는 걸 알려 주는 유용한 알림이 돼요. 그리고 그 선택은 아무도 돈을 내지 않는 사이드 프로젝트에서 훨씬 하기 쉬워요.

주의를 붙잡는 대신 돌려주도록 만든 걸 만들어 본 적이 있다면, 어떻게 생각했는지 정말 듣고 싶어요. 그건 제가 낮에 많은 시간을 보낼 수 없는 디자인 영역이거든요.

이 앱은 App Store에서 무료이고, 디자인에 대한 메모는 여기에 있어요. 써 보고 어떤 비트가 안 먹히면 알려 주세요. 앱 전체가 그 농담이에요.

감사합니다, Chandler