北漂十年,辗转多个团队,使用过众多任务管理工具,却始终没能找到一款真正顺手的产品。早在毕业两年时,我曾自己摸索着开发过一个简易任务管理器,那时虽然界面粗犷、功能简单,但增删改查样样齐全,倒也符合第一性原理。
后来经历了不少团队,每换一次环境就得重新适应一套工具——Tower、JIRA、Wiki、TAPD、飞书文档、钉钉云效,几乎都尝试了一遍。但说实话,没有哪一款能让人产生长期使用的念头。原因很集中:功能过多过杂,80%的模块对个人而言纯属冗余;网络不稳定时,云服务响应让人抓狂;真正需要的实用功能反而缺失,比如周报能否直接从任务数据自动生成,何必还要开晨会、周会、拉进度会?排期管理也存在问题,大多数工具只有一个简单的日期字段,对前端开发来说,一个任务往往需要分开发和联调两个阶段,工时是碎片化的,并非一整天扎进去就能搞定。
最近入职新公司,我又把那个老项目翻了出来。这一次想,不如就用自己做的。用了一阵觉得越来越顺手,于是动了做成产品的念头。放在以前几乎不可能,但有了AI加持,可行性就高多了。
先放一张产品效果图。想到即将到来的35岁危机,产品代号干脆就叫 age35。
以前自己用的时候,功能边用边开发,想到什么写什么,怎么实用怎么来。一旦考虑对外发布,就得重新规划整个架构。这几周忙下来发现,真正花时间的不是技术实现,反倒是想清楚“这个产品到底要解决什么问题”。下面就是围绕这个问题沉淀的几个核心理念。
产品哲学
归于一处
需求文档、技术方案、接口文档、设计稿地址、原型链接——所有和这个任务相关的文档,都记录在同一张卡片上。点开卡片,就能看到任务的完整上下文。经过合理组织后,如果直接把这些材料喂给AI做vibe coding,结果往往令人惊喜。
状态流转一目了然
去伪存真,从模型层面看,状态是任务最重要的属性,没有之一。团队协作中,leader和项目经理最关心的也正是状态。想通这一点后,围绕状态如何全链路打通,我重新设计了一番。最终确定采用全局状态流管理,其他视图的状态流可以自由组装,但不能随意制造新状态。这样一份任务数据处处同步,绝不去维护重复的任务。
最终实现的效果:个人视角有时间轴、日历;leader看到的是另一种视图;项目经理看到的又是一种样式。当我改动自己的任务时,能实时同步到leader和项目视角。这样一来,再也无需为了对进度赶地铁去开早会了。
超实用的排期组件
除了状态,任务另一个重要属性就是排期。一个好用的排期组件能让人在繁杂忙乱中有条不紊。直接看成品。
功能特色包含:区分周末(正经人谁不双休);区分节假日(排期时记得跳过);区分已被其他任务占用的时间;支持排半天甚至按小时排;支持排多段时间。这个组件做下来自己非常满意。
极致轻 · 快
本地部署不上云
这是个全栈项目,但不想去运维服务器。那就让用户本地跑起来。个人用户数据全在自己的mongodb里,团队用户数据全在内网服务器上,一个bit也跑不出去。本地起的服务零延迟,快到没朋友。
专为国内产研人员打造,拒绝臃肿
拒绝过度设计,回归任务本质。最终任务模型只保留了五个字段:标题、内容(关联PRD、设计稿、技术方案等所有上下文)、状态、排期、备注。实际体验下来,这五个字段完全够用。
优先个人而非团队
优先保证个人用户体验,从一开始就是为个人提效而生。虽然也在努力做团队化,但个人永久免费,所有功能均可使用。
扩展能力
典型场景包括一键周报——这其实是开发这个系统的最初动力;时间周期任务汇总,写绩效的时候会很有用;提测自动发送周知消息;gitlab集成一键mr。
技术方案
有了AI之后,搬砖的能力变得次要,指挥搬砖的能力变得重要。心中有了蓝图,就可以指挥AI大刀阔斧重构和实现产品逻辑。重构思路是:技术栈都升到最新;技术选型优先性能最强的;全栈TypeScript化,前后端共用数据类型;去掉冗余依赖。
前端升级
前端从webpack/vue-cli全面切换到Vite + Vue 3 + Pinia,dev和build的体验都非常快。用一个prompt让AI把8年前启动的老项目(vue-cli + vue2)重构成最新vue技术栈。同时做了monorepo改造,保证前后端独立子包,逻辑不混在一起,同时前后端类型共享,数据结构对齐。
后端重做
老的后端用的是Node + Koa + Mongoose,在2018年还算时髦。但现在Koa的中间件链加Mongoose的schema维护成本太重,对一个业余维护的项目来说,ODM抽象带来的收益已被心智负担抹平。DB层直接放弃Mongoose,用mongodb官方驱动,类型走db/types.ts,避免反复维护schema。技术栈升级到bun(启动快、内存小、bun install极快、内置WebSocket、All-in-one),koa换成hono,去掉mongoose。一个prompt搞定。不过,敲完这几个Enter之后,token额度也用完了。
去试用吧
在railway上部署了一个线上demo,但由于是免费服务器,页面打不打得开全凭缘分。或者在本地部署一个,体验一下快如闪电的任务管理。
