如何搭建习惯追踪应用
习惯追踪器是一份习惯清单,让你可以快速地每天打卡,并查看连续天数和历史记录,从而保持动力。它是用AI开发的最佳入门应用之一:数据量很小,规则清晰,而且你自己每天都会用到。目前最实际的做法是把它做成适合手机的网页应用,并添加到手机主屏幕,而不是应用商店里的App。本指南会如实说明这种方式对提醒功能意味着什么。
网页应用,而非应用商店App(目前)
大多数人认为习惯追踪器应该是手机App。你有三种选择:
| 方案 | 说明 | 优点 | 不足 |
|---|---|---|---|
| 适合手机的网页应用 | 为手机设计的网站 | 处处可用,一个链接即可,无需商店审核 | 除非安装,否则在浏览器中打开 |
| 渐进式网页应用(PWA) | 可以安装到主屏幕的网页应用,拥有自己的图标和全屏窗口 | 体验接近App,可支持推送和部分离线使用 | iPhone上的推送需先安装到主屏幕;部分设备功能不可用 |
| 原生App | 面向iOS和Android构建,通过应用商店分发 | 完整的设备访问能力、商店展示、小组件 | 需要商店账户和审核;搭建和更新的工作量大得多 |
对于个人或小范围受众的习惯追踪器,PWA通常是第一版的合适选择。应用商店账户也需要付费:根据各平台官网,截至2026年9月,苹果开发者计划每年99美元,Google Play开发者账户为一次性25美元。我们的原生应用与渐进式网页应用对比指南有更详细的说明,如何搭建适合移动端的网页应用则涵盖了手机优先的细节。
关于AI构建工具的说明:它们大多数构建的是网页应用。Mythex也是如此,在Pro套餐中,它可以把网页应用打包为Android和iPhone应用,发送到Google Play内部测试和TestFlight。界面仍是网页界面,因此如果你需要完全原生的UI,请使用原生应用构建工具。
习惯追踪器需要什么
核心功能
- 习惯: 名称、可选的图标或颜色,以及计划——每天、指定星期几,或每周若干次。
- 打卡: 一键标记今天已完成。再点一次可撤销。
- 今日视图: 显示今天需要完成的习惯,已完成的习惯有明显区别。这是人们最常打开的页面,必须快速响应。
- 连续天数: 每个习惯的当前连续天数和最佳连续天数。
- 历史记录: 以日历或网格显示每一天,让空缺一目了然。
以后再考虑的可选功能
- 计数型习惯(“8杯水”“20页书”),设置每日目标。
- 打卡时添加备注(“跑了5公里,感觉很吃力”)。
- 在选定时间提醒。
- 暂停习惯(假期、生病)而不中断连续天数。
- 归档已停止的习惯,而不是删除其历史记录。
数据
整个应用只需要两张表:
- 习惯:用户、名称、计划、目标、创建日期、归档标记。
- 打卡记录:习惯、日期、数值(计数型习惯)、备注。
请把打卡记录存储为用户时区的日历日期(如2026-09-29),而不仅仅是时间戳。这一个决定就能避免大部分连续天数的错误。
把连续天数算对
连续天数看似简单,实则不然。请先确定以下规则,并写进你的提示词:
- 谁的“今天”? 使用用户的本地日期。在洛杉矶晚上11:30的打卡,在UTC时间里已经是“明天”。请在用户资料中保存时区。
- 今天算不算? 如果今天还没完成,当前连续天数应继续显示昨天的记录,而不是在午夜归零。大多数追踪器只有在某个计划日完全过去之后,才会判定连续中断。
- 只计算计划日。 对于周一、周三、周五的习惯,周二不算漏做。
- 每周目标。 “每周3次”按周计算,因此其连续天数是以周为单位计算的。
- 补打卡。 用户能否补记昨天的打卡?通常可以,但有时间限制,因为人们会忘记。
可以让AI把连续天数的计算写成单独的、经过测试的函数,并给它提供示例和预期结果。这是最值得亲自手动检查的部分。
单用户还是需要账户?
如果追踪器只供你自己在一台设备上使用,可以把数据存放在浏览器自带的存储中,无需登录,也无需数据库。不足之处在于:清除浏览器或更换手机都会丢失所有数据。
如果你希望在手机和笔记本电脑上都能看到自己的习惯,或者你是为他人构建的,请添加:
- 登录:邮箱和密码,或使用第三方登录服务。参见如何为应用添加登录。
- 数据库:让数据保存在服务器上,并在多台设备间同步。
- 每位用户的数据隔离:每个人只能看到自己的习惯。通过以两个用户身份登录来测试。
习惯数据可能涉及个人隐私(健康、戒断、用药)。请默认保持私密,未经用户明确同意不要加入社交分享功能,并为用户提供导出和删除数据的途径。
关于提醒,实话实说
提醒是网页应用与原生应用最主要的区别之一。
- 网页推送在现代浏览器中可用。在iPhone和iPad上,苹果的WebKit团队表示,网页推送从iOS和iPadOS 16.4开始支持已添加到主屏幕的网页应用,因此用户必须先安装应用,然后再允许通知。
- 需要有东西来发送。 晚上8点的提醒需要服务器端的定时任务来发送推送或邮件。闲置时会休眠的托管应用不会自行唤醒,因此请询问你的构建工具如何触发定时任务。
- 邮件是简单的备选方案。 每日汇总邮件更容易实现,并且处处可用。参见如何从应用发送邮件。
一个合理的计划是:先不做提醒,先使用一周,然后再添加。
一个有效的首次提示词
构建一个以手机为优先的习惯追踪网页应用。我可以添加习惯,包括名称、颜色和计划(每天、选定的星期几,或每周N次)。主屏幕将今天需要完成的习惯显示为大的点击区域;一次点击标记完成,再点一次撤销。每个习惯显示当前和最佳连续天数,只统计计划日,并使用我的本地时区;在当天结束之前,今天的未完成不会中断连续天数。历史页面按月显示每个习惯的网格。打卡记录以本地日历日期存储。添加邮箱和密码登录,数据保存在数据库中,以便手机和笔记本电脑之间同步。使其可作为PWA安装到主屏幕,并带有图标和名称。
搭建步骤
- 基于示例数据的今日视图。 在构建其他功能之前,先在手机尺寸的屏幕上把主界面做好。
- 添加习惯和打卡。 创建三个计划不同的习惯并打卡。
- 连续天数逻辑。 给AI提供测试用例:“周一、三、五的习惯,在周一、三、五、再周一完成 → 连续4次。”逐一检查。
- 历史网格。 让空缺一目了然。
- 登录和数据库。 然后在第二台设备上打开,确认数据一致。
- 安装到主屏幕。 在iPhone上(分享 → 添加到主屏幕)和Android上(浏览器的安装选项)添加到主屏幕。检查图标、名称和全屏启动。
- 使用一周。 七天的真实使用,会比一小时的测试发现更多实际问题。
常见错误
- 用服务器时间判断“今天”。 这是最常见的连续天数错误。应使用用户的时区。
- 点击区域太小。 习惯追踪器通常是单手、半睡半醒时使用的。打卡按钮要足够大。
- 功能过多、过早。 社交动态、徽章和图表可以等基本循环跑通之后再做。
- 未安装就承诺iPhone推送。 应告诉用户先添加到主屏幕。
- 没有撤销。 每天都会有误触。
- 删除而不是归档。 人们在放弃某个习惯时,希望保留其历史记录。
何时现成的习惯应用更合适
如果你只是想追踪自己的习惯,成熟的习惯类应用已经非常完善,有小组件和原生通知,而且费用很低甚至免费。如果你需要这些应用做不到的事情——例如为特定计划服务的追踪器(辅导客户群、诊所的患者、团队挑战)、你自己的连续天数规则、与你保存的其他数据关联的习惯,或者只是希望拥有一个完全为自己量身定制的工具——那么建议自己搭建。这也是学习应用工作原理的好项目,参见可用AI构建的副业项目创意。
用Mythex搭建
Mythex会将其构建为网页应用:你在聊天中描述需求,在实时预览的手机尺寸框架中检查,并在你要求账户和同步时添加数据库。发布后获得公开链接,然后将其添加到手机主屏幕。在Pro套餐中,Mythex还可以把它打包为Android和iPhone应用,发送到Google Play内部测试和TestFlight。如需使用现成的提示词作为起点,可以打开每日习惯追踪器模板,或浏览应用模板。
常见问题
我不会编程,能搭建习惯追踪应用吗?
可以。使用AI应用构建工具,你只需描述想要的习惯、打卡和连续天数规则,它就会生成应用。大多数AI构建工具生成的是网页应用,你可以在手机浏览器中打开,并添加到主屏幕,而不是应用商店里的App。
习惯的连续天数是如何计算的?
连续天数统计的是连续完成习惯的天数(或计划日的天数),并以今天或昨天结束。难点在于如何定义“今天”——它应该以用户自己的时区为准,而不是服务器的时区。
网页应用可以发送提醒通知吗?
可以,大多数浏览器支持网页推送。在iPhone和iPad上,苹果从iOS 16.4起为已添加到主屏幕的网页应用提供网页推送,因此用户需要先以这种方式安装应用。邮件提醒是更简单的备选方案。
习惯追踪器需要数据库吗?
如果只供你自己在一台设备上使用,可以把数据存储在浏览器中。一旦你希望在多台设备上使用、与他人分享,或者在清除浏览器后不丢失数据,就需要数据库和登录功能。