
简介
TickTick 我用了挺久,每年一百多块钱的订阅费。钱不算多,但我还是想试试,能不能让 AI 按照我的习惯,重新做一个只属于我自己的版本。
最后真做出来了,我给它取名叫 Dodo。
为什么要自己做
我一直用 TickTick 管任务、习惯和一些重要日子。它确实好用,多端同步也很成熟。每年一百多块钱,单看也不贵。
但订阅的软件多了以后,每一个都来一点,一年算下来也不少。而且我真正长期在用的功能,其实只占 TickTick 的一部分。
我不需要团队协作,不需要特别复杂的日历,也不需要一大堆模板和主题。我平时真正会点开的,就是今天要做什么、有哪些任务过期了、习惯有没有完成,还有一些生日和纪念日。
刚好现在 AI 写代码已经挺能打了,我就想试一下:不照着 TickTick 完整复制,只复刻我自己每天会用的那部分,能不能做成?
我做了一个 Dodo
Dodo 是一个自己部署的任务管理网页。后端用 FastAPI,前端用 Vue 3,数据放在 PostgreSQL 里,也做成了 PWA,手机浏览器直接加到桌面就能用。
目前有这些功能:
- 收集箱、文件夹和自定义清单
- 今天、最近 7 天、逾期任务
- 任务、子任务、优先级和搜索
- 截止日期,也可以单独添加具体时间
- 每天、每周、每月、每年和自定义重复任务
- 自定义每隔几天、指定星期、每月日期、结束日期和重复次数
- 任务和子任务拖动排序
- 任务完成、重新打开、回收站、恢复和永久删除
- 布尔型习惯和按数量记录的习惯
- 今日习惯、习惯打卡、进度和归档
- 倒数日、纪念日和生日
- 公历、农历、每年重复和置顶
- CSV 数据导出与恢复
- 桌面端和移动端适配
我还把以前 TickTick 里的任务、子任务、习惯、打卡记录和重复规则迁了进来。不是搭个空页面看看,而是真的拿自己的旧数据跑。
现在我每天打开的就是 Dodo,不需要再续订 TickTick 了。
Todo 软件看着简单,做起来全是细节
一开始我也觉得 Todo 软件很简单。无非是一个输入框,加一个勾选按钮,再存进数据库。
真正做下去才发现,完全不是这么回事。
比如一个重复任务。每周一重复,看起来只是一条规则。但完成这次以后,是把原任务改成下周一,还是生成一条新任务?修改时又要改本次、以后全部,还是整条规则?如果设置了重复 10 次,已经完成的次数怎么算?把截止日期删掉以后,重复规则还要不要留?
再比如“今天”。它不是查一下日期等于今天就完了。过期但没完成的任务要放在前面,今天完成的任务要算进进度,重复任务完成以后又会推进到下一次。无具体时间的任务,也不能在页面上硬显示成 00:00 或 23:59。
手机上的滑动也折腾了很久。右滑完成,左滑取消,上下拖动排序,点击还要能打开详情。这几个手势挤在同一行里,很容易互相打架。抽屉、遮罩、滚动区域、底部导航,少写一个样式,页面看着正常,手指就是点不到。
还有缓存。页面每次切换都先清空再加载,会闪一下,挺烦。后来改成先显示本地已有数据,再在后台刷新。这个改动没多大,但每天用的时候舒服很多。
这些东西单独看都不难。问题是细节特别碎,而且一个功能经常会影响另一个功能。写完只是开始,后面大量时间都在真实页面上点、改、再点。
AI 到底帮了多少
这个项目大部分代码确实是 AI 写的。
我负责说清楚自己要什么,看页面哪里不顺手,决定哪些功能留下,哪些功能删掉。AI 负责读代码、写前后端、补数据库迁移、跑测试、构建,再打开真实页面检查。
它不是一句“帮我复刻 TickTick”,然后过几分钟完整项目就掉出来了。实际过程更像带着一个速度很快的开发一起干活。
我会说:这个按钮太花了,删掉。任务详情太宽,收紧一点。习惯打卡后不要整页刷新。手机侧边栏滑不动,继续查。它改完以后跑测试,我再接着用,碰到问题继续修。
中间也推翻过不少东西。月历做出来以后,我觉得容易误操作,直接整个删了。标签和一些复杂功能也砍掉了。不是 TickTick 有什么,我就必须有什么。这个软件是我自己用,按我的习惯来就行。
AI 最大的价值不是替我想出一个产品,而是把“我想要这样”到“真的能用”之间那段很长的路缩短了。
这也不是真的零成本
不用交 TickTick 的订阅费,不代表 Dodo 完全免费。
服务器本来就是我自己的,数据库、域名和部署环境也已经有了。AI 写代码同样会消耗 Token,我还花了不少时间测试和调整。如果只为了省一百多块钱,专门从零做一个系统,怎么算都不划算。
但我想要的也不只是省钱。
数据在自己手里,功能可以随时改,哪天想接 Telegram、飞书或者自己的 AI 助手,不需要等官方排期。更重要的是,这个软件会慢慢变成只适合我自己的样子。别人可能觉得少了很多功能,我反而用得更顺。
以后很多小软件会越来越难
这次做完 Dodo,我有个挺明显的感觉。
以后人人都可以用 AI 去复刻自己长期订阅的软件。当然,不是所有软件都能复刻。支付、地图、云存储、多人实时协作、专业设计工具,这些背后有大量基础设施和长期积累,没那么容易替代。
但一些功能没那么复杂的小软件,尤其是个人工具,日子可能会越来越难过。
以前我就算会写代码,也不太可能为了省一点订阅费,花几个星期从前端写到后端。现在有 AI 以后,门槛一下低了很多。我不需要做一个能卖给所有人的 TickTick,只要做一个满足我自己的版本。
这两件事难度差太多了。
商业软件要照顾成千上万种需求,要做多端同步、兼容、客服、支付和协作。我只需要照顾一个用户,就是我自己。一个按钮放哪里,一条任务怎么重复,我说了算。
未来也许会出现越来越多这种“只服务一个人”的软件。它们不一定精致,不一定功能完整,甚至没有所谓的产品路线。但它们刚好够用,而且特别贴合使用者。
对很多订阅软件来说,真正的对手可能不是另一家公司,而是用户对 AI 说的那句:照着这个,给我做一个我自己的版本。
最后
TickTick 依然是个很成熟的软件。Dodo 目前也替代不了它的全部功能,我没有提醒系统、完整日历、番茄钟、团队协作和原生客户端。
不过这些我暂时都用不到。
对我来说,能把任务、习惯和重要日子管起来,手机电脑都能打开,数据还在自己手里,已经够了。
以前是软件决定给我什么功能,我再去适应它。现在反过来了,我告诉 AI 自己怎么用,它帮我把软件做成那个样子。
欢迎关注我的博客 www.bboy.app
Have Fun
