惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News | PayPal Newsroom
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
C
Cisco Blogs
SecWiki News
SecWiki News
Know Your Adversary
Know Your Adversary
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
NISL@THU
NISL@THU
WordPress大学
WordPress大学
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
L
LINUX DO - 热门话题
Hacker News: Ask HN
Hacker News: Ask HN
V
V2EX
G
GRAHAM CLULEY
TaoSecurity Blog
TaoSecurity Blog
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
Latest news
Latest news
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
S
Schneier on Security
I
Intezer
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
爱范儿
爱范儿
The Register - Security
The Register - Security
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
美团技术团队
B
Blog RSS Feed

愆伏

vue feedback 指令开发 通过webpack对css压缩后所引起的重名问题 NPM 撤回已发布的版本 昆虫有趋光性吗 数组转成字符串(css 属性) 关于grid布局的一些思考 阿里云和腾讯云网站字体族对比 Vue组件抛事件和Function prop的差别 Vue 事件参数传递 Vue Data里面下划线命名无效并报错 使用sublime中的正则处理数据格式 通过nodejs创建目录与文件 macOS 下npm run dev 无法局域网访问 mac 下使用ssh访问非22端口的gitlab 世界是平的,在科学上网之后 使用sublime text3和Markdown来写博客 如果非要给一个标题,那就是2014年非工作总结 不专业呢,就别捣乱 对知乎大号怒撤事件的一点看法 拒绝SB思维 嘀嘀与快的的商业博弈 关于收藏夹功能的思考 你居然都不用微信 一个英语培训机构的外呼电话 智商是硬伤就无解了 扁鹊三兄弟 竖子不足与谋 美丽说、蘑菇街今天一定开了好几个小时的会 个人独立博客会死掉吗? iPad作画 google reader即将关闭,谁来候补? 去年 美国人又火星了 一个简单的flash射击游戏 Draw an angry bird with pure CSS 用css3画一坨屎 一只音箱——漫步者M0pro 瓢虫图标 如果能够收集到世界上所有人的梦 作为一名产品经理 wordpress换域名 程序员和站长之间资源的交换 独角仙饲育日记1 男人是得有点装备的 镇江火车站、新汽车站到香逸渔港大酒店路线 jquery的slideUp、slideDown在IE中的闪动bug 《玩赚你的网站》是本难得的好书 腾讯微博邀请,欢迎自取 福特2010最新款家用普及型车 关于小霸王是否可以玩魔兽世界的问题 君要臣死,臣不得不死 wordpress主题发布:iCake 1.0 脆弱的域名服务 舍身成仁,舍己为人 欲练神功,挥刀自宫——在没有google之后 杯具掉的手作软陶皮卡丘 凶猛的阿凡达 js+css控制字体变换 2009年下半年南艺自考设计素描(本科) 愤怒摔食图——去TMD的xxx 改裤衩 紫金山捉虫记 态度问题还是能力问题 慷慨的饭店老板 南艺自考顺利达标 2009上半年南艺艺术设计自考毕业设计 说说产品经理-前言 在线生成卡通头像 CG weaver 1~3期打包下载 育儿网招聘网页设计师 google calendar的另类用法 互联网产品、运营二三事 小情调 干切牛肉雪菜面加煎蛋x2 永远的龙珠 M8:我不是山寨 终于回来了 还不都为了大客户 古典音乐——冷笑话 豆瓣盈利能力堪忧? 骑马与砍杀(mount&blade)——另类的爽快 溺爱的代价 开心不开心? 超赞的视频广告——wario land shake 神奇的《孢子spore》 该相信用户的话吗? chrome——google浏览器真的来了! 浏览器:web世界之门 赤壁——三国梦 项目管理就是博弈 Pia ji 一声的快感 Memories 拿来主义 一声叹息 禅心 LBS^2转到wordpress2.5 尽我们所能帮助灾区,希望灾民平安度过难关 游高崇寺 Avant Browser的复兴 “知”的提升
一个人做产品:我终于把那个产品做出来了
tortorse · 2026-05-30 · via 愆伏

我之前写过一篇《一个人做产品:提出想法》,里面说到一个很具体的问题:我买书买重了。

