先做一个自己每天离不开的 App

先交代一下背景。

我每天都会花 30 分钟到 2 小时听音频、看视频:跑步和通勤时听中英文播客,练力量时看 B 站长视频。说得更诚实一点,我不是跑步时顺便听播客,而是为了听播客,才开始去跑步的

但市面上大多数音视频 App 都在做「发现」和「推荐流」,这并不符合我的信息输入习惯。我更需要的是一个安静、稳定的工具:把自己主动选择的内容放在一起,随时接着上次的位置继续听,同时能够看到长期积累。

于是我开始想:要不自己做一个?

最初,我只是和 ChatGPT 讨论想法、产品定位以及该如何实现。随着方向逐渐清晰,第一版产品规划也慢慢成形。后来,我用 Cursor 开始真正写代码,并把这个产品命名为 ContextEcho

ContextEcho 是一款克制的 iOS 音视频播放工具。它不做节目发现、不做社交、不做推荐流,也不做 AI 总结,只专注于两件事:

  1. 稳稳地听;
  2. 看见自己的积累。

这里的「积累」包括连续使用天数、累计时长、节目排行和收听热力图。是的,你应该已经看出来了,我是一个数据控。

ContextEcho:跨源时间线续听、学习统计与节目排行

从第一行代码到 App Store 上架,我用了 76 天,提交了 468 个 commit,最终写下约 4.8 万行 Swift。整个过程几乎都在和 Cursor 结对完成。

这篇文章不打算介绍每一个开发细节,也不是为了「求下载」。我更想记录这三个月里真正改变了我对 AI 编程、个人产品和独立开发看法的三个观察。

观察一:AI 时代,个人开发的瓶颈不是写代码,而是敢不敢砍

AI 极大提高了代码产出速度,但它没有替我解决最难的问题:什么不应该做?

开发 ContextEcho 的过程中,我先后做过三次定位调整。最激进的一次,是删掉当时最让我兴奋的全部 AI 功能,包括 AI 注解、自动回顾和「回声库」,一次净删了近 3000 行代码。

原因说出来有些尴尬:这些功能虽然做得很费劲,我自己却根本不会打开。

我每天真正会用的,只有两个部分:打开 App 接着听,以及查看自己的收听统计。既然连开发者本人都不使用,那些看起来先进的功能就没有留下来的理由。

AI 的默认倾向往往是做加法。你让它继续完善一个功能,它通常可以给出更多方案、更多页面和更多代码,但它很少主动告诉你:「这个功能没有必要,删掉吧。」

是否砍掉一个功能,最终仍要依靠真实使用中的判断。

上架前,我已经连续使用 ContextEcho 72 天,累计收听约 158 小时。这个过程让我确认,它不是一个只存在于 PRD 和截图里的 Demo,而是已经进入了我自己的日常生活。

上架前,我已经连续使用 ContextEcho 72 天

这也是我三个月里最大的收获:

先做一个自己每天离不开的东西,再谈给别人用。

对个人开发者来说,AI 可以把「能不能做出来」的门槛降得很低,但产品取舍、真实需求和长期使用,依然只能由人来判断。

观察二:流量会围观你的里程碑,但不会替你验证需求

ContextEcho 上架前后,我在 X 上陆续发了十几条相关内容。把数据放在一起看,会发现一个非常明显的差异:

ContextEcho 相关推文阅读量对比

里程碑式内容的阅读量很高:

  • 冲上付费榜:13.4k
  • 正式上架 App Store:11.3k
  • 发布真机演示视频:5.7k

但日常使用内容的阅读量完全是另一个量级:

  • 分享「连续听了 20 天」:229
  • 装上开发者版本并邀请内测:275
  • 分享自己跑步时听的单集:147

结论很直观:大家更愿意围观一个有明显节点的故事,例如「正式上架」「冲进榜单」或者「第一次做出完整产品」;至于普通的使用记录,通常很难产生同等传播。

下面三条内容,分别对应真机演示、正式上架和冲上教育类付费榜:

ContextEcho 真机演示获得 5.7k 阅读

ContextEcho 正式上架获得 11.3k 阅读

ContextEcho 冲上教育类付费榜获得 13.4k 阅读

但传播不等于需求验证。

正式上架的推文有 1.1 万阅读,而我更早公开邀请内测时,几乎没有人报名。那时心里确实有些凉:大家在评论区觉得想法不错,真正愿意装起来用的人却很少。

真正推动我上架的,是一次 Cafe Cursor Shenzhen 线下活动。十几位朋友当面体验后给出的认可和鼓励,让我下决心购买 Apple Developer Program 账号,把产品送进 App Store。

上架后,ContextEcho 首发排在教育类付费榜第 125 名,后来最高升到第 23 名。更重要的是,内测群里开始出现真实用户,他们会直接告诉我哪里不好用、哪里有 Bug、还希望解决什么问题。

这和自己埋头使用是完全不同的状态。

X 可以帮我扩散故事,但产品究竟有没有价值,最终仍要交到用户手里才能知道。阅读量、点赞和评论可以带来信心,却不能替代留存、反馈和真实使用。

坦白说,ContextEcho 目前的下载量并不算多。但它确实帮助到了一小群和我有类似需求的人。对我的第一款 App 来说,这已经是一个很有价值的起点。

观察三:中国区 App Store 的 ICP 备案,越早准备越好

第三个观察与产品设计无关,却是独立开发者很容易忽略的现实问题:中国区 App Store 的 ICP 备案。

中国区 App Store 已开始要求 App 提供 ICP 备案信息。我第一次上架时没有准备备案,靠着政策过渡期暂时正常销售。后来,在数据表现最好的时候,我提交了 1.2.0 版本更新,结果触发备案要求,App 直接从中国区下架。

好消息是,个人开发者也可以完成 App 备案,并不要求公司主体

我后来选择通过阿里云代为提交,主要流程包括:

  1. 购买一个可备案的域名;
  2. 购买符合备案要求的轻量应用服务器;
  3. 按引导填写 App 和开发者资料;
  4. 接听备案审核电话;
  5. 收到工信部短信后,在 24 小时内完成核验。

因为我已经不再享受新用户优惠,域名和服务器一共花了 300 多元。整个流程前后大约 6 天。拿到备案号后,我将它填入 App Store Connect,十几分钟后,App 就恢复上架了。

完整的补办过程和注意事项,我另外整理在这篇文章里:我的 App 被中国区下架后:一次 App Store ICP 备案紧急补办实录及实践指引

这次教训可以浓缩成一句话:

如果准备在中国大陆上架 App,请尽早办理 ICP 备案。

老应用可能暂时处于过渡状态,但提交新版本时就可能被要求补齐备案。不要像我一样,等榜单数据刚有起色、兴冲冲发布更新时,才发现产品被下架。

写在最后

回头看这 76 天,写代码反而不是最难的部分。

Cursor 让我能够在没有完整 iOS 开发经验的情况下,把一个想法快速做成可运行、可迭代、最终能够上架的产品。但产品定位要不要调整、辛苦做出的功能该不该删除、社交平台上的热度是否代表真实需求,这些问题仍然需要自己面对。

如果要把这三个月的经历再压缩一下,我会留下三句话:

  1. 先做一个自己每天离不开的产品。
  2. 把流量当作传播,不要把它误认为需求验证。
  3. 面向中国区上架,尽早准备 ICP 备案。

这是我第一次完整经历从想法、开发、内测到 App Store 上架的全过程。产品还很小,我也仍然是一个新手 builder,但正因为亲手踩过这些坑,它们才值得被记录下来。

ContextEcho 官网(含产品截图和完整介绍):https://www.contextecho.top/