첫 앱 출시기 5 — ASO 최적화와 랜딩 페이지의 독립
통합 디자인 시스템의 제약에서 벗어나 몰입감 넘치는 앱 랜딩 페이지를 구축하고, 11개국 스토어 설명에 황금 키워드를 주입하여 ASO 최적화를 달성한 과정을 돌아봅니다.
제품을 잘 만드는 것과, 잘 팔리게 포장하는 것은 완전히 다른 영역의 일입니다. 앱의 기능 구현이 어느 정도 안정화된 후, 다시 처음으로 돌아와 두 가지 질문을 던졌습니다.
- 사용자가 우리 앱을 마주하는 첫인상(랜딩 페이지)이 충분히 매력적인가?
- 플레이스토어에서 사용자들이 우리 앱을 찾아낼 수 있는가?
이 두 가지 질문에 답하기 위해, 오늘 하루 동안 진행한 **‘랜딩 페이지 디자인의 독립’**과 ‘ASO(App Store Optimization) 최적화’ 경험을 기록합니다.
1. 디자인 시스템을 벗어난 랜딩 페이지
그동안 ‘물타기 계산기’의 랜딩 페이지(/app/stock-calculator)는 Twinkle Labs의 통합 디자인 시스템인 Aurora Ledger에 강하게 묶여 있었습니다.
통합 토큰을 쓰면 일관성을 유지하고 유지보수가 편해진다는 장점이 있죠.
하지만 “앱을 돋보이게 팔아야 하는” 쇼케이스 공간에서는 오히려 그 일관성이 독이 되었습니다.
밝고 밋밋한 글로벌 배경, 정형화된 글머리 기호 리스트… 이래서는 제품의 매력이 전혀 살지 않았습니다.
새로운 ‘법’을 세우다
과감하게 랜딩 페이지 안에서만은 기존의 토큰을 무시하기로 했습니다.
대신 완벽한 다크 테마(Midnight/Glass) 기반의 고유한 생태계를 door.module.css 안에 구축했습니다.
- Hero 영역의 거대화: 반응형 거대 타이포그래피(
clamp)를 적용하고 뒤쪽에 앱 고유의 색상 후광(Glow) 효과를 덧대어 몰입감을 극대화했습니다. - 기능 그리드와 글래스모피즘: 단순한 텍스트 리스트를, 투명하게 배경이 비치는 2단 카드 그리드로 변경하여 핵심 기능 하나하나가 강력한 세일즈 포인트처럼 보이게 만들었습니다.
디자인 시스템을 ‘파괴’한 것이 아니라, **‘앱 쇼케이스 전용의 새로운 규칙 계층’**을 유연하게 제정한 셈입니다.
폴더블과 가로 스크롤 쇼케이스
여기에 더해, 물타기 계산기의 숨겨진 강점인 **‘태블릿(폴더블) 레이아웃 지원’**을 시각적으로 어필하고 싶었습니다.
기존의 단순 문자열 배열이었던 스크린샷 데이터를 { src, type: "phone" | "wide" } 형태로 쪼개어, 폰과 폴더블 화면이 조화롭게 섞여 스크롤되는 가로 스냅(Snap) 쇼케이스 영역을 신설했습니다.
이제 랜딩 페이지를 방문한 사용자는 큼직한 폴더블 화면 캡처를 보며 “아, 이 앱은 태블릿에서도 예쁘게 돌아가겠구나”를 직관적으로 느낄 수 있습니다.
2. ASO — 정직함과 효과적인 세일즈 사이
앱 내부의 기능은 훌륭했습니다. 국내/해외 주식뿐 아니라 코인까지 하나의 앱에서 다루고, 복잡한 시나리오를 한 장의 이미지로 깔끔하게 공유할 수 있었죠.
하지만 이전까지의 구글 플레이스토어 앱 설명은 너무나 ‘정직하고 건조’했습니다. “계산기를 두드리는 번거로움을 덜어드립니다.” 수준에 머물러 있었죠.
황금 키워드 주입
앱이 코인과 해외 주식을 완벽히 지원함에도 스토어 설명에 이 단어들이 없다면, 사용자가 검색창에 “코인 평단가 계산기”라고 쳤을 때 우리 앱은 세상에 존재하지 않는 것과 같습니다.
Python 스크립트를 작성해 11개 지원 로케일의 title.txt, short-description.txt, full-description.txt에 일괄적으로 키워드를 주입했습니다.
- 가상화폐, 암호화폐, 코인, 해외 주식 등 고트래픽 검색어를 설명 곳곳에 자연스럽게 녹여냈습니다.
- 이미지 공유 기능을 단순한 부가 기능이 아닌, “나만의 투자 시나리오 리포트를 자랑하세요”라는 감성적인 킬러 피처(Selling Point)로 강조했습니다.
제약 속의 검증
가장 까다로운 것은 구글 플레이의 엄격한 글자 수 제한입니다.
- 앱 제목: 최대 30자
- 짧은 설명: 최대 80자
한국어로는 완벽한 길이의 설명이, 스페인어나 독일어 번역기를 거치면 한도를 훌쩍 넘어버리기 일쑤입니다.
이를 방지하기 위해 로컬 환경에서 ./gradlew testDebugUnitTest --tests "*StoreListingTest*" 유닛 테스트를 통해 11개 언어 모두가 글자 수 제한을 아슬아슬하게 지키고 있는지 기계적으로 검증했습니다.
결론
- 만드는 것은 논리의 영역이지만, 보여주는 것은 감각과 공감의 영역입니다.
- 통합 시스템의 굴레에 얽매이기보다, 제품이 가장 빛날 수 있는 독자적인 무대를 세워주는 유연함이 필요합니다.
- ASO 최적화는 단순히 키워드를 욱여넣는 것이 아니라, “우리 앱이 해결해 줄 수 있는 고객의 문제”를 그들이 검색할 만한 언어로 친절하게 짚어주는 과정입니다.
앱 개발 2주, 출시 준비 2주. 이제 포장지까지 예쁘게 다듬어졌고, 마침내 오늘 물타기 계산기가 테스트 트랙을 벗어나 프로덕션(전체 공개)으로 정식 출시되었습니다! 🎉 단순한 코드 작성을 넘어 하나의 온전한 ‘제품’을 스토어에 세우기까지의 모든 과정이, 앞으로의 여정에 단단한 근육이 되어줄 것입니다.