那时候我的想法很朴素,我想做一个个人图书管理应用。不是为了证明自己有多会做产品,也不是为了追什么新概念,就是我真的遇到了这个麻烦:我不知道家里到底有多少书,不知道哪本书放在哪里,也不知道某本书是不是早就买过。

现在回头看,那篇文章像是一个开头,但后面很久都没有真的把东西做出来。

原因也不复杂。我虽然会一些前端,也做过产品和设计,但要从零做一个真正能用的应用,事情还是比写几页界面麻烦得多。要有数据,要有本地存储,要考虑导入导出,要处理搜索,要处理书架位置,还要考虑发布之后别人能不能用。

如果放在当时,我大概会花很长时间去补后端、数据库、部署这些知识。不是学不会,而是一个人做的时候,每多一个坑,都会让进度慢下来。慢到最后,这件事就很容易变成“我有一个想法”,然后一直停在想法那里。

所以后来我选择了一种更简单的形态。

我当时想的是,先做一个偏 Local First 的东西,也就是本地优先。数据先存在浏览器本地,不急着做账号、服务器和云同步。这个选择对我来说比较省事,因为它把复杂度往后推了。

但现在想想,这个选择未必就一定对。

对用户来说,最先想解决的问题可能不是“数据是不是本地优先”,而是“我怎么最快知道这本书在不在我家里”“它放在哪个格子里”“我会不会又买重”。用户关心的是自己的麻烦有没有被解决,不关心我实现起来是不是比较轻松。

这也是一个人做产品时很容易犯的错:我会下意识选择自己比较容易做的路,然后把它解释成用户也需要。听起来合理,但其实里面有一点自欺欺人。

好在这次,我终于把它做出来了。

现在这个应用已经发布在 shelf.tortorse.com,名字叫「我的书橱」。

它不是什么大产品,也没有多少人用。按之前看到的数据,访问量很少,少到基本可以当成我自己的小工具。但这件事对我来说仍然很重要,因为它从“我想做一个东西”,变成了“我真的做出了一个可以打开、可以录入、可以使用的东西”。

这中间最大的变化,是我开始用 AI 帮我写代码、查问题、补测试、改部署。

如果没有 AI,我应该也能做,但会慢很多。很多过去要靠我一点一点查文档、试错、改代码的事情,现在可以让 AI 先给出方案,我再判断对不对。尤其是一些我没那么熟的部分,比如 Nuxt 的细节、浏览器本地数据库、Cloudflare Pages 的配置,AI 确实省了很多时间。

但这件事也让我更确认另一点:AI 不是你随便丢一句话过去,它就能把应用做好。

如果我不说清楚这个应用到底要解决什么问题,它会自己编一个看起来挺完整的方向。如果我不说清楚代码应该怎么组织,它会写出一堆当下能跑、以后不好改的东西。如果我不告诉它哪些地方不能乱动,它很可能把原来已经能用的代码改坏。

所以我后来越来越不把这件事看成“让 AI 写代码”,而是看成“我带着 AI 一起做一个项目”。

我得先想清楚我要什么。
我得告诉它这个应用是给谁用的。
我得说明哪些地方必须简单,哪些地方可以以后再补。
我还得在它写完之后检查结果,发现不对就拉回来重改。

这和我之前写的那篇 AI 文章里说的东西是一回事。真正重要的不是提示词写得多漂亮,而是我有没有判断标准。没有判断标准,AI 写得越快,我越容易被它带偏。

「我的书橱」这个项目很小,但它对我来说算是一个分界点。

它是我把以前自己写的代码、自己做产品的想法,以及现在 AI 帮我写代码这几件事真正放到一起的第一个项目。它没有完美,但它能用了。

我现在也越来越相信,发布比完美重要。

完美这件事很容易让人拖着不动。总觉得还差一点,还能再改一点,还可以再想清楚一点。可一个应用如果一直不发布,它就永远只是我电脑里的一个文件夹。

发布之后就不一样了。哪怕没人用,它也在那里。哪怕只有我自己用,它也能帮我解决一个真实问题。更重要的是,它会逼着我看到那些真正的问题:哪里不好用,哪里太复杂,哪里其实没人关心。

这比在脑子里反复想有用得多。

所以这篇文章也算是给 2021 年那篇《一个人做产品》补一个后续:我当时说要做一个个人图书管理产品,现在它终于有了一个能打开的版本。

不宏大,也不厉害。

但它是真的。