블로그 목록으로
인디 개발

1인 개발자의 페이월 설계 — 수익화와 사용자 경험 사이

monetizationpaywallindie-devux

수익화의 딜레마

인디 개발자라면 누구나 같은 질문 앞에 선다. 앱으로 돈을 벌어야 하는데, 유저를 짜증나게 하지 않으려면 어떻게 해야 할까? 페이월을 너무 자주 보여주면 유저가 앱을 삭제한다. 너무 적게 보여주면 월세를 못 낸다. 수많은 앱이 이 균형을 잡지 못해 실패했다 — 돈을 못 벌거나, 유저를 잃거나.

나는 BrainFit(두뇌 훈련 RPG)과 BloomCard(정원 테마 플래시카드 앱) 두 개의 인디 앱을 만들고 있고, 둘 다 스스로 수익을 내야 한다. 지난 1년간 나는 수익화를 "매출 최적화 문제"가 아닌 "사용자 경험 문제"로 접근하는 페이월 철학을 발전시켜 왔다. 그 결과가 축하형 페이월, 피처 게이트, 쿨다운 매니저라는 세 가지 기둥 위에 세워진 시스템이다.

이 글에서는 모든 결정을 분해한다 — 구체적인 숫자, 트리거 조건, 쿨다운 로직, 그리고 각 선택의 이유까지.

세 가지 페이월 유형

대부분의 앱에는 페이월이 하나다. "Pro로 업그레이드하세요"라는 화면이 어느 시점에 나타나고, 유저가 닫거나 닫지 않거나, 그게 전략의 전부다. 나는 이게 근본적으로 잘못됐다고 생각한다. 앱 안의 모든 순간이 같은 감정적 온도를 가지고 있지 않고, 페이월은 그 순간에 맞아야 한다.

나는 세 가지 다른 심리적 맥락에 맞춰 설계된 페이월 유형을 사용한다.

1. 축하형 페이월

축하형 페이월은 진짜 성취의 순간에 나타난다. 유저가 축하받을 만한 일을 방금 해냈고, 페이월은 그 성취감의 감정적 고양에 합류한다. 중요한 건 — 페이월이 긍정적 감정을 만드는 게 아니라, 거기에 참여한다는 것이다.

BrainFit에서 축하형 페이월은 네 가지 순간에 발동한다:

  • 행성 진화: 유저의 두뇌 영역 점수가 임계점을 넘어 행성이 다음 단계로 시각적으로 진화할 때 (5단계: 스타더스트 → 소행성 → 행성 → 항성계 → 은하). 화면 전체가 변하는 극적인 시각적 순간이다.
  • 출석 마일스톤: 7일, 14일, 30일 연속 출석. 유저가 투자했다고 느끼는 자연스러운 축하 지점이다.
  • 복귀 유저: 오랜 부재 후 앱에 돌아왔을 때. 유저가 돌아오기로 선택했다는 것 자체가 잠재적 관심의 신호다.
  • 첫 주간 리포트: 개인화된 성과 분석을 처음 볼 때. 인사이트와 자기 성찰의 순간이다.

BloomCard는 앱 내에 자연스러운 마일스톤이 더 많기 때문에 축하형 트리거가 더 다양하다:

  • 첫 블룸: 카드가 처음으로 만개 상태(stability >= 60)에 도달했을 때. 핵심 루프가 처음 결실을 맺는 순간이다.
  • 스트릭 마일스톤: 7, 14, 30, 60, 100일. 플래시카드 앱에서 학습 스트릭이 핵심 참여 지표이기 때문에 BrainFit보다 세분화했다.
  • 컬렉션 완성: 특정 등급의 꽃을 모두 해금했을 때. 무료 유저는 54종 중 16종의 꽃에 접근할 수 있어서, 컬렉션 마일스톤에 도달한다는 건 깊은 참여를 의미한다.
  • 레벨 마일스톤: XP 시스템에서 레벨 5, 10, 20 도달.
  • 학습 마일스톤: 총 카드 리뷰 100, 500, 1,000회. 진지한 헌신의 증거다.
  • 모든 퀘스트 완료: 주간 퀘스트를 모두 끝냈을 때. 주 1회로 제한된다.
  • 복귀 유저: BrainFit과 같은 개념 — 복귀 후 학습 세션 완료 시 발동.
  • 첫 추가 학습 완료: 유저가 자발적으로 예정된 카드 외 추가 복습을 했을 때. 추가로 공부할 만큼 참여도가 높다는 신호다.

