# AX Notes App — PRD

상태: 검토용 초안 · 작성일: 2026-10-07

기준 문서: [README](../README.md). 이 문서는 제품 요구사항을 정의한다. 구현 방식은 [TRD](TRD.md)에 정리한다. README의 확정 사항과 아래의 설계 제안을 구분하며, 문서 작성이 기술 선택이나 구현 착수를 뜻하지는 않는다.

## 1. 제품의 목적

AX Notes App은 AX를 소개하는 Android 독자용 앱이다. 독자가 글을 읽고 저장하며, 유용한 내용과 자신의 생각을 다시 꺼내볼 수 있도록 한다. 쓸모 있는 AX 경험과 실제 결과물을 전달하며 AX Notes의 신뢰와 정체성을 쌓는 채널로 운영한다. 파운더이자 운영자 개인의 브랜딩은 AX Notes가 독자에게 가치를 제공한 결과로 이어진다. Labs 연결은 MVP 이후에 추가한다.

첫 버전의 이름은 **MVP 첫 번째 생존자**다. 많은 기능보다 읽기 → 저장 또는 메모 → 다시 찾아 읽기 흐름을 완성한다. 앱 제작 과정은 Public의 ‘AX Notes 앱 만들기’ Project에 기록한다. 광고 수익화는 실제 사용 경험을 확인한 뒤 검토한다.

## 2. 대상과 해결할 문제

주요 독자는 AI를 생활이나 업무에 적용해보고 싶은 한국어 사용자다. 다음 사용 상황을 기준으로 설계한다.

- 읽고 싶은 글을 발견했지만 지금 읽을 시간이 없다.
- 글을 읽으며 자신의 업무에 적용할 아이디어를 적고 싶다.
- 전에 저장한 글이나 메모를 기억나는 단어로 다시 찾고 싶다.
- 관련 도구를 바로 사용하고 결과물을 가져가고 싶다.
- 글을 공유하거나 작성자의 다른 실험을 살펴보고 싶다.

‘온디바이스 개인화’는 첫 버전에서 사용자가 직접 저장하고 정리하는 개인 읽기 공간을 뜻한다. 추천 모델이나 온디바이스 LLM은 포함하지 않는다.

## 3. 확정 사항과 초안 가정

| 구분 | 내용 |
| --- | --- |
| README에서 확정 | Android only, 웹 콘텐츠 사용, Notes 목록·읽기 |
| 사용자 결정 | Labs 소개·실행 진입점과 관련 Lab 연결은 MVP 이후로 연기 |
| README에서 확정 | 북마크, 나중에 읽기 알람, 메모를 포함하는 다른 타입의 북마크, 메모를 함께 검색 |
| 이전 대화에서 확정 | 참여 중심, 쓸모 있는 AX 경험 전달과 AX Notes 브랜드 구축, 향후 광고 수익화, 제작 과정 연재 |
| 사용자 결정 | 계정과 백업 없이 개인 데이터를 기기 내부에 저장한다. 자동 클라우드 백업과 기기 이전도 제외한다. |
| 사용자 결정 | 메모는 글에 연결된 메모만 제공한다. 독립 메모는 제공하지 않는다. |
| 사용자 결정 | 읽기 알림은 스케줄러 수준의 로컬 알림으로 지연을 허용한다. 새 글 푸시는 포함하지 않는다. |
| 사용자 결정 | Android 8.0(API 26) 이상을 지원한다. |
| 사용자 결정 | Public 빌드에 앱용 정적 JSON을 추가하며 필요한 웹 저장소 변경을 함께 진행한다. |
| 사용자 결정 | 초기 배포는 내부 APK로 진행한다. |
| 초안 제안 | 캐시된 글은 오프라인으로 읽을 수 있다. 이미지의 오프라인 표시는 보장하지 않는다. |
| 초안 제안 | Project 정보는 글의 관련 링크와 웹 진입점으로 제공하고 전용 탐색 화면은 후속으로 둔다. |

## 4. MVP 범위

### PRD-01. Notes 목록과 읽기

