Files
FocusBuddy/product-design.md
2025-11-27 14:00:13 +08:00

255 lines
8.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FocusBuddy 产品设计文档
> **产品名称**FocusBuddy
> **定位**:一款为神经多样性人群设计的、无惩罚、情感支持型专注工具
> **目标**:帮助用户温柔地回到当下,而非追求“高效”
> **适用平台**iOS + AndroidFlutter 跨平台)
> **开发状态**:已完成 MVP 版本
> **最后更新**2025年11月27日
---
## 一、产品背景与市场机会
### 1.1 用户痛点
- ADHD 及注意力困难人群常因“无法专注”产生自我批评;
- 现有番茄钟工具强调“完成”,失败即惩罚(如 Forest 树枯死),加剧焦虑;
- 用户需要的是“允许分心 + 温柔回归”的支持机制,而非效率压榨。
### 1.2 市场验证
- 全球约 **45% 成年人**存在 ADHD 特征CHADD 数据);
- Reddit r/ADHD 拥有 **超 200 万订阅者**TikTok #ADHDTips 话题播放量超 **10 亿**
- 竞品如 Tiimo估值 $1 亿、Focus Keeper长期付费榜前列证明付费意愿强
- **空白点**:缺乏轻量、离线、情绪友好的垂直工具。
### 1.3 产品优势
- 功能聚焦,无需后端;
- 开发成本低(纯本地逻辑);
- 无广告干扰,用户体验良好;
- 社区自传播潜力大。
---
## 二、产品定位与原则
### 2.1 核心理念
> “专注不是坚持不走神,而是每次走神后,都愿意轻轻回来。”
### 2.2 三大设计原则
| 原则 | 说明 |
|------|------|
| **无惩罚机制** | 分心不中断计时,不断连成就,不重置进度 |
| **本地优先** | 所有数据仅存于设备,不联网、不上传 |
| **情绪友好** | 用鼓励文案、柔和动效、低刺激视觉降低焦虑 |
### 2.3 避免踩坑
- ❌ 不使用 “ADHD”、“治疗”、“诊断” 等医疗词汇;
- ✅ 定位为 “focus support tool for neurodivergent minds”
- ✅ 强调 “gentle”, “kind”, “no guilt”。
---
## 三、已实现核心功能
### 3.1 页面功能
| 页面 | 功能 | 说明 |
|------|------|------|
| **Home** | 一键开始专注 | 显示积分卡片、应用标题、时长选择、开始专注按钮和底部导航 |
| **Focus** | 专注计时 | 显示计时器、分心按钮和暂停按钮 |
| **Complete** | 专注完成 | 显示专注结果、鼓励文案和"Start Another"按钮 |
| **History** | 历史记录 | 显示当天记录列表,支持查看详情 |
| **Settings** | 设置选项 | 包含默认时长选项、语言选择和隐私政策链接 |
| **Profile** | 个人资料 | 显示积分、等级和连续签到记录 |
| **Onboarding** | 引导页 | 解释"无惩罚"理念,降低用户困惑 |
| **Session Detail** | 会话详情 | 显示单个专注会话的详细信息 |
### 3.2 核心功能
| 功能 | 说明 |
|------|------|
| **无惩罚机制** | 分心不中断计时,不断连成就,不重置进度 |
| **分心记录** | "I got distracted"按钮 + 4种分心分类社交媒体、被打断、感到压力、走神 |
| **温柔鼓励** | 随机显示15条鼓励文案如"Showing up is half the battle" |
| **本地存储** | 使用Hive进行数据存储所有数据仅存于设备 |
| **多语言支持** | 支持14种语言英语、中文、日语、韩语、西班牙语、德语、法语、葡萄牙语、俄语、印地语、印度尼西亚语、意大利语、阿拉伯语 |
| **通知功能** | 后台计时通知,提醒用户正在计时中 |
| **积分系统** | 完成专注获得积分,提升等级 |
| **提前停止确认** | 点击Stop时友好提示防止误操作 |
| **空状态提示** | History页无数据时引导用户 |
---
## 四、UI/UX 设计
### 4.1 视觉风格
- **色彩**:莫兰迪色系(主色 `#A7C4BC`,背景 `#F8F6F2`
- **字体**Nunito圆润、易读
- **图标**:简洁、清晰的 Material Design 图标
- **动效**:柔和的过渡动画,避免快速、刺激的动效
### 4.2 核心页面设计
#### 页面 1Home Screen
- 顶部显示积分卡片,包含积分、等级和连续签到记录
- 中间显示应用标题和时长选择
- 底部显示开始专注按钮和导航栏(历史、设置)
#### 页面 2Focus Screen
- 中央显示大字体计时器
- 下方显示"I got distracted"按钮和暂停按钮
- 支持后台计时和通知
#### 页面 3Complete Screen
- 显示专注结果(时长、分心次数)
- 随机显示鼓励文案
- 提供"Start Another"按钮
### 4.3 鼓励文案库
存储在 `assets/encouragements.json`包含15条鼓励文案
```json
[
"Showing up is half the battle.",
"Every minute counts.",
"You're learning, not failing.",
"Gentleness is strength.",
"Progress over perfection.",
"Your effort matters.",
"Small steps, big journey.",
"Be kind to your brain.",
"You're doing your best.",
"One moment at a time.",
"Focus is a practice, not a trait.",
"It's okay to take breaks.",
"You came back — that's what matters.",
"Celebrate trying, not just succeeding.",
"Your attention is valid."
]
```
---
## 五、技术实现
### 5.1 技术栈
| 组件 | 方案 |
|------|------|
| 跨平台框架 | Flutter |
| 本地存储 | Hive加密支持 |
| 定时与通知 | flutter_local_notifications |
| 权限管理 | permission_handler |
| 依赖注入 | get_it |
| 国际化 | flutter_localizations + intl |
| 字体 | Google Fonts (Nunito) |
### 5.2 数据结构
**FocusSession 模型:**
```dart
class FocusSession {
DateTime startTime;
DateTime? endTime;
int durationMinutes;
List<Distraction> distractions;
bool isCompleted;
}
```
**Distraction 模型:**
```dart
class Distraction {
String type; // e.g., "social", "interrupted", "overwhelmed", "zoned_out"
DateTime time;
}
```
**UserProgress 模型:**
```dart
class UserProgress {
int totalPoints;
int level;
int consecutiveCheckIns;
bool hasCheckedInToday;
List<String> achievements;
}
```
### 5.3 依赖包
**核心依赖:**
```yaml
dependencies:
flutter: ^3.10.0-290.4.beta
flutter_localizations: ^0.1.0
cupertino_icons: ^1.0.8
hive: ^2.2.3 # 本地存储
hive_flutter: ^1.1.0
flutter_local_notifications: ^17.0.0 # 通知
permission_handler: ^11.0.0 # 权限管理
path_provider: ^2.1.0 # 文件路径
shared_preferences: ^2.2.0 # 简单键值存储
intl: ^0.20.2 # 日期格式化和国际化
google_fonts: ^6.1.0 # Google Fonts (Nunito)
get_it: ^7.7.0 # 依赖注入框架
```
**开发工具:**
```yaml
dev_dependencies:
flutter_test: ^0.0.0
flutter_lints: ^6.0.0
hive_generator: ^2.0.0 # Hive代码生成
build_runner: ^2.4.0 # 构建工具
```
### 5.4 多语言支持
已实现14种语言支持
- 英语 (English) 🇬🇧
- 中文 (Chinese) 🇨🇳
- 日语 (Japanese) 🇯🇵
- 韩语 (Korean) 🇰🇷
- 西班牙语 (Spanish) 🇪🇸
- 德语 (German) 🇩🇪
- 法语 (French) 🇫🇷
- 葡萄牙语 (Portuguese) 🇧🇷
- 俄语 (Russian) 🇷🇺
- 印地语 (Hindi) 🇮🇳
- 印度尼西亚语 (Indonesian) 🇮🇩
- 意大利语 (Italian) 🇮🇹
- 阿拉伯语 (Arabic) 🇸🇦
---
## 六、合规与隐私
### 6.1 隐私政策要点
- **无数据收集**:所有数据仅存于设备;
- **无分析 SDK**:不使用 Firebase、GA 等;
- **无广告**:当前版本不包含任何广告;
- **非医疗工具**:明确声明不用于诊断或治疗。
### 6.2 隐私政策摘要
> “FocusBuddy is 100% offline. We do not collect your name, email, location, or usage data. All sessions stay on your device. No account required. No tracking or analytics.”
---
## 七、推广策略(零预算冷启动)
1. **Reddit 渗透**
- 发帖 r/ADHD“Made a focus app that doesnt shame you—feedback welcome!”
2. **TikTok 短视频**
- 内容“How I stopped hating myself for losing focus”
3. **Product Hunt 首发**
- 标题“A focus timer for people who hate focus timers”
4. **ADHD 博主合作**
- 免费提供 Pro 版,换取真实测评
---
> **愿景**
> 让每一个“不同大脑”的人,都能在专注的路上,被温柔以待。
---
> ✨ **备注**:本产品已完成 MVP 版本开发,可直接上架应用商店。