축하형 페이월의 핵심 인사이트는 방해가 아닌 자연스러운 전환처럼 느껴진다는 것이다. 유저는 이미 성취를 인정하기 위해 멈춰 있다. 그 멈춤에 "Pro라면 이런 것도 할 수 있어요"라는 메시지를 더하면 끼어드는 게 아니라 자연스럽게 어우러진다.

2. 피처 게이트 페이월

피처 게이트는 가장 전통적인 페이월 유형이다 — 유저가 Pro 기능에 접근하려다 벽을 만난다. 하지만 구현 디테일이 결과를 결정한다.

BrainFit에는 9개의 게이트된 기능이 있고, 어떤 기능이 광고를 통한 임시 접근을 허용하는지 의도적으로 결정했다:

| 기능 | 광고 체험 | |------|----------| | BQ 영역 상세 (두뇌 점수 분석) | 가능 | | BQ 성장 상세 (시간별 진행도) | 가능 | | 장식 (행성 커스터마이징) | 가능 | | 게임별 상세 통계 | 불가 | | 시니어 모드 확장 | 불가 | | 주간 리포트 | 불가 | | Pro 전용 장식 | 불가 | | 챌린지 모드 | 불가 | | 커스텀 훈련 플랜 | 불가 |

광고 체험 허용 여부의 기준은 단순하다: Pro의 가치를 맛볼 수 있는 기능은 광고 체험을 허용하고, 지속적인 Pro 혜택인 기능은 허용하지 않는다. BQ 영역 상세와 BQ 성장 상세는 유저가 놓치고 있는 분석의 깊이를 경험하게 해준다. 장식은 커스터마이징을 한 번 시도해볼 수 있게 한다. 하지만 챌린지 모드, 커스텀 훈련 플랜, 주간 리포트는 지속적 기능이다 — 반복 광고 해금을 허용하면 구독의 가치가 훼손된다.

BloomCard의 피처 게이트는 사용량 기반이다:

| 기능 | 무료 한도 | 광고 보상 | |------|----------|----------| | TTS (텍스트 음성 변환) | 10회/일 | +5회 | | 미니게임 | 1회/일 | +1회 | | APKG 임포트 | 1회/월 | +1회 |

"제한된 무료 사용 + 광고 확장" 모델은 유틸리티 기능에 잘 맞는다. 유저는 가치를 이해할 수 있을 만큼 충분히 무료로 사용하고, 광고는 하드 페이월 전에 압력 완화 밸브 역할을 한다. 한도는 캐주얼 유저가 절대 닿지 않을 만큼 넉넉하지만, 파워 유저는 정기적으로 부딪힐 정도로 설정되어 있다.

3. 플레이 제한 페이월

이것은 가장 설계하기 어려운 페이월이다. 핵심 경험을 직접적으로 제한하기 때문이다. BrainFit에서 무료 유저는 하루 3게임을 할 수 있다. 신규 유저(첫 7일)는 탐색 기간 동안 하루 7게임을 할 수 있다.

뉴비 유예 기간은 중요한 결정이었다. 이 기간이 없으면 신규 유저는 6개 두뇌 영역을 다 시도해보기도 전에 플레이 제한에 걸린다. 6개 영역에 총 32개 미니게임이 있는데, 하루 3게임이면 각 게임을 한 번씩만 해보는 데 거의 11일이 걸린다. 첫 주의 7게임 한도는 이 탐색 기간을 압축해서 유저가 제한이 강화되기 전에 좋아하는 게임을 발견할 수 있게 해준다.

BloomCard의 제한형 페이월은 TTS 사용, 덱 수, 추가 학습 제한, Pro 전용 커뮤니티 덱 접근 시 발동한다. BloomCard의 핵심 학습 루프는 무제한이기 때문에 BrainFit의 플레이 제한보다 덜 공격적이다 — 예정된 카드 복습은 항상 가능하다. 제한은 핵심 활동이 아닌 경험을 강화하는 부가 기능에 적용된다.

쿨다운 매니저

대부분의 수익화 시스템이 실패하는 지점이 여기다. 아무리 페이월을 잘 설계해도 너무 자주 보여주면 피로감이 생긴다. 유저는 반사적으로 닫기를 누르기 시작하고, 닫을 때마다 미래의 페이월도 무시하는 훈련이 된다. 더 나쁜 건, 반복되는 페이월이 앱 자체에 대한 부정적 연상을 만든다는 것이다.