- 최신 발행일 순으로 제목, 요약, 날짜를 보여준다. 사용자가 목록을 새로고침할 수 있다.
- 글 상세는 제목, 본문, 이미지, 링크를 읽기 좋은 형태로 보여준다. 긴 글과 코드·표도 화면을 깨뜨리지 않는다.
- 상세에서 북마크, 메모, 읽기 알림, 공유에 접근할 수 있다.
- 원문과 관련 Project가 있으면 이동할 수 있다. 작성자 소개 링크는 모든 글에서 접근 가능하다. MVP에는 별도 Lab 연결 UI를 두지 않으며 본문에 포함된 웹 링크는 일반 외부 링크로 처리한다.
- 네트워크 오류에는 재시도를 제공한다. 이전 데이터가 있으면 그대로 보여주며 마지막 갱신 시각을 표시한다.
- 본문을 아직 받지 못한 경우 오프라인에서 빈 화면 대신 연결 필요 상태를 보여준다.

수용 기준: 공개 글의 목록과 본문을 읽을 수 있고 공유한 링크가 원문을 연다. 한 번 내려받은 글은 네트워크 없이 다시 열 수 있다.

### PRD-03. 북마크와 내 보관함

- 글의 북마크를 추가·해제한다. 같은 글의 북마크는 중복 생성하지 않는다.
- 내 보관함에서 북마크한 글과 메모를 타입별로 확인한다.
- 글 북마크 해제와 메모 삭제는 서로 다른 동작이다. 북마크를 해제해도 글에 적은 메모는 남는다.
- 원문이 수정되거나 삭제되어도 개인 메모는 유지한다. 삭제된 글의 이전 제목과 접근 불가 상태를 보여준다.

수용 기준: 앱을 종료하고 다시 열어도 보관함이 유지된다. 북마크 해제나 콘텐츠 갱신으로 메모가 사라지지 않는다.

### PRD-04. 사용자 메모

- 글 상세에서 해당 글에 연결된 메모를 작성·수정·삭제한다.
- 모든 메모는 글에 연결한다. 보관함에서도 글을 선택한 뒤 메모를 작성하며 독립 메모 작성은 제공하지 않는다. 메모마다 제목과 본문을 두고 제목은 선택 입력이다.
- 메모 저장을 명시적 버튼으로 제공한다. 저장하지 않은 변경을 두고 화면을 나갈 때 선택할 수 있도록 한다.
- 첫 버전은 텍스트 메모를 제공한다. 외부 링크 수집, 첨부파일, 음성, 편집기 서식, 인용 구간 표시는 포함하지 않는다.
- 메모 삭제에는 확인 또는 실행 취소를 제공한다.

수용 기준: 글에 연결된 메모가 재실행 뒤 유지되고 검색에서 발견된다. 글 연결 없이 메모를 생성할 수 없고 저장 오류를 성공처럼 표시하지 않는다. 원문 삭제 후에도 글 연결과 제목 스냅샷은 보존한다.

### PRD-05. 나중에 읽기 알림

- 글 하나에 활성 알림 하나를 설정한다. 날짜·시각을 직접 선택하고 수정·취소할 수 있다.
- 알림 설정은 북마크 여부와 독립적이다. 북마크 해제가 알림을 취소하지 않는다.
- 사용자가 첫 알림을 설정할 때 알림 권한을 요청한다. 거부해도 나머지 기능은 사용 가능하다.
- 권한이 없거나 채널이 꺼져 있으면 예정 항목을 보관함에 남기되 알림이 전달되지 않는다는 상태를 표시한다.
- 알림을 누르면 해당 글을 연다. 앱 안에서 아직 열지 않은 알림 대상도 다시 찾을 수 있다.
- 스케줄러가 예약 시각 이후 실행할 때 안내하는 알림으로 정의한다. 절전, OS 제한, 강제 종료 등으로 지연되거나 전달되지 않을 수 있다. 정확한 시각이나 최대 지연 시간을 약속하지 않는다.
- 재부팅 후 미래 일정은 복구하고, 놓친 알림은 묶어서 한 번 안내한다. 시간대가 바뀌어도 예약한 실제 시점은 유지한다.

