오늘 해낸 것 (2026-08-10)
이 글은 Daily Log 시리즈의 128번째 기록입니다. (총 155개)
오늘 한 일
- LOGSTONE Shop
- KeyBloom plus 가격을 정가 USD 19(VAT 별도)로 확정하고, 런칭 기념 30% 할인 코드(KEYBLOOM) 안내를 구매 섹션에 붙임
- PLUS 혜택이 네이티브 앱 전용이라는 확인을 반영해 티어 표를 정정함
- 무료 앱 다운로드 버튼을 GitHub 릴리스에 연결하고 SmartScreen 경고 안내를 붙임
- OG·트위터 카드 메타를 달고, 공유 이미지를 사이트 폰트(Archivo+Noto Sans KR)로 새로 만듦
- logstone.net 도메인을 구매(2년)해 샵을 루트에 연결하고, support@logstone.net 수신 라우팅을 세팅
- Privacy Policy·이용약관 페이지(영/한)를 만들고 푸터에 지원 이메일과 함께 링크
- Creem 체크아웃을 연결하되 심사 대기 중에는 가격만 보이는 비활성 버튼으로 두고, 계정 심사를 제출함(개인사업자 Business, 영문 사업자등록증명)
- 메트로놈 Simple Metronome 제품 페이지를 열었다 — 작동하는 BPM 데모(클릭음 토글 포함)와 실기기 스크린샷, 예전 스토어 그래픽 핸드오프 구도를 웹 패널로 이식
- Privacy Policy에 모바일 앱(AdMob) 조항과 여둘까를 추가하고, 메트로놈의 Play 정책 URL을 사이트 정책으로 교체하기로 함
- KeyBloom 무료 앱 버튼을 설치 파일 직링으로 변경
- 소리꽃 KeyBloom
- 영어는 Archivo, 한글은 Noto Sans KR 폰트를 외부 CDN 없이 자체 호스팅으로 적용(글자마다 자동으로 갈림)
- plus 라이선스 활성화 UI(네이티브 전용)와 결제 Worker를 붙이고, 라이선스 하나로 2기기까지 활성화되게 함
- plus를 데스크톱 앱 전용으로 확정하고, 활성화하면 잠겨 있던 알파와 워터마크가 실제로 풀리게 게이트를 다시 칠하게 함
- 사용자용 FPS 표시를 설정 토글로 넣고, 개발용 디버그 표시는 출시 빌드에서 숨김
- 첫 서명 릴리스(v0.1.0)를 올려 앱 배포와 자동 업데이트가 되게 함
- 발광 슬라이더를 켰을 때만 보이게 하고, 크레딧 회사명·출력 파일명 중복 방지 같은 자잘한 것들을 정리
- 기본 파티클·건반 그라데이션 색을 파랑에서 소프트 핑크(#dbb7c9)로 바꿈
- .kbloom 파일 아이콘을 하트 파티클로 디자인해, 설치하면 탐색기에서 그 아이콘으로 보이게 연결
- 라이선스 서버(워커)를 라이브 결제로 실제 배포하고, 웹과 네이티브 앱을 배포
- 배포 뒤 기존 사용자가 자동 업데이트 팝업을 못 받는 걸 발견해 고치고 0.1.2로 다시 냄
- 정보·크레딧에 현재 앱 버전을 표시
- 룸톤 Roomtone
- 수노에서 받은 곡을 폴더에 넣고 더블클릭 한 번으로 변환·음량 정규화·태깅·커버·업로드까지 되는 반입 파이프라인을 만듦
- 3분 미만은 자동으로 거르고, 이미 올린 곡(수노 id)은 중복으로 건너뛰게 함
- 프롬프트는 엑셀에 곡명별로 적어두면 파일마다 알아서 붙게 함(같은 곡명은 같은 프롬프트)
- 곡과 같은 이름 이미지를 넣으면 커버로 붙고, 프롬프트나 커버가 하나라도 없으면 안 올리고 “채우고 다시 하라”고 알림
- bat·엑셀·음악을 폴더 하나로 모으고, 엑셀이 열려 있으면 시작 안 하게 함
- 옛 짧은 곡을 정리하고, 파이프라인으로 새 곡 20곡을 반입(전부 3분 이상·커버 포함)
- 여둘까 Office Layout
- 개인정보처리방침을 LOGSTONE 통합 방침으로 교체하고 문의처를 support@logstone.net으로 통일
- 통합 방침 원본에 여둘까 적용 범위(도메인·앱 이름)를 추가
- 웹 도구가 여는 파일(평면도 이미지·PDF)은 브라우저 안에서만 처리하고 서버로 올리지 않는다는 조항을 통합 방침에 넣음
- 메트로놈 Simple Metronome
- v1.14(백그라운드 재생)를 출시하려고 Play Console에 포그라운드 서비스 권한(미디어 재생)을 선언
- 백그라운드 재생을 보여주는 데모 영상을 에뮬레이터로 찍어 미등록으로 올려 심사 제출
- 심사 영상에 광고가 안 나오게 debug 빌드에서만 배너 광고를 숨김(릴리스는 그대로)
어려웠던 점
- LOGSTONE Shop
- 가격 결정 — 벤치마킹하던 앱이 기능이 더 많아서 $12로 소심해졌는데, “기능 개수가 아니라 그 일이 되는 유일한 도구로 값을 매긴다”로 정리하고 $19 + 런칭 할인으로 확정했다
- Creem이 지원 이메일로 Gmail을 받지 않아 예상에 없던 도메인 지출이 생겼다 — logstone.com은 프리미엄 $3,000이라 포기하고 logstone.net으로
- 계정 심사 폼(KYC)이 처음이라 Control Person·UBO·사업자 유형 같은 항목을 하나씩 확인하며 채웠다
- 메트로놈 페이지를 스크린샷 없이 시작해서 히어로를 뭘로 채울지 정해야 했다 — 실동작 데모로 가기로 했고, 소리는 브라우저 자동재생 제한 때문에 토글 방식으로
- 소리꽃 KeyBloom
- plus가 웹에서도 워터마크가 없어진다고 표에 적혀 있었는데 실제 구조는 앱 전용이라, 상품 설명을 다 만든 뒤에야 어긋남을 발견했다 — 알파와 저지연 라이브가 어차피 앱에서만 되니 plus를 앱 전용으로 두는 게 맞다고 정리했다
- 설치할 때 뜨는 “알 수 없는 앱” 경고는 코드 서명 인증서가 있어야 없어지는 거라, 초기엔 안내 문구로 가고 매출 신호가 오면 인증서를 붙이기로 했다
- 승인이 필요한 결제사 절차를 다 만든 뒤에야 제출해서 대기가 생겼다 — 다음엔 외부 승인부터 먼저 걸어두기로
- 배포가 라이선스 워커·웹·네이티브 앱 셋으로 갈려서, “배포”가 정확히 무엇을 올리는 것인지부터 정리해야 했다
- 0.1.1을 낸 뒤 기존 사용자가 자동 업데이트 팝업을 못 받는 걸 발견했다 — 앱 안 확인창이 특정 환경에서 안 뜨는 문제라 고친 0.1.2를 다시 내야 했다
- 룸톤 Roomtone
- 곡을 얼마나 모아야 하나 — 5시간 무반복이면 100곡이라 아득했는데, 배경음악은 반복이 정상이고 파일럿은 30~50이면 된다로 정리했다
- 프롬프트를 파일 캡션에 넣어봤지만 WAV엔 안 박혀서, 엑셀에 곡명으로 매칭하는 방식으로 갔다
- 병목이 코드에서 콘텐츠(곡 생성·선별)로 넘어왔다 — 도구는 다 됐고 이제 곡 싸움이라는 걸 받아들였다
- 여둘까 Office Layout
- 통합 방침을 그대로 가져다 쓰려니 정작 여둘까가 적용 대상에 빠져 있어서, 사본을 고칠지 원본을 고칠지부터 정해야 했다
- 도면이 서버로 안 올라간다는 약속이 통합 방침에는 없어서, 이 문장을 빼면 도구의 핵심 약속이 문서에서 사라진다는 걸 알아챘다
- 메트로놈 Simple Metronome
- 데모 영상에 내 폰 화면이 노출될까 걱정됐는데, 에뮬레이터로 찍으면 개인 화면이 안 나온다.
- 영상을 비공개로 올리려다, 비공개면 심사자가 못 본다는 걸 알고 미등록으로 바꿨다.
배운 점
- 로그스톤 샵 LogStone Shop TIL 2로 정리
- MoR(기록상 판매자) 구조에서 판매자 의무가 어디까지 넘어가는지
- 결제 플랫폼 계정 심사 요건(법적 페이지·도메인 이메일·가격 노출)
- Cloudflare Email Routing으로 도메인 이메일을 무료로 받는 법
- 사이트 폰트 그대로 OG 이미지를 렌더해서 만드는 법
- 브라우저 자동재생 정책과 Web Audio 클릭음 합성
- Play Store 앱의 정책 URL 요건과 설정 위치
- GitHub 릴리스 직링(latest/download)의 고정 파일명 계약
- 소리꽃 KeyBloom
- 소리꽃 KeyBloom TIL 23으로 정리(폰트 자체 호스팅·언어별 폰트 스택, 활성화 후 게이트 재적용, plus 앱 전용, Tauri 서명 릴리스·업데이터 등 — 여기에 자동 업데이트 팝업 버그(웹뷰 confirm), 확장자 아이콘 NSIS 오버라이드·다중해상도 .ico, 릴리스 영구 직링, 빌드 타임 버전 주입, Worker 배포 반영까지 이어 적음)
- 룸톤 Roomtone TIL 3으로 정리
- 파일 메타데이터에서 생성기 id를 뽑아 중복을 거른다
- MP3 원본은 320으로 부풀리지 않는다
- 엑셀 곡명 base로 프롬프트·커버를 파일마다 붙인다
- 엑셀이 열려 있으면 잠금파일로 감지해 멈춘다
- 커버는 정사각 WebP로
- 메트로놈 Simple Metronome (기술 정리는 기존 TIL 6·7과 중복이라 새 TIL 없음)
- 심사용 데모 영상은 비공개(Private)면 심사자가 못 본다 — 미등록(Unlisted)으로 올려야 한다
- 개인정보 노출 없이 기능을 보여주려면 실기기 대신 에뮬레이터로 녹화하면 된다
해야 할 일
- LOGSTONE Shop
- Creem 심사 결과 확인 → 통과 시 체크아웃 복원 + 본인 결제 E2E 테스트
- 로고 교체
- “6 ms” 등 수치 주장 출시 전 재확인
- 푸터 사업자 표기 여부 결정
- Sandrop 출시되면 샵에 추가
- 소리꽃 KeyBloom
- Creem 심사 통과 후 라이브 결제로 구매→활성화 최종 확인
- 데모곡에 자작곡 추가(지금은 쇼팽 녹턴만)
- 크로마키 출력(plus 다음 업데이트)
- 보류한 내보내기 구조 리팩터는 실기 검증 후 진행
- 코드 서명 인증서(SmartScreen 경고 해소)는 매출 신호 후
- v0.1.2 릴리스 업로드 마무리(고정 이름 에셋) + v0.1.1 릴리스 정리 + 샵 직링 push는 릴리스 확정 후
- 0.1.0·0.1.1 사용자는 자동 업데이트가 막혀 있어 0.1.2 수동 설치 안내 필요
- 룸톤 Roomtone
- 파일럿용 30~50곡 생성·선별(콘텐츠가 지금 병목)
- 계정별 로그인·매장↔계정 연결, 시간대별 재생목록 자동 전환
- 회사 한 공간에 2주 틀어보기
- 메트로놈 Simple Metronome
- v1.14 심사 통과 대기 → 통과 후 릴리스 빌드를 실기기에 올려 광고 노출 확인(debug는 숨김)
Series: Daily Log
1 | 오늘 해낸 것 2 | 오늘 해낸 것 3 | 오늘 해낸 것 4 | 오늘 해낸 것 5 | 오늘 해낸 것 6 | 오늘 해낸 것 7 | 오늘 해낸 것 8 | 오늘 해낸 것 9 | 오늘 해낸 것 10 | 오늘 해낸 것 11 | 오늘 해낸 것 12 | 오늘 해낸 것 13 | 오늘 해낸 것 14 | 오늘 해낸 것 15 | 오늘 해낸 것 16 | 오늘 해낸 것 17 | 오늘 해낸 것 18 | 오늘 해낸 것 19 | 오늘 해낸 것 20 | 오늘 해낸 것 21 | 오늘 해낸 것 22 | 오늘 해낸 것 23 | 오늘 해낸 것 24 | 오늘 해낸 것 25 | 오늘 해낸 것 26 | 오늘 해낸 것 27 | 오늘 해낸 것 28 | 오늘 해낸 것 29 | 오늘 해낸 것 30 | 오늘 해낸 것 31 | 오늘 해낸 것 32 | 오늘 해낸 것 33 | 오늘 해낸 것 34 | 오늘 해낸 것 35 | 오늘 해낸 것 36 | 오늘 해낸 것 37 | 오늘 해낸 것 38 | 오늘 해낸 것 39 | 오늘 해낸 것 40 | 오늘 해낸 것 41 | 오늘 해낸 것 42 | 오늘 해낸 것 43 | 오늘 해낸 것 44 | 오늘 해낸 것 45 | 오늘 해낸 것 46 | 오늘 해낸 것 47 | 오늘 해낸 것 48 | 오늘 해낸 것 49 | 오늘 해낸 것 50 | 오늘 해낸 것 51 | 오늘 해낸 것 52 | 오늘 해낸 것 53 | 오늘 해낸 것 54 | 오늘 해낸 것 55 | 오늘 해낸 것 56 | 오늘 해낸 것 57 | 오늘 해낸 것 58 | 오늘 해낸 것 59 | 오늘 해낸 것 60 | 오늘 해낸 것 61 | 오늘 해낸 것 62 | 오늘 해낸 것 63 | 오늘 해낸 것 64 | 오늘 해낸 것 65 | 오늘 해낸 것 66 | 오늘 해낸 것 67 | 오늘 해낸 것 68 | 오늘 해낸 것 69 | 오늘 해낸 것 70 | 오늘 해낸 것 71 | 오늘 해낸 것 72 | 오늘 해낸 것 73 | 오늘 해낸 것 74 | 오늘 해낸 것 75 | 오늘 해낸 것 76 | 오늘 해낸 것 77 | 오늘 해낸 것 78 | 오늘 해낸 것 79 | 오늘 해낸 것 80 | 오늘 해낸 것 81 | 오늘 해낸 것 82 | 오늘 해낸 것 83 | 오늘 해낸 것 84 | 오늘 해낸 것 85 | 오늘 해낸 것 86 | 오늘 해낸 것 87 | 오늘 해낸 것 88 | 오늘 해낸 것 89 | 오늘 해낸 것 90 | 오늘 해낸 것 91 | 오늘 해낸 것 92 | 오늘 해낸 것 93 | 오늘 해낸 것 94 | 오늘 해낸 것 95 | 오늘 해낸 것 96 | 오늘 해낸 것 97 | 오늘 해낸 것 98 | 오늘 해낸 것 99 | 오늘 해낸 것 100 | 오늘 해낸 것 101 | 오늘 해낸 것 102 | 오늘 해낸 것 103 | 오늘 해낸 것 104 | 오늘 해낸 것 105 | 오늘 해낸 것 106 | 오늘 해낸 것 107 | 오늘 해낸 것 108 | 오늘 해낸 것 109 | 오늘 해낸 것 110 | 오늘 해낸 것 111 | 오늘 해낸 것 112 | 오늘 해낸 것 113 | 오늘 해낸 것 114 | 오늘 해낸 것 115 | 오늘 해낸 것 116 | 오늘 해낸 것 117 | 오늘 해낸 것 118 | 오늘 해낸 것 119 | 오늘 해낸 것 120 | 오늘 해낸 것 121 | 오늘 해낸 것 122 | 오늘 해낸 것 123 | 오늘 해낸 것 124 | 오늘 해낸 것 125 | 오늘 해낸 것 126 | 오늘 해낸 것 127 | 오늘 해낸 것 128 | 오늘 해낸 것 읽는 중 129 | 오늘 해낸 것 130 | 오늘 해낸 것 131 | 오늘 해낸 것 132 | 오늘 해낸 것 133 | 오늘 해낸 것 134 | 오늘 해낸 것 135 | 오늘 해낸 것 136 | 오늘 해낸 것 137 | 오늘 해낸 것 138 | 오늘 해낸 것 139 | 오늘 해낸 것 140 | 오늘 해낸 것 141 | 오늘 해낸 것 142 | 오늘 해낸 것 143 | 오늘 해낸 것 144 | 오늘 해낸 것 145 | 오늘 해낸 것 146 | 오늘 해낸 것 147 | 오늘 해낸 것 148 | 오늘 해낸 것 149 | 오늘 해낸 것 150 | 오늘 해낸 것 151 | 오늘 해낸 것 152 | 오늘 해낸 것 153 | 오늘 해낸 것 154 | 오늘 해낸 것 155 | 오늘 해낸 것