PaywallCooldownManager는 전체 수익화 시스템에서 가장 중요한 컴포넌트다. 페이월이 언제 나타날 수 있고 언제 나타나면 안 되는지를 제어하며, 유저에게 이미 충분히 보여줬을 때 트리거 로직을 오버라이드한다.

BrainFit의 쿨다운 규칙

BrainFit은 두 가지 쿨다운 규칙을 사용한다:

  1. 일일 최대: 하루 3회. 하루에 세 번째 페이월 이후에는 트리거 조건과 관계없이 더 이상 페이월이 나타나지 않는다. 플레이 제한에 걸리든, 마일스톤에 도달하든, Pro 기능에 접근하든 — 다음 날까지 페이월이 생성되지 않는다.

  2. 축하형 소스별 영구 제한: 소스당 평생 1회. 각 축하 트리거는 앱 사용 기간 동안 딱 한 번만 페이월을 보여줄 수 있다. 첫 행성 진화에서 페이월을 봤다면, 다시는 행성 진화로 페이월을 보지 않는다. 이건 페이월 유형이 아닌 트리거 소스 기준이다 — 출석 마일스톤에서는 여전히 페이월을 보지만, 각 마일스톤 단계(7, 14, 30일)별로 한 번씩만.

축하형의 영구 제한은 아마 이 시스템에서 가장 반직관적인 결정일 것이다. 관행적으로는 감정이 고조된 모든 순간에 페이월을 보여줘야 한다고들 한다. 하지만 축하형 페이월을 반복하면 기쁜 순간이 "또 업셀이 오겠지"라는 순간으로 변질된다는 걸 발견했다. 한 번만 보여주면 놀라움의 요소가 보존된다. 유저는 "에이 또야"가 아니라 "오, 재밌네. Pro에 이런 기능이 있구나"라고 생각한다.

BloomCard의 쿨다운 규칙

BloomCard의 쿨다운 시스템은 BrainFit에서 배운 교훈을 반영해 더 세밀하다:

  1. 세션 최대: 세션당 1회. 현재 앱 세션에서 페이월을 한 번 봤으면, 앱을 닫고 다시 열기 전까지 또 보지 않는다. 일일 제한보다 공격적인 이유는 유저의 현재 플로우 상태를 보호하기 위해서다.

  2. 일일 최대: 하루 2회. 세션을 넘어서도 하루에 2회를 초과하지 않는다. BrainFit의 3회보다 낮은 이유는 BloomCard 세션이 보통 더 짧기 때문이다 (빠른 학습 세션 vs. 긴 게임플레이). 같은 수의 페이월이 더 밀도 높게 느껴진다.

  3. 유형별 거절 후 쿨다운. 유저가 페이월을 닫았을 때, 유형에 따라 쿨다운이 다르다:

    • 축하형 거절: 48시간 쿨다운. 축하형 페이월을 닫은 후 48시간 동안 축하형 페이월이 나타나지 않는다. 축하형은 특별하게 느껴져야 하기 때문에 길다.
    • 제한형 거절: 24시간 쿨다운. 제한형 페이월을 닫은 후 24시간 동안 제한형 페이월이 나타나지 않는다. 더 짧은 이유는 제한형 페이월이 맥락적으로 중요하기 때문이다 — 유저가 뭔가를 하려고 했고 못 한다는 걸 알게 됐다.

유형별 쿨다운은 BrainFit에서 유저 행동을 관찰한 후 추가했다. 축하형 페이월을 닫은 유저는 곧이어 다른 축하형 페이월을 보여줘도 전환할 가능성이 낮았다. 하지만 제한형 페이월을 닫은 유저는 다음 날 같은 제한에 다시 걸렸을 때 전환하는 경우가 있었다. 24시간 창은 필요성이 다시 떠오를 수 있게 하면서도 숨 쉴 공간을 준다.

보상형 광고: 압력 완화 밸브

두 앱 모두 구독 전환의 대안으로 보상형 광고를 제공한다. 구현은 동일하다: 하루 5회, 최소 3분 간격.