수용 기준: 설정·변경·취소가 앱 재실행과 재부팅 후에도 일관된다. 같은 알림이 중복 전달되지 않고 취소한 알림은 전달되지 않는다. 알림 차단 상태가 화면에 반영된다.

### PRD-06. 통합 검색

- 내려받은 Notes의 제목·요약·본문과 사용자 메모의 제목·본문을 한 검색창에서 검색한다.
- 글과 메모 결과를 구분하고 각각의 상세로 연결한다. 모든 메모 결과에 연결된 글 제목을 표시한다.
- 빈 검색어에는 검색 안내를, 결과가 없으면 결과 없음과 다른 검색어 제안을 보여준다.
- 로컬 검색이며 서버로 검색어나 메모를 보내지 않는다. 아직 내려받지 않은 본문은 검색 대상이 아님을 안내한다.
- MVP는 키워드 부분 일치 검색이다. 의미 검색, 형태소 분석, 추천 순위는 후속 범위다.

수용 기준: 한국어 글 제목과 메모 본문의 일부 단어로 찾을 수 있다. 따옴표·특수문자 입력이 오류를 일으키지 않고 오프라인에서도 동작한다.

### PRD-07. 공유와 작성자 연결

- 글 공유는 제목과 원문 URL을 OS 공유창에 전달한다.
- 메모 내용은 글 공유에 자동 포함하지 않는다. 메모 내보내기나 공유는 후속 검토 항목이다.
- 작성자 소개와 외부 활동 채널로 이동할 수 있다. 검증되지 않은 링크를 임의로 생성하지 않고 웹 제공 데이터를 사용한다.

수용 기준: 원문을 공유하고 작성자 소개를 열 수 있으며 공유 내용에 개인 메모가 섞이지 않는다.

## 5. 화면과 주요 흐름

하단 탐색 초안은 **Notes · 내 보관함**이다. 검색은 Notes와 보관함에서 같은 검색 화면으로 연결한다. 작성자 소개, 데이터 관리, 알림 상태는 설정 또는 소개 진입점에서 제공한다.

1. 글 발견 → 상세 읽기 → 북마크 또는 메모 저장.
2. 지금 못 읽는 글 발견 → 날짜·시각 선택 → 로컬 알림 → 글 읽기.
3. 보관함 또는 검색 → 이전 메모와 글 찾기 → 다시 읽기.
4. 글 → 작성자·관련 Project 웹페이지 → 다른 실험 발견.

## 6. 데이터와 운영 원칙

- 계정과 백업은 제공하지 않는다. 자체 서버와 기기 간 동기화도 MVP에 두지 않는다.
- 개인 데이터는 앱 전용 로컬 저장소에 둔다. 클라우드 백업과 자동 기기 이전 제외를 기술 요구사항으로 둔다.
- 삭제·앱 데이터 초기화·재설치·기기 변경 때 개인 데이터가 없어질 수 있음을 데이터 관리 화면에 안내한다. MVP에는 복구나 내보내기가 없다.
- 콘텐츠 캐시 삭제와 개인 데이터 삭제는 구분한다. 개인 데이터 삭제는 별도 확인을 요구한다.
- 웹 콘텐츠 수신과 본문의 외부 링크 이동에는 네트워크가 사용된다. 외부 웹사이트의 데이터 정책은 앱의 개인 저장 정책과 구분한다.
- MVP에는 광고 SDK, 분석 SDK, 개인 데이터 전송을 넣지 않는다. 향후 수익화와 계측은 별도 범위로 설계한다.

## 7. 범위 밖과 후속 순서

### PRD-02. Labs 소개와 실행 — MVP 이후

- 현재 사용 가능한 Lab의 이름, 설명, 실행 링크를 보여준다.
- 실행은 웹 도구로 연결하며 앱 네이티브 기능으로 재구현하지 않는다.
- 아이디어 단계의 Lab은 실행 가능한 도구와 구분한다.
- 실행 진입점을 통해 기존 웹 도구의 복사·다운로드 흐름을 사용할 수 있어야 한다.
- 인터넷이 필요한 경우 연결 필요 상태를 안내한다. 앱 메모를 Lab에 자동 전달하지 않는다.

