Product Hunt

MuM — A reading-first Markdown engine for macOS

MuM — 읽기에 초점을 둔 macOS용 Markdown 엔진

MuM은 여러 폴더의 Markdown 문서를 빠르게 읽도록 만든 macOS 앱입니다. AppKit으로 화면을 그려 콜드 스타트 약 0.3초, 5MB 문서 스크롤 100fps 이상을 내세우며, 프로젝트별 읽기 위치 저장과 프로젝트 간 검색을 지원합니다.

AI 요약

Markdown 문서를 자주 쓰기보다 읽는 사용자를 위한 macOS 앱입니다. MuM은 편집기와 미리보기 화면을 묶는 대신, 웹 엔진 없이 AppKit만으로 만든 독립형 리더를 표방합니다. 여러 프로젝트를 동시에 열고 프로젝트별로 읽던 위치를 기억하며, 프로젝트 전체를 검색할 수 있습니다. CJK와 라틴 문자의 조판도 별도로 조정했다고 소개합니다.

성능과 기능

앱 설명에 따르면 콜드 스타트는 약 0.3초이며 다운로드 크기는 1.7MB입니다. 5MB 문서를 스크롤할 때 100fps 이상을 기록합니다. 프로젝트마다 읽기 위치를 저장하고, ⌘⇧F로 여러 프로젝트의 문서를 검색합니다. 목차도 한 번의 키 입력으로 열 수 있습니다. 같은 렌더링 엔진을 쓰는 CLI도 제공하며 mum render, mum outline, mum search 명령으로 에이전트가 사람과 같은 조판 결과를 활용할 수 있다고 설명합니다.

제작과 검증

제작자는 Claude Code가 독립 테스트와 감사를, Kimi Code가 구현을, DeepSeek Harness가 제품 정의와 승인 기준을 맡았다고 밝혔습니다. 세 업체의 CLI가 하나의 저장소에서 메시지 큐와 공용 작업 보드를 통해 협업했고, 요구사항과 최종 판단은 제작자가 제공했습니다. 11일 동안 17개 릴리스와 207개 커밋을 냈고, Swift 소스 파일 61개와 약 1만 6,700줄을 작성했습니다. 자동 테스트 147개, 앱 내 UI 시나리오 14개, 렌더러 자체 검사 24개 항목을 갖췄습니다. 메인 스레드에서 블로킹 API를 호출하면 빌드를 막는 검사도 넣었으며, 실제 멈춤 현상을 겪은 뒤 추가했다고 합니다. 릴리스마다 서명과 공증을 거칩니다. 소스는 MIT 라이선스로 공개했습니다.

