255 lines
8.2 KiB
Markdown
255 lines
8.2 KiB
Markdown
# FocusBuddy 产品设计文档
|
||
|
||
> **产品名称**:FocusBuddy
|
||
> **定位**:一款为神经多样性人群设计的、无惩罚、情感支持型专注工具
|
||
> **目标**:帮助用户温柔地回到当下,而非追求“高效”
|
||
> **适用平台**:iOS + Android(Flutter 跨平台)
|
||
> **开发状态**:已完成 MVP 版本
|
||
> **最后更新**:2025年11月27日
|
||
|
||
---
|
||
|
||
## 一、产品背景与市场机会
|
||
|
||
### 1.1 用户痛点
|
||
- ADHD 及注意力困难人群常因“无法专注”产生自我批评;
|
||
- 现有番茄钟工具强调“完成”,失败即惩罚(如 Forest 树枯死),加剧焦虑;
|
||
- 用户需要的是“允许分心 + 温柔回归”的支持机制,而非效率压榨。
|
||
|
||
### 1.2 市场验证
|
||
- 全球约 **4–5% 成年人**存在 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 核心页面设计
|
||
|
||
#### 页面 1:Home Screen
|
||
- 顶部显示积分卡片,包含积分、等级和连续签到记录
|
||
- 中间显示应用标题和时长选择
|
||
- 底部显示开始专注按钮和导航栏(历史、设置)
|
||
|
||
#### 页面 2:Focus Screen
|
||
- 中央显示大字体计时器
|
||
- 下方显示"I got distracted"按钮和暂停按钮
|
||
- 支持后台计时和通知
|
||
|
||
#### 页面 3:Complete 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 doesn’t 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 版本开发,可直接上架应用商店。 |