润木听听并不是从一个宏大的创业计划开始的。
它最初只是我在生活里反复遇到的一个小问题:
我想在日常生活中偶尔对孩子说几句英语,但真正到了吃饭、洗澡、穿衣或者出门的时候,经常一句自然的话都想不起来。
有时候我会临时搜索,有时候会收藏一些亲子英语内容,也尝试自己整理句子。但这些内容通常散落在不同的文章、视频、表格和聊天记录里。
真正需要的时候,我还是要重新查找。等查到以后,那个生活场景往往已经过去了。
后来我慢慢把这个问题概括成一条很短的路径:
想说 -> 找到 -> 听到 -> 说出
润木听听想做的,就是尽量缩短这条路径。
我需要的不是一套英语课程
市面上当然不缺英语学习产品。
但我慢慢意识到,我需要的东西和大多数英语学习产品不太一样。许多产品关心的是:怎样让孩子系统地学习英语,或者怎样帮助成年人提高英语水平。
而我的问题要小得多:
当我想在一个真实的生活场景里,对孩子说一句英语时,能不能马上找到一句简单、自然、不尴尬的话?
我并不准备每天花一个小时学习语法,也不想完成复杂的课程、考试和打卡。我只是希望在吃饭、洗澡、玩耍或者睡觉的时候,能够顺手说上一两句。
例如:
- 洗手的时候应该怎样说?
- 提醒孩子慢一点应该怎样说?
- 准备出门时有哪些自然的表达?
- 睡觉前可以对孩子说什么?
这个需求并不大。甚至从商业角度看,它可能也不是一个非常大众的需求。大多数家长更愿意花钱让孩子学习,而不是让自己承担一项新的学习任务。
但它确实是我自己的真实需求。
从“学习工具”变成“播放器”
一开始想到亲子英语产品,很容易自然地往“学习 App”方向走:每日打卡、学习计划、发音评分、AI 对话、课程体系、排行榜、成长报告……这些功能放在一起,看起来才像一个完整的教育产品。
但想得越多,我越觉得它偏离了最初的问题。
我的目标不是再建立一套需要家长坚持完成的学习体系,而是降低开口的阻力。如果一个家长本来就没有太多时间,再让他选择课程、完成任务、查看报告,这个工具本身反而可能成为新的负担。
所以,我最后把它定义成一个播放器。
传统播放器播放音乐,润木听听播放“亲子英语包”。一个英语包里包含若干生活场景,每个场景里是家长可以直接说出口的句子:
英语包 -> 场景 -> 句子
用户可以像选择歌单一样选择一个英语包,但界面里不会出现“课程”“课时”或者“训练”。可以先听中文提示,再听慢速和正常语速的英文;可以留出跟读时间,也可以连续、随机或者循环播放。
听到一句适合当下场景的话,就试着对孩子说出来。
它不负责判断你说得是否标准,也不要求你今天必须完成多少任务。它只解决一件小事:
缩短“我想说一句英语”和“我真正说出口”之间的距离。
这也逐渐变成了润木听听最重要的一句话:
爸妈先开口,孩子自然听见。
第一版应该做什么,也应该不做什么
确定了播放器的方向以后,功能反而更容易取舍。
第一版重点保留:
- 按生活场景整理的英语包;
- 播放整个英语包、单个场景或者单句;
- 聆听模式和跟读模式;
- 顺序、随机和循环播放;
- 中文提示、英文慢速、英文正常语速和跟读留白;
- 收藏常用句子和本地搜索;
- 播放记录和继续上次;
- 后台播放、通知栏和锁屏播放;
- 本地保存收藏、设置和播放记录。
暂时不做:
- 用户账号和云同步;
- 社交、排行榜和打卡;
- 发音评分、录音纠音和测评;
- AI 聊天老师和连续对话;
- 用户上传、公开分享和内容市场;
- 订阅、VIP、金币和充值体系。
这些功能并不是在任何情况下都没有价值,只是现阶段必须先回答一个更基本的问题:
家长会不会真的在日常生活里打开它,并且说出其中的一句话?
如果这个问题还没有得到验证,增加再多功能也没有意义。
真正做起来以后,内容比我想象中更重
最初我以为,播放器的主要难点会是技术。真正做起来以后,我发现内容本身同样复杂,而且工作量一点也不小。
一句英语语法正确,只是最基本的要求。它还需要考虑:
- 是否自然;
- 是否适合家长对孩子说;
- 是否符合具体生活场景;
- 中文提示是否容易理解;
- 句子长短是否适合听和跟读;
- 同一场景里的句子应该怎样排序;
- 哪些表达值得反复使用;
- 哪些表达虽然正确,却很少出现在真实家庭里。
如果内容只是大量堆积,用户仍然需要自己搜索和筛选。润木听听真正应该做的,是提前完成这部分选择和整理,让家长打开一个场景后,可以直接听到当下可能用得上的表达。
为了让内容可以持续维护,我没有把句子直接写死在页面里,而是建立了一条相对清楚的内容生产流程:
整理后的 CSV 内容源
-> 脚本校验英语包、场景和句子的关系
-> 生成本地 SQLite 内容库
-> 生成中文、英文正常和英文慢速音频
-> 校验音频完整性
-> 随 App 一起打包
截至 2026 年 7 月 13 日,当前内测内容已经整理为:
- 6 个官方英语包;
- 81 个生活场景;
- 1530 条亲子英语句子;
- 4590 个本地 MP3 音频文件;
- 每句话各有中文提示、英文正常和英文慢速三路音频。
这些数字看起来只是内容数量,背后却意味着分类、去重、翻译、语气、排序、音频生成和逐层校验。做完这一轮以后,我更加确定:润木听听不仅是一个播放器,也是一个经过选择和组织的亲子表达库。
为什么核心内容坚持离线
我希望这个工具在真正需要的时候尽量少制造阻力,所以当前官方英语包、数据库和音频都直接打包在 App 里。
这样做有几个很实际的好处:
- 没有网络时也能查找和播放;
- 不需要登录以后才能使用;
- 收藏、设置和播放记录可以优先留在本机;
- 播放不依赖远程接口临时返回内容;
- 技术链路更短,内测阶段更容易定位问题。
内测版另外加入了可关闭的匿名使用统计和反馈入口,用来判断用户有没有顺利找到播放入口、实际听了多久、问题集中在哪里。它不使用设备硬件 ID,也不收集姓名、手机号、定位、录音、孩子信息或搜索原文。用户关闭匿名统计后,本地待上报事件也会清理。
关于页、反馈页和公告文案可以从远程更新,但即使远程请求失败,App 也会使用内置默认文案。远程能力服务于内测反馈,不改变核心内容和播放离线可用的原则。
播放器不是“把几个音频放出来”
真正开始做播放器后,我才发现,一句内容在页面上只是一句话,在播放系统里却可能由很多短片段组成。
例如跟读模式的一句话实际是:
中文提示 -> 英文慢速 -> 留白 -> 英文正常 -> 留白 -> 下一句
聆听模式还要处理混合、慢速和正常三种英文语速。暂停、继续、重听和下一句都必须理解“句子边界”,不能把中文、英文或留白误当成独立的一首音频。
这带来了几个只有真机使用时才会暴露的问题:
- 很多短音频频繁切换时,通知栏可能闪烁;
- 留白如果只用计时器模拟,切到后台后媒体会话可能中断;
- 页面和底层播放器各自保存暂停状态,会出现按钮显示和实际声音不同步;
- 通知栏的“下一首”如果照搬音乐播放器逻辑,可能只跳到下一个短片段,而不是下一句话。
后来,播放系统改成先把整段播放步骤组成一个播放列表,再交给底层播放器连续播放。跟读留白也不再靠停止播放器等待,而是使用打包好的静音音频。播放页、底部迷你播放器和系统媒体控制尽量读取同一套播放状态,“下一句”也统一跳到下一句话的开头。
这些改动用户未必看得见,却直接决定了这个 App 到底像不像一个可靠的播放器。
从浏览器预览到真机运行
开发过程中,我也踩了不少以前没有意识到的坑。
浏览器里的界面看起来正常,不代表真机上的效果正常。手机屏幕尺寸、系统字体、数据库复制、音频资源、后台播放、通知栏和锁屏控制,都会带来新的问题。
有时候只是一个句子太长,就会破坏整个卡片布局;有时候浏览器预览很舒服,到了手机上却显得拥挤;有时候页面里的播放按钮工作正常,切到后台后音频却会中断;还有时候 Debug 版本和 Release 安装包在同一台手机上的系统媒体控制表现并不一样。
目前,润木听听已经可以在 Android 真机上运行。App 内开始播放、暂停、继续和下一句已经能够正常工作,锁屏后音频也可以继续播放,短音频导致的通知栏闪烁问题已经修复。
但内测也留下了一个很具体的兼容问题:在当前测试的华为手机上,Release APK 的通知栏可以显示媒体标题和播放模式,却没有显示播放、暂停和下一句按钮;同一台设备通过 Debug 方式安装时,按钮又可以显示。系统已经能检测到 App 发布的媒体会话和控制能力,所以问题更可能与具体系统、Release 包或媒体通知兼容有关。锁屏媒体控制组件目前也还没有正常显示。
这件事让我更加清楚:
产品不是把页面做出来,而是在真实设备、真实场景和真实使用习惯里仍然能够工作。
承认一个问题还没有解决,比在文档里把“支持锁屏控制”写成一句轻飘飘的完成项更重要。内测的价值,正是把这些边界找出来。
我不是程序员,但第一次有机会把想法做成产品
我做过土木工程、保险销售,现在从事跨境电商。
过去几年,我在工作中接触了大量表格、数据、运营流程和重复操作,也陆续使用自动化工具解决过一些实际问题。但我不是科班程序员,也没有独立开发完整 App 的经验。
以前,即使产生一个产品想法,我也很难真正把它做出来。找人开发意味着较高的成本,同时还要不断解释需求、确认细节,并承担试错风险。而像润木听听这样的小众需求,很难在一开始就证明它值得投入那么多资源。
AI 编程工具改变了这一点。
我可以先描述需求,让 AI 帮助我拆解任务、设计数据结构、生成代码、补测试、排查错误,再到真机上不断验证和修改。我仍然不具备传统程序员那样完整的技术能力,但第一次拥有了把一个想法逐渐变成真实产品的可能。
AI 降低了开发门槛,但没有替我做产品判断
真正开始开发以后,我发现,写出代码并不是唯一的困难。很多时候,更难的问题是:
- 这个功能究竟需不需要?
- 首页应该展示什么?
- 播放器应该怎样操作才自然?
- 长句应该怎样显示?
- 英语内容应该怎样分类?
- 哪些数据必须联网,哪些应该留在本地?
- 是否真的需要账号系统?
- 什么时候应该停止增加功能?
AI 可以提供很多方案,也可以很快把一个新功能加进来。但它无法替我决定:
润木听听最终应该成为一个什么样的产品。
例如,AI 很容易帮我增加聊天助手、发音评分或者复杂推荐。这些功能看起来先进,却未必能解决家长真正的问题。相反,一些看起来并不起眼的事情可能更加重要:
- 播放是否稳定;
- 锁屏以后能否继续播放;
- 收藏的句子是否容易找到;
- 英语包分类是否自然;
- 一句话是否符合真实家庭表达;
- 家长能否不经过学习就马上使用。
开发过程中,我甚至需要专门写下产品原则和功能边界,让每一次修改都回到同一个判断标准:它是否能帮助家长更快找到、听到、说出一句亲子英语?
这也是我使用 AI 编程以后很深的一点感受:AI 让实现变快,也让“克制”变得更加重要。因为增加功能越来越容易,知道什么不该做,反而成为更稀缺的能力。
内测不是证明我做完了,而是验证最小闭环
润木听听目前已经进入内测准备阶段,但“功能能运行”和“产品值得长期使用”之间还有很长的距离。
第一阶段真正要验证的并不是用户每天打开多少次,也不是能不能迅速做大,而是一个很小的闭环:
家长选择一个英语包
-> 开始播放
-> 听懂中文提示和英文表达
-> 跟着说出一句
-> 离开页面后仍能方便地暂停和继续
如果用户找不到入口,如果内容不自然,如果播放两分钟就被系统中断,或者需要理解一堆设置才能开始,那么这个闭环就没有成立。
所以,内测阶段我更关心的是:第一次打开能否顺利开始播放,哪些英语包真的有人听,用户通常在哪些地方暂停,哪些句子让人觉得别扭,以及不同手机上的后台播放是否稳定。
数据只能告诉我发生了什么,真实反馈才能帮助我理解为什么发生。两者都应该服务于下一步判断,而不是为了让产品看起来更“数据化”。
这是一个很小的产品
我不知道润木听听最终会有多少用户。
它可能只是一个很小众的播放器,也可能只适合一部分愿意在生活中主动开口的家长。但我越来越觉得,小并不一定意味着没有价值。
过去,一个需求必须足够大众,才值得投入程序员、设计师和运营人员去开发。很多具体需求因为市场太小、开发太贵,只能长期被忽略。人们只能继续使用不合适的通用软件,或者依靠 Excel、笔记、搜索和人工操作将就。
AI 正在降低这种产品的生产成本。它不会自动创造需求,也不能保证产品一定有人购买。但它至少让一个普通人有机会先从自己的真实问题出发,把一个过去“不值得开发”的小工具做出来,再交给真正需要它的人使用。
这也是我开始个人开发以后最感兴趣的一件事:
那些过去因为需求太小、太具体,或者开发成本太高而无法成立的产品,现在是否有机会被认真做出来?
接下来做什么
润木听听接下来不会急着增加很多新功能。
第一阶段仍然会优先处理:
- 播放稳定性;
- 后台、通知栏和锁屏播放;
- 内容错误和不自然表达;
- 搜索与收藏体验;
- 长句显示;
- 不同手机上的适配;
- 真实家长的使用反馈。
我也会继续记录它从一个个人需求逐渐变成真实产品的过程,包括做对的事情,也包括做错的判断。
这是我的第一个产品。
先把它做完,再做下一个。