听城开发记(四):从 Git 仓库到手机上的城市故事
上一篇聊的是「什么时候讲故事」,这一篇聊「故事从哪儿来、怎么送到手机上」。听城本质上是个内容 App:西雅图 200 个点、芝加哥 100 个、London 50 个起步,一个月后长到 9 个城市包,温哥华、纽约、新泽西、湾区、大洛杉矶,还有上海。这几百个故事点和配套的几百张插画,生产和分发都得有一套自己的管道。
上一篇聊的是「什么时候讲故事」,这一篇聊「故事从哪儿来、怎么送到手机上」。听城本质上是个内容 App:西雅图 200 个点、芝加哥 100 个、London 50 个起步,一个月后长到 9 个城市包,温哥华、纽约、新泽西、湾区、大洛杉矶,还有上海。这几百个故事点和配套的几百张插画,生产和分发都得有一套自己的管道。
上一篇把产品定位聊清楚了:记录我和城市擦肩而过的故事。这一篇聊怎么在 iOS 上把「与城市擦肩」这件事真正做出来。这是全系列比较硬核的一篇,如果你不写代码,可以直接跳到「一个不是 bug 的 bug」那节看故事。
上一篇讲了听城怎么在一个晚上从 Obsidian 里的一行字变成 iPhone 上的 MVP。这一篇讲它出生后第 11 天经历的一次产品定位推翻重来:为什么「位置触发城市冷知识」不够,以及「记录我和城市擦肩而过的故事」这句话是怎么长出来的。
最近搞了个新的 side project:「听城 (City Whisper)」,一个位置触发的城市故事 App。你散步、通勤、开车路过某个有故事的地方,手机轻轻弹一条通知,告诉你眼前这个东西是什么来头、为什么长这样、为什么在这里。TestFlight link,欢迎试用,正式上架审核流程实在太慢了还没过审…
从 6 月 9 号晚上开工到现在一个月出头:206 个 commit,五个 TestFlight 版本,九个城市包,App Store 上架材料也备齐了。全程就我一个人,加上 Claude 和 Codex 两个 AI 同事。这个系列想把这一个月的开发过程和心路记下来,拆成几篇慢慢写。这是第一篇:缘起,和第一个晚上。
(本文整理自 2026-05-07 到 2026-05-13 之间我和 Codex 的 53 次本地会话,加上事后自己的复盘。文字部分由 Claude 协助打磨。)
我先把这一周里发生的事用一段话讲一遍。
5 月 7 号那天我刚装好 Obsidian,本来是想找个新的 Notion 替代品,记记知识、做做清单。一周以后,这个东西已经变成了某种我自己也没预想过的形态——它在替我管理饮食、衣橱、健康、财务、读书、游戏、影视,甚至连家里冰箱里有什么、上周哪天穿了什么、最近哪只信用卡的开卡奖快达标了,它都知道。每天晚上自动跑一遍整理任务,把当天产生的碎片塞回该去的位置。我把这个状态叫做"赛博影分身"——它不是另一个我,但它替我盯着一切我不想每天盯着的东西。