内容提要
作者回顾14年自学编程历程,为记录孩子成长开发BabyLog:从照书敲PHP起步,历经ThinkPHP、SpringBoot、Flask、前后端分离,再到借助AI用Next.js重构;3.1版强化移动端与智能体录入。他认为技术不断更替,真正留存的是孩子的成长数据,开源与AI让想法更易实现。
延伸解读
技术栈更替背后的学习路径
作者14年间从PHP、ThinkPHP、SpringBoot、Flask、FastAPI到Next.js,每次重构都对应当时的学习重点。技术选择并非最优解,而是学习过程的见证。对读者而言,这提示个人项目不必追求一步到位,用项目驱动学习,让技术栈随认知升级而迭代,反而能积累完整链路经验。
AI编程改变的是门槛,不是判断力
2025年作者借助Trae用AI生成大部分代码,自己转向产品经理和测试员角色;2026年又加入智能体录入。但作者强调,需求拆解、取舍和验收仍由人完成。这说明AI降低了实现成本,却放大了“知道自己要什么”和“判断结果对不对”的重要性,自学积累的判断力并未过时。
数据自主与开源的双重价值
BabyLog不依赖社交平台,数据存在自己的数据库里,避免平台关停导致记录消失。项目开源在GitHub和Gitee,作者希望其他父母能拿去改成自己需要的版本。这提醒读者,长期记录类工具应优先考虑数据可迁移和自主可控,开源则让个人项目获得超出自身的意义。
移动端优先与智能体录入的实用转向
3.1版以移动端为主打造前端,支持手机和平板操作,并添加智能体skill,可直接对话让智能体添加宝贝数据。从“打开电脑、登录后台、填表单”到“随口说一句”,记录门槛进一步降低。对家庭记录场景而言,降低操作摩擦比堆叠功能更能提升持续使用的可能性。
Q&A
BabyLog 是什么?主要能记录哪些内容?
BabyLog 是一个家庭成长记录本,用于记录孩子或宠物的成长过程。支持记录文字、图片、视频、身高体重,并提供“那年今天”、关键字搜索、图表展示等功能。3.1 版本支持多个宝贝、多位家长亲属共同记录。
作者当初为什么要开发 BabyLog?
2012 年老婆怀孕时,作者正在自学编程,发现亲戚朋友聊起孩子成长细节时,人的记忆会随时间模糊,越久远越容易忘记具体时间。他希望能有一个地方存下孩子每天的变化,哪怕只是几行字、几张照片,十年后翻出来会不一样。
BabyLog 从第一版到 3.1 版经历了哪些主要技术栈变化?
第一版照书敲 PHP 写 SQL 取 MySQL 数据并动态渲染 HTML;2015 年用 ThinkPHP 引入分层;2017 年用 SpringBoot + MySQL + MyBatis + Thymeleaf + Amaze UI + ECharts 并开源到 oschina;2021 年用 Flask + Bootstrap + SQLite;2023 年用 FastAPI + Vue3 + Ant Design 做前后端分离;2025 年借助 Trae 用 Next.js + TailwindCSS + shadcnUI + Express + Sequelize 重构;2026 年 3.1 版前端改用 HeroUI,以移动端为主并加入智能体操作 skill。
3.1 版本相比之前有哪些重点升级?
3.1 版本前端采用更现代的 HeroUI,交互更丝滑人性化;全力支持移动端,并以移动端为主打造前端,方便手机和平板操作;还添加了智能体操作的 skill,可以直接和 openclaw 或 hermes 对话,让智能体帮忙添加宝贝数据。
作者用 AI 重构 BabyLog 的体验如何?AI 编程能替代人的判断吗?
2025 年作者在 Trae 帮助下用 Next.js 等不熟悉的组合完成重构,代码基本由 AI 编写,作者更多做“产品经理”和“测试员”:描述页面、数据流转、排查报错。他认为 AI 让想法变成可用东西变得前所未有地容易,几小时完成过去几个月的工作,但前提仍然是你知道自己想要什么、能判断做出来的东西对不对;14 年自学经历让他能看出 AI 方案哪里不对劲。
作者对开源和这个项目最终留存下来的东西是怎么看的?
作者认为开源是一件很浪漫的事:一个为自己家写的小程序放到 GitHub 和 Gitee 上,也许会被另一个想记录孩子成长的父母看到并改成自己需要的样子。他觉得技术名词不断更替,真正留下来的不是技术,而是数据——孩子的身高体重、第一次翻身、第一次叫爸爸妈妈、第一次背书包,以及随手拍下的照片和视频。代码会过时,技术会迭代,但被认真保存下来的日子不会。