1. Goal
AhaWiki에 처음 들어온 사람이 30초 안에 다음을 이해하게 만든다.
- AhaWiki가 누구를 위한 도구인지
- 어떤 문제를 해결하는지
- 실제로 어떻게 사용할 수 있는지
- 개설 신청을 하려면 무엇을 하면 되는지
초기 목표는 많은 가입자를 한 번에 모으는 것이 아니라, 실제로 꾸준히 쓰는 개인/팀 위키를 10개 만드는 것이다.
2. Target Users
초기 유입 대상은 아래 순서로 좁혀서 본다.
- 개인 지식 관리를 직접 운영하고 싶은 개발자
- Notion보다 가볍고 링크 중심인 위키를 원하는 사람
- 소규모 팀의 회의록, 프로젝트 기록, 운영 문서를 관리하려는 사람
- self-hosted wiki나 독립 도메인 지식 베이스를 찾는 사람
3. Positioning
한 줄 설명 후보:
AhaWiki는 개인과 작은 팀이 지식을 꾸준히 기록하고 연결하기 위한 링크 중심 위키입니다.
강조할 차별점:
- 페이지를 빠르게 만들고 링크로 연결하는 기본 위키 경험
- Markdown, Wiki 문법, 코드, 표, 지도, 그래프, 칸반 등 다양한 표현 방식
- 사이트별 권한과 설정
something.ahawiki.net형태의 독립 위키 개설- 직접 운영 가능한 오픈소스 위키 엔진
4. Landing Page
AhaWiki 문서를 처음 방문한 사람 기준으로 다시 구성한다.
- 첫 문단을 제품 설명이 아니라 사용자가 얻는 가치 중심으로 수정
- "이런 사람에게 좋습니다" 섹션 추가
- 개인 위키, 팀 문서, 프로젝트 기록, 연구 노트 사용 예시 추가
- 주요 기능을 긴 목록이 아니라 사용 사례 중심으로 재정리
- 개설 신청 안내를 페이지 상단 근처로 이동
- 실제로 운영 중인 공개 사이트 목록을 눈에 띄게 배치
- 스크린샷 또는 데모 링크 추가
5. Signup Flow
개설 신청이 모호하지 않도록 정리한다. 지금 새 사용자가 거치는 흐름과 단계별 구현 현황은 ToDo NewUserFlow 에 있다.
6. Demo Content
기능 설명보다 "이렇게 쓰면 된다"를 보여주는 예시를 만든다.
- 예시 개인 위키
- 예시 프로젝트 홈
- 예시 회의록
- 개발 문서 예시 문서
- InterpreterKanban을 활용한 작업 관리 예시
- InterpreterGraph 또는 페이지 그래프 예시
- AhaMark 치트시트 정리
- 공개 데모 사이트 또는 데모 페이지 모음 만들기
7. SEO Content
검색으로 들어올 수 있는 문서를 만든다.
- 개인 위키 만들기
- 직접 운영하는 팀 위키
- 호스팅 서비스 대신 위키를 직접 운영할 때
- 링크 중심 지식 관리
- Markdown 과 위키 문법 함께 쓰기
- Scala Play Framework 위키 엔진
각 문서는 단순 홍보가 아니라 실제 문제 해결형 문서로 작성한다.
8. Developer Acquisition
개발자에게는 오픈소스 프로젝트로 소개한다.
- GitHub README 작성 또는 확장 — 저장소
README.md(2026-09-25) - 전에는
README.wiki였다. GitHub 이 MediaWiki 도 그려 주기는 하지만, 저장소의 다른 README 는 Markdown 이고 같은 것의 철자가 둘이면 하나는 낡는다. 지우고README.md하나로 갔다. - 지도이지 사본이 아니다. 필요한 사실은 전부 위키 페이지 쪽에 있고 README 는 가리키기만 한다 — 그래야 그 사실이 바뀔 때 고칠 곳이 하나다. 예외는 로컬 실행 명령 두 줄인데, 처음 온 개발자에게 가장 쓸모 있는 줄이라 싣고 Dev RunningLocally 가 정본임을 옆에 적었다.
- 설치 방법을 현재 기준으로 정리 — 필요한 것(JDK·sbt·MySQL·Redis·Node)과 설정이 저장소 밖에 있다는 것까지. 버전 숫자는 적지 않고
build.sbt를 가리킨다 — 숫자는 낡는다. - 스크린샷 추가 — 아직. 화면을 찍어 저장소에 넣는 일이라 사람 손이 낫다고 봤다.
- 로컬 실행 방법을 복사 가능한 명령어로 정리 —
sbt ... run과 확인용curl두 줄. - 주요 기능 목록을 최신 상태로 갱신 — 기능 나열이 아니라 «무엇을 할 수 있나» 로 다시 썼다. Graph 는 Graphviz 가 아니라 자체 문법이라 그렇게 적지 않았다.
-
awesome-selfhosted등 self-hosted wiki 목록 등록 가능성 조사 - 한국 개발 커뮤니티에 "직접 만든 위키 엔진" 관점으로 소개 글 작성
9. Onboarding
첫 사용자가 빈 화면에서 멈추지 않도록 한다.
- 새 사이트 생성 시 기본 문서 세트 제공
- FrontPage
- GettingStarted
- RecentChanges
- TitleIndex
- ExampleProject
- ExampleMeetingNotes
- 첫 편집 흐름을 5분 튜토리얼로 정리
- 페이지 링크를 만들고 새 문서를 생성하는 흐름을 강조
- 권한 설정, 공개/비공개 설정의 최소 가이드 작성
- 관리자용 체크리스트 문서 작성
10. Measurement
유입이 실제 사용으로 이어지는지 확인한다.
- 월별 신규 사이트 수 — Admin Dashboard «Sites by Month»,
GET /api/Admin/SiteActivity(2026-10-31) - 월별 활성 사이트 수 — 같은 표
- 사이트별 최근 30일 작성/수정 문서 수 — 같은 화면 «Site Activity (30 days)», 편집자 수와 처음·마지막 편집 시각까지
- 신청 후 실제 개설 완료율 —
SiteRequest에 기록이 쌓인다. 화면에 세어 보이는 것은 신청이 들어온 뒤에 - 개설 후 7일 내 첫 문서 작성 여부 — 사이트별 표의 Created 와 First Edited 를 나란히 두어 눈으로 읽을 수는 있다. 비율로 세는 것은 사이트가 열 개를 넘고 나서
- 외부 유입 경로 확인 —
AccessLog에는 referer 가 없다. 넣으려면 컬럼부터
숫자는 처음부터 정교할 필요는 없지만, 매달 같은 기준으로 본다. 그 기준은 다음과 같다.
- 활성 사이트 = 그 달에 어느 페이지든 revision 이 하나라도 저장된 사이트. minor edit 과 API 편집도 센다 — 묻는 것은 «누가 쓰고 있나» 이고, 소유자의 에이전트가 대신 쓰는 사이트도 쓰이는 사이트다. 조회는 세지 않는다 — 아무도 쓰지 않는 사이트는 아무리 읽혀도 쓰이는 사이트가 아니다.
- 신규 사이트 =
Site테이블의created컬럼이 그 달인 사이트. 첫 두 사이트(seq 1·2)의created는 evolution 16 이 돌던 시각이라 실제 개설일이 아니다 — 그 달의 신규 수는 그 사정을 알고 읽는다. - 12달치를 빠진 달 없이 0 으로 채워 돌려준다. 표에서 빠진 달은 «없었다» 가 아니라 «모른다» 로 읽히기 때문이다.
- 사이트별 표는 최근 30일 편집 수 내림차순. 30일은
ApiAdminReport.activeWindowDays, 12달은ApiAdminReport.monthsReported— 값은 거기만 바꾼다. - 이 보고서만 H2 스펙(
ApiAdminSiteActivitySpec)이 돈다. 왜 다른 통계는 못 도는지는 Dev ApiControllers.
11. Priority
먼저 할 일:
- AhaWiki 첫 화면 문구와 개설 신청 안내 개선
- 예시 문서 3개 작성: 개인 위키, 프로젝트 홈, 회의록
- GitHub README를 처음 온 개발자 기준으로 정리 (2026-09-25)
- 신청 채널을 하나로 고정 — 신청 버튼
- 공개 데모 또는 실제 사용 사이트를 더 잘 보이게 배치
12. Done Criteria
- 처음 온 사람이 AhaWiki의 용도를 30초 안에 이해할 수 있다. — 첫 화면을 고쳤다. 실제로 그런지는 사람에게 보여 줘야 안다
- 개설 신청 방법이 한눈에 보인다.
- 실제 사용 예시를 3개 이상 볼 수 있다.
- GitHub에서 설치/실행 방법을 확인할 수 있다. —
README.mdRunning it locally (2026-09-25) - 월별 신규 사이트와 활성 사이트를 확인할 수 있다. — Admin Dashboard (2026-10-31)
13. See Also
13.2. Similar Pages
Similar pages by cosine similarity. Words after page name are term frequency.