후속 수용 기준: 제공 중인 Lab을 실행하고 기존 웹 기능으로 결과물을 가져갈 수 있다. 앱으로 돌아오면 읽던 내용이나 저장 데이터가 유지된다. 이 기준은 MVP 출시 조건에 포함하지 않는다.

| 후속 후보 | 도입 조건 |
| --- | --- |
| Labs 소개·실행·관련 Lab 연결 | MVP의 읽기·저장·검색 흐름 검증 후 도입 |
| Project 전용 화면·팔로우 | 독자가 프로젝트 진행을 따라가는 수요 확인 |
| 새 글·Project 푸시 | 알림 범위와 서버 운영 필요성 확인 |
| 오늘의 AX 실험·참여 기록 | 기본 읽기와 개인 저장 경험 검증 |
| 광고 | 반복 사용 확인 후 위치·형식·데이터 정책 별도 설계 |
| 계정·동기화·내보내기 | 실제 데이터 이전·보관 수요 확인 |
| AI 추천·의미 검색 | 키워드 검색으로 해결되지 않는 문제 확인 |

iOS, 댓글, 좋아요, 커뮤니티, 결제, 사용자 공개 글 발행도 MVP에 포함하지 않는다.

## 8. 성공 기준과 검증

첫 배포 후보의 필수 조건은 PRD-01 및 PRD-03~07 수용 기준 충족, 저장 데이터 손실·중복 알림 등 주요 결함 해결, 실제 Android 기기에서 핵심 흐름 검증이다. PRD-02는 MVP 이후 범위다.

사용 경험 검증 제안: 작성자와 소규모 테스트 독자가 일주일간 사용한 뒤 저장한 글을 다시 읽었는지, 메모를 검색해 다시 찾았는지 확인한다. 한 명이라도 핵심 흐름을 반복 사용했는지 사례를 기록하되, 이를 시장 검증이나 수익화 성공으로 표현하지 않는다. 서버 계측 없이 테스트 피드백으로 시작한다.

브랜드 경험은 독자가 AX Notes를 어떤 채널로 이해하는지, 콘텐츠와 Project에서 어떤 가치를 얻었는지, 다시 찾아볼 이유가 생겼는지 확인한다. 운영자 개인의 인지도와 광고 매출 목표는 MVP 성공 기준에 넣지 않는다.

## 9. 구현 전 결정 사항

아래 여섯 항목은 2026-10-07 사용자 결정으로 확정했다.

| 항목 | 확정 내용 |
| --- | --- |
| 메모 타입 | 글 연결 메모만 제공. 독립 메모 없음 |
| 계정과 백업 | 계정 없음, 백업 없음. 자동 클라우드 백업·기기 이전 제외 |
| 알림 정밀도 | 스케줄러 수준. 예약 시각 이후 실행하며 지연 허용 |
| 최소 Android 버전 | Android 8.0(API 26) 이상 |
| 웹 데이터 제공 | Public 빌드에 정적 JSON 추가. 필요에 따라 웹 저장소도 수정 |
| 배포 채널 | 내부 APK 배포. Google Play 배포는 후속 검토 |

Kotlin/Compose 등 세부 기술 선택과 JSON 계약의 세부 구조는 TRD의 제안으로 남아 있다. 웹 저장소 수정은 데이터 제공에 필요한 범위로 진행한다.

## 10. 변경 기록

- 2026-10-07: 사용자가 수정한 README를 기준으로 첫 PRD 초안 작성.
- 2026-10-07: AX Notes의 가치와 브랜드 구축을 앞에 두고, 운영자 개인의 브랜딩은 그 결과로 이어지는 것으로 목적과 검증 기준 수정.
- 2026-10-07: 사용자 결정에 따라 Labs 연결을 MVP 이후로 옮기고 MVP 탐색·수용 기준에서 제외.
- 2026-10-07: 글 연결 메모만 제공, 계정·백업 없음, 스케줄러 수준 알림, Android 8.0 이상, 정적 JSON 및 필요한 웹 변경, 내부 APK 배포를 확정하고 본문에 반영.