하루 5회 제한은 두 가지 목적이 있다. 첫째, 유저가 무제한 광고 시청으로 사실상 무료 Pro를 얻는 것을 방지한다. 하루 5번의 광고 시청은 의미 있는 광고 수익을 생성하면서도 업그레이드 인센티브를 없애지 않는다. 둘째, 사용자 경험을 보호한다 — 하루에 5개 이상의 동영상 광고를 보면 앱이 광고 플랫폼처럼 느껴진다.

3분 간격은 UX 제약이다. 이것 없이는 제한에 걸린 유저가 3분 안에 광고 5개를 연속으로 볼 수 있는데, 그 경험은 끔찍하다. 간격은 자연스러운 분산을 강제하고, 실제로 유저는 광고 시청 사이에 다른 것을 하기 때문에 거의 인지하지 못한다.

BrainFit은 BQ 상세 뷰와 장식에 보상형 광고를 배치한다. BloomCard는 4개 화면에 배치한다: 학습 완료, 정원(물방울 50 미만일 때), 추가 학습, 피처 게이트. 배치 전략은 같은 원칙을 따른다 — 광고는 유저가 작은 부스트를 원할 법한 곳에 나타나지, 핵심 활동에 깊이 몰입한 곳에 나타나지 않는다.

복귀 유저 트라이얼

두 앱 모두 복귀 유저 트라이얼을 포함한다: 유저가 3일 이상 부재 후 돌아오면 3일 무료 Pro 체험을 받는다. 이것은 여러 목적을 동시에 달성한다:

  1. 재참여 훅: 유저가 떠났다 돌아왔다. 뭔가가 돌아오게 했다. 복귀 기간에 풀 Pro 경험을 주면 앱을 다시 발견하고 머물 가능성이 극대화된다.

  2. Pro 가치 시연: 많은 유저가 뭘 놓치고 있는지 몰라서 Pro 기능을 시도하지 않는다. 트라이얼은 자연스러운 맥락에서 Pro 기능에 노출시킨다 — 유저는 그냥 평소처럼 앱을 사용하는데, 모든 게 잠금 해제되어 있다.

  3. 전환 창: Pro를 3일 쓰고 나서 무료로 돌아가면 뭔가를 잃는 것처럼 느껴진다. 손실 회피는 잠재적 이득보다 강한 동기 부여다. Pro를 경험하고 가치를 느낀 유저는 페이월 설명만 본 유저보다 훨씬 높은 비율로 전환한다.

3일이라는 기간은 신중하게 선택했다. 1일은 모든 Pro 기능을 경험하기에 부족하다. 7일은 너무 길어서 유저가 Pro를 기본으로 적응하고 끝날 때 억울해한다. 3일은 가치를 볼 수 있을 만큼 길고, 트라이얼 종료가 징벌적이 아닌 자연스럽게 느껴질 만큼 짧다.

BrainFit에서는 LocalTrialService가 부재 기간과 트라이얼 상태를 로컬에서 추적한다. BloomCard에서는 보상 피처 모듈에 있으며, SharedPreferences의 pending_return_days_awayapp_return_days_away로 추적한다.

구독 티어

두 앱 모두 같은 3단계 구조를 제공한다: 월간, 연간(기본 선택), 평생.

연간을 기본 선택으로 만든 건 임의적이지 않다. 연간 구독자는 월간 구독자보다 극적으로 높은 리텐션을 보인다 — 더 큰 선불 약정을 했고, 매몰 비용 효과가 참여를 유지시킨다. 페이월 UI는 월간 대비 동적으로 계산된 할인율을 보여주며 연간 플랜을 강조한다. BloomCard는 정확한 절약 금액을 보여주어 추상적이지 않은 구체적인 가치 제안을 만든다.

평생 구독은 원칙적으로 구독을 싫어하는 유저를 위해 존재한다. 이런 유저는 절대 월간이나 연간으로 전환하지 않으므로, 평생 구독은 그렇지 않으면 0이 될 수익을 잡아낸다. 평생 가격은 연간 가격의 약 2~3년치 — 반복 수익을 보호할 만큼 높되, 헌신적인 유저에게 거래처럼 느껴질 만큼 낮게 설정한다.

BrainFit은 추가로 가족 플랜(월간, 연간)을 제공한다. 두뇌 훈련은 종종 가족 활동이기 때문이다. 가족 플랜은 한 구독으로 여러 사용자를 허용해 가구 전환율을 높인다. BloomCard는 플래시카드 학습이 본질적으로 개인 활동이기 때문에 현재 가족 플랜이 필요하지 않다.

