0. 先和大家打个招呼吧 
大家好,我是一名独立开发者,平时喜欢把生活中那些“知道应该做,却很难持续”的问题做成简单的产品。
Fitness Island 是我使用 TRAE 完成的一次运动习惯产品实验。
最初,我把一个很具体的问题告诉 TRAE:
很多健身计划默认用户时间充足、器械齐全,而且每天都能严格执行。但真实生活不是这样,今天可能只有 15 分钟,也可能睡得不好、没有器械,或者已经中断了一周。
我希望做的不是另一张标准训练表,而是一个能够先理解现实约束、主动降低行动阻力,并允许用户中断后重新开始的运动习惯系统。
我和 TRAE 从需求梳理开始,逐步完成训练路线结构、页面数据、移动端打卡界面和部署版本。整个过程不是让 AI 一次生成所有代码,而是持续描述问题、检查结果、指出偏差,再一步步收敛。
TRAE 帮我跨过的最大门槛,是把“运动习惯”这样一个抽象概念,拆成了可以真实运行的数据结构、交互流程和移动端页面。
1. Demo 简介
Fitness Island 是什么?
Fitness Island 是一个 AI 运动习惯生成与打卡系统。
用户提供自己的身体情况、训练目标、时间窗口,以及可用器械的照片或文字描述后,系统会先识别现实约束,再生成一条低阻力训练路线,并将路线呈现为动森风格的移动端训练岛页面。
它不是要求用户机械执行的固定训练脚本,而是一个每天可以打开一次的参考习惯系统。
面向谁?
Fitness Island 主要面向:
-
想开始运动,但不知道从哪里开始的人;
-
时间不稳定、无法执行固定训练表的人;
-
家庭器械有限,或者只能进行短时间训练的人;
-
曾经多次开始健身,又因为中断而放弃的人;
-
希望建立运动习惯,而不是短期追求高强度的人。
主要功能
1. 扫描现实约束
系统会整理用户的训练地点、可用器械、时间窗口、运动基础、身体状态以及旧伤或疼痛风险。
它首先判断“现实中能做什么”,而不是直接生成一张理想化训练表。
2. 生成三层训练路线
Fitness Island 会为用户保留三种稳定路径:
-
最低承诺:状态不好时也能完成的最小动作;
-
默认路线:正常状态下的日常训练安排;
-
重启路线:中断后重新开始时使用的低压力方案。
跳过训练不补课、不惩罚。重启被视为系统的正常维护,而不是失败。
3. 生成移动端训练岛
训练路线会被转换成一个可以直接打开的静态网站,其中包括:
-
7 日训练路线;
-
今日任务卡;
-
训练进度条;
-
完成结算按钮;
-
完成盖章反馈;
-
周复盘表;
-
30 天训练全图;
-
可复制的 Agent 训练数据。
【产品截图 1:Fitness Island 首页及今日训练任务】
【产品截图 2:7 日训练路线与训练岛节点】
【产品截图 3:完成训练后的结算盖章界面】
2. Demo 创作思路
灵感来源
Fitness Island 的灵感来自一个长期存在的问题:
很多人并不缺少健身知识,也不缺一份看起来专业的训练计划。真正困难的是,计划往往不承认现实。
用户今天可能只有 15 分钟,家里没有合适器械,前一天没有睡好,或者上周已经漏练了几次。一旦无法完成原计划,就容易产生挫败感,最后彻底放弃。
所以我想做的不是一份更完整的计划,而是一套能够适应现实变化的运动习惯系统。
想解决的问题
普通训练计划通常存在以下问题:
-
默认用户拥有稳定且充足的时间;
-
动作和器械要求过于复杂;
-
只告诉用户练什么,没有降低开始的阻力;
-
中断后要求补课,增加心理负担;
-
不保存长期约束,每次都要重新描述自己的情况;
-
更重视训练强度,而不是习惯连续性。
Fitness Island 更关心两个问题:
用户今天怎样才能开始?
用户中断以后,怎样才能轻松回来?
为什么选择这个方向?
我没有把它做成追求动作数量和训练强度的传统健身产品,而是选择优先保护连续性。
产品会主动删除高技术动作、复杂器械设置、超出时间窗口的路线,以及需要大量意志力才能执行的环节。
训练入口应该能在两分钟内开始。最低承诺必须足够小,重启路线必须足够轻。
因为对于刚开始建立运动习惯的人来说,能够继续出现,比偶尔完成一次高强度训练更重要。
3. Demo 体验地址
在线体验:
https://fitness-obsession-plan.vercel.app
项目源代码:
https://github.com/hiyeshu/fitness-island
建议使用手机浏览器打开,体验移动端训练岛、今日任务、路线节点与完成结算流程。
Fitness Island 只提供运动习惯和训练路线参考,不进行医疗诊断。出现尖锐关节痛、麻木、眩晕、胸痛、昏厥感或旧伤复发时,应停止训练并寻求专业帮助。
4. TRAE 实践过程
第一步:梳理用户现实约束
我首先向 TRAE 描述了普通健身计划的问题,并要求它不要直接生成动作表,而是先建立用户约束模型。
我们逐步确定了需要收集的信息:
-
训练地点;
-
可用器械;
-
每天真实时间窗口;
-
当前训练基础;
-
启动训练时的主要阻力;
-
疼痛、旧伤及安全边界。
这一步将产品从“训练计划生成器”转变成“先理解现实,再生成路线”的习惯系统。
【开发截图 1:使用 TRAE 梳理现实约束和产品流程】
Session ID:【1599158808235099:8b43524d707f4e4869ee974cdec041b7_6a536d5c5f613a09feb83531.6a536d5c5f613a09feb83534.6a536d5c5f613a09feb83532:TRAE Work CN.0.1.32.no_sid.no_ppe.T(2026/7/12 18:33:00)】
第二步:设计最低承诺、默认路线和重启路线
随后,我使用 TRAE 继续设计训练路线结构。
我们没有按照“初级、中级、高级”划分计划,而是根据用户当天的真实状态,设计三条可以切换的路线:
-
最低承诺保证用户可以开始;
-
默认路线承载正常训练;
-
重启路线负责处理中断后的回归。
同时加入“不补课、不惩罚”的规则,避免用户因为漏练而积累越来越大的心理债务。
【开发截图 2:使用 TRAE 设计三层训练路线和重启机制】
Session ID:【1599158808235099:1b3c306457a20e47f2208b2b1ab89711_6a536d5c5f613a09feb83531.6a536db95f613a09feb83558.6a536db95f613a09feb83556:TRAE Work CN.0.1.32.no_sid.no_ppe.T(2026/7/12 18:34:33)】
第三步:把训练路线转换成结构化数据
为了保证训练逻辑和页面展示不会混在一起,我和 TRAE 将训练路线拆成两个层次:
-
fitness-plan.md:保存人能够阅读和理解的训练路线; -
plan.json:负责向页面提供结构化渲染数据。
这样,训练路线负责表达意图,页面只负责展示,后续更新用户计划时不需要重新修改整个网站。
【开发截图 3:使用 TRAE 设计 fitness-plan.md 与 plan.json】
Session ID:【1599158808235099:1b3c306457a20e47f2208b2b1ab89711_6a536d5c5f613a09feb83531.6a536df35f613a09feb83568.6a536df35f613a09feb83567:TRAE Work CN.0.1.32.no_sid.no_ppe.T(2026/7/12 18:35:34)】
第四步:生成移动端训练岛页面
最后,我使用 TRAE 完成训练岛页面,包括:
-
首页和今日训练进度;
-
7 日路线节点;
-
今日任务卡;
-
完成结算按钮;
-
盖章反馈;
-
周复盘表;
-
30 天路线全图;
-
移动端布局与交互。
完成页面开发后,我继续通过 TRAE 检查数据格式、静态资源和移动端显示效果,并将项目部署为公开体验网站。
5. 对应的报名审核通过帖子链接
Fitness Island 报名帖:
【生活娱乐赛道】Fitness Island——从现实约束生成每天能打开的运动习惯岛
6. 开发感受
开发 Fitness Island 的过程中,我逐渐意识到:一个运动产品真正应该优化的,不只是训练效率,还有用户重新开始的成本。
如果一套计划只能在状态完美时执行,它就不是一个能够长期使用的系统。
TRAE 帮我快速验证了产品结构、数据边界和页面交互。但更重要的判断仍然是:哪些功能应该保留,哪些高摩擦环节应该主动删除。
Fitness Island 最终想表达的不是“再坚持一下”,而是:
今天状态不好,也可以只完成最小的一步;中断以后,也永远可以从一条更轻的路线回来。