Product Hunt 반응

  • @iceskysl — 안녕하세요, Product Hunt 여러분 👋 MuM은 macOS용 읽기 우선 Markdown 엔진입니다. 저는 Markdown을 쓰기보다 읽는 일이 훨씬 많습니다. 문서와 노트, 명세가 여기저기 흩어져 있습니다. 제가 써본 Typora, Obsidian, VS Code, MacDown은 모두 미리보기를 곁들인 편집기였습니다. 한 섹션을 읽으려 해도 편집 환경 전체를 띄워야 했습니다. 그래서 제가 원하던 도구를 만들었습니다. 웹 엔진 없이 작동하는 네이티브 리더입니다. 창이 뜨기까지 콜드 스타트는 약 0.3초이고 DMG는 1.7MB입니다. 5MB 문서를 스크롤해도 100fps 이상을 유지합니다. 브라우저를 걸쳐 놓은 앱이 아니라 처음부터 끝까지 AppKit으로 만들었기 때문입니다. 프로젝트별로 읽던 위치를 기억해 앱을 닫았다 다시 열면 이어서 읽습니다. ⌘⇧F로 여러 프로젝트의 전체 텍스트를 검색합니다. 제 노트는 한 저장소에 모여 있지 않습니다. CJK 조판은 기본값에 맡기지 않고 측정해 조정했습니다. 같은 엔진으로 CLI도 제공하므로 에이전트가 사람이 읽는 것과 같은 조판 결과를 얻습니다. 제작 과정도 공개합니다. MuM은 Claude Code, Kimi Code, DeepSeek Harness라는 세 AI 에이전트가 같은 저장소에서 만들었습니다. Claude Code는 독립 테스트와 감사를, Kimi Code는 구현을, DeepSeek Harness는 제품 정의와 승인 기준을 맡았습니다. 서로 다른 세 업체의 CLI가 메시지 큐와 공용 작업 보드로 협업했고, 요구사항과 판단은 제가 제공했습니다. ‘AI가 만들었다’는 말만으로는 알 수 없으니 수치를 말씀드리겠습니다. 11일 동안 17개 릴리스, 207개 커밋, Swift 소스 파일 61개, 약 1만 6,700줄입니다. 자동 테스트 147개에 앱 내 UI 시나리오 14개, 렌더러 자체 검사 24개 항목을 더했습니다. 릴리스마다 서명과 공증을 마쳤습니다. 승인 기준은 느낌이 아니라 스크립트입니다. 메인 스레드에서 블로킹 API를 호출하면 빌드를 막습니다. 실제 멈춤 현상을 겪은 뒤 그 기준을 넣었습니다. MIT 라이선스이며 GitHub에서 소스를 볼 수 있습니다. MuM을 열고 가장 먼저 하는 일은 무엇인가요? 5초 넘게 멈춰서 고민하는 곳은 어디인가요?
  • @iceskysl — 한 가지 빠르게 여쭙겠습니다. Dock에서 어떤 아이콘이 더 잘 읽히나요? MuM 앱 아이콘의 두 방향을 두고 고민 중입니다. A는 손으로 쓴 M으로, 앱이 실제로 하는 손으로 조판한 듯한 따뜻함을 담았습니다. B는 기하학적인 M으로, 작은 크기에서도 또렷하고 초록색 획이 ‘읽음으로 표시’ 체크처럼 보입니다. 두 아이콘 모두 실제 빌드에 넣어 지금 제 Dock에 올려뒀습니다. 어느 쪽을 Dock에서 보고 싶으신가요? A인가요, B인가요?
  • @galdayan — 0.3초 만에 열린다는 수치라면 실제로 바꿔 쓸 마음이 생깁니다. Markdown 뷰어 대부분은 파일 하나만 읽으려 해도 완전한 편집기처럼 시작하니까요. 읽기 전용이라면 Quick Look이나 Marked 2와 무엇이 다른가요? 여러 폴더를 프로젝트로 보는 기능인가요, 아니면 렌더링 자체인가요?
    • @iceskysl — 좋은 질문입니다. Quick Look과 Marked 2는 MuM을 만들기 전 제가 쓰던 도구입니다. Quick Look은 ‘볼 수는 있지만 읽기에는 부족한’ 도구입니다. 제대로 된 조판도, 목차도, 파일 간 검색도 없고, 읽던 위치도 기억하지 않습니다. 200줄짜리 변경 기록이라면 괜찮지만 하루 종일 문서를 보는 데는 부족합니다. Marked 2는 편집기에서 열어둔 문서를 미리 보는 보조 도구입니다. MuM은 독립형으로 쓰는 경우를 겨냥합니다. 여러 프로젝트를 나란히 열고, 각 파일의 읽던 위치를 기억합니다. 앱을 종료한 뒤 다시 열면 정확히 그 문단으로 돌아갑니다. ⌘⇧F로 모든 프로젝트를 검색하고, 한 번의 키 입력으로 목차를 엽니다. 렌더링에도 차이가 있습니다. 엔진을 AppKit으로 직접 만들고 웹 뷰를 넣지 않았습니다. CJK와 라틴 문자의 줄 높이와 너비를 따로 계산하므로 5MB 문서에서도 100fps 이상으로 스크롤합니다. 0.3초는 단순히 앱이 뜨는 시간에 관한 수치가 아닙니다. 파일이 필요하다고 느낀 순간부터 읽기 시작할 때까지 기다림이 없다는 뜻입니다. 요즘 어떤 문서를 읽으시나요? 명세, 노트, 코드 문서 중 무엇인가요? Dock에 올려둘 만한 앱이 되려면 무엇이 필요할지도 듣고 싶습니다.

원문: Product Hunt / 번역·요약: Trawling