소스 추적과 분석

두 앱의 모든 페이월 표시에는 어떤 트리거 포인트가 페이월로 이어졌는지 추적하는 source 파라미터가 포함된다. 이건 단순 분석용이 아니다 — 시스템을 반복 개선하는 방식을 근본적으로 바꿔놓는다.

소스를 추적함으로써 이런 질문에 답할 수 있다:

  • 어떤 축하 순간이 가장 높은 전환율을 보이는가?
  • 제한형 페이월을 닫은 유저가 나중에 피처 게이트 페이월을 통해 전환하는가?
  • 복귀 유저 트라이얼이 실제로 전환을 이끄는가, 아니면 어차피 전환할 유저였는가?
  • 전환 전 평균 페이월 노출 횟수는 몇 번인가?

소스 추적 없이는 페이월이 블랙박스다. 추적이 있으면 각 트리거 포인트가 독립적으로 측정 가능한 실험이 된다. 실제 전환 데이터를 기반으로 쿨다운 타이머를 조정하고, 트리거를 추가하거나 제거하고, 트라이얼 기간을 수정할 수 있다.

업셀 생태계

페이월은 수익화 표면의 한 조각일 뿐이다. 두 앱 모두 유저의 흐름을 방해하지 않으면서 Pro를 상기시키는 수동적 "업셀 포인트"를 유지한다:

  • 프로필 Pro 배지: Pro가 존재한다는 시각적 표시. 프로필 화면에 표시.
  • 설정 구독 섹션: 유저가 자기 페이스로 Pro를 탐색할 수 있는 전용 영역.
  • 활동 후 Pro 미리보기: 학습 세션(BloomCard) 또는 게임(BrainFit) 완료 후, 그 세션에 대해 Pro 분석이 보여줄 내용의 은은한 미리보기.
  • 피처 게이트 잔여 횟수 배지: "오늘 TTS 3/10회 남음" 같은 작은 배지로 차단 없이 인지를 만든다.

이 수동적 업셀은 능동적 페이월과 협력한다. 시간이 지나며 Pro의 가치 제안에 대한 익숙함을 쌓아서, 페이월이 실제로 나타났을 때 유저가 이미 무엇을 얻게 되는지 맥락을 가지고 있게 한다. 페이월이 발견의 순간이 아닌 결정의 순간이 된다.

BloomCard의 커뮤니티 마켓플레이스에는 별도의 수익화 레이어가 있다 — 다운로드 쿼터, 크리에이터 보상, 물방울 경제학 등은 이 글에서 설명한다. 그 시스템은 무제한 다운로드와 1.5배 크리에이터 보상 같은 Pro 혜택을 통해 페이월 시스템과 상호작용하며, 커뮤니티 관점에서 추가 전환 압력을 만든다.

설계를 결정한 숫자들

각 시스템의 구체적인 숫자와 그렇게 설정한 이유를 정리한다:

플레이 제한 (BrainFit):

  • 무료: 하루 3게임. 업그레이드 압력을 만들 만큼 낮되, 일일 습관을 형성할 만큼 높다 (두뇌 영역 쌍당 한 게임).
  • 뉴비 (첫 7일): 하루 7게임. 한 세션에 6개 영역을 모두 시도하고 좋아하는 것 하나 더 할 수 있다.

피처 게이트 (BloomCard):

  • TTS: 하루 10회 무료. 언어 학습자는 TTS를 끊임없이 필요로 한다. 10회는 짧은 세션을 커버하지만 전체 학습일은 커버하지 않는다.
  • 미니게임: 하루 1회 무료. 기능을 경험하기엔 충분하되, Pro 없이 일일 습관으로 만들기엔 부족하다.
  • APKG 임포트: 월 1회. 덱 임포트는 반복 행위가 아닌 온보딩 행위다. 월간은 한 번의 시도를 허용한다.

쿨다운 (BrainFit):

  • 하루 최대 3회. 유저는 보통 세션당 1~2개의 자연스러운 트리거 순간이 있다. 3/일은 비정상적으로 활발한 날에도 넘치지 않게 한다.
  • 축하형: 소스별 영구 1회. 마일스톤 순간의 특별함을 보존한다.

쿨다운 (BloomCard):

  • 세션당 최대 1회. 핵심 가치 전달 순간인 학습 세션의 플로우 상태를 보호한다.
  • 하루 최대 2회. 열성 유저의 일반적 사용이 하루 2세션이다. 세션당 1회 페이월이면 하루 2회가 자연스러운 상한이다.
  • 축하형 48시간 쿨다운. 축하형 페이월은 감정적이다 — 넓은 간격으로 감정 조작 피로를 방지한다.
  • 제한형 24시간 쿨다운. 제한형 페이월은 기능적이다 — 유저가 제한에 부딪혔을 때 상기시켜야 하지만, 같은 날 안에는 아니다.

보상형 광고 (두 앱 공통):

  • 하루 5회. 광고가 주요 경험이 아닌 느낌을 유지하면서 의미 있는 광고 수익을 생성한다.
  • 3분 간격. 정상적 사용 패턴에서는 보이지 않으면서 광고 몰아보기를 방지한다.

복귀 트라이얼 (두 앱 공통):

  • 3일 이상 부재 시 자격 부여. 3일은 바쁜 주말이 아닌 진짜 이탈을 나타낼 만큼 길다.
  • 3일 트라이얼 기간. Pro를 맛보기엔 충분하고, 만료가 자연스럽게 느껴질 만큼 짧다.

처음에 잘못한 것들

현재 시스템은 여러 번의 반복의 결과다. 초기 결정 중 일부는 틀렸다:

BrainFit에 처음엔 쿨다운이 없었다. 모든 트리거가 페이월을 발사했다. 행성이 진화하고, 스트릭 마일스톤에 도달하고, Pro 기능을 시도한 유저는 1분도 안 돼서 페이월을 세 번 봤다. 일일 상한 3회가 첫 번째 수정이었고, 축하형 영구 제한이 두 번째였다.

BloomCard의 첫 버전은 일일 쿨다운만 사용했다. 하루에 두 번 학습하는 유저가 한 세션에서 시작과 끝에 트리거를 만나 빠르게 연속으로 두 개의 페이월을 보는 것을 관찰한 후 세션 기반 쿨다운을 도입했다.

거절 쿨다운은 원래 균일했다 (모든 유형 24시간). 축하형 페이월이 이전 축하형 거절 후 24시간 이내에 보여졌을 때 전환율이 거의 0에 가까웠지만, 제한형 페이월 전환율은 24시간에도 유의미하게 유지된 것을 발견한 후 유형별 쿨다운으로 분리했다.

BrainFit의 뉴비 기간은 원래 3일에 하루 5게임이었다. 탐색 기간에 유저가 여전히 이탈하고 있었다. 7일에 7게임으로 확장하니 유저가 자기만의 리듬을 찾을 수 있는 충분한 활주로가 생겼다.

이 모든 것 뒤의 철학

이 전체 시스템을 하나의 원칙으로 요약해야 한다면 이것이다: 수익화는 앱 리듬의 자연스러운 일부처럼 느껴져야 하지, 외부에서 끼어든 이물질처럼 느껴져서는 안 된다.

축하형 페이월은 유저가 이미 멈춰서 성찰하고 있기 때문에 작동한다. 피처 게이트는 유저가 적극적으로 더 많은 것을 찾고 있기 때문에 작동한다. 플레이 제한은 유저에게 실제로 건강한 자연스러운 세션 경계를 만들기 때문에 작동한다 (아무도 두뇌 훈련 게임을 3시간 연속으로 해서는 안 된다). 쿨다운 매니저는 유저의 주의력을 무한한 우물이 아닌 유한하고 소중한 자원으로 취급하기 때문에 작동한다.

아이러니하게도, 절제된 페이월 시스템은 아마 공격적인 것보다 더 많은 생애 수익을 만들 것이다. 존중받는다고 느끼는 유저가 더 오래 머문다. 더 오래 머무는 유저가 결국 전환한다. 그리고 좌절이 아닌 진심에서 우러난 욕구에서 전환한 유저는 유료 고객으로서 극적으로 높은 리텐션을 보인다.

시스템은 완벽하지 않고, 여전히 반복 개선 중이다. 하지만 프레임워크 — 방해보다 축하, 벽보다 게이트, 빈도보다 쿨다운 — 는 두 인디 앱을 유지하면서도 유저를 짜증나게 하지 않고 참여시킬 만큼 견고하다는 것이 증명됐다. 그게 내가 찾던 균형이다.

1인 개발자의 페이월 설계 — 수익화와 사용자 경험 사이