起因:想让孩子张嘴说,而不是低头点
我家孩子今年 6 岁。
市面上的儿童益智 App 大部分是"看题 → 点选项"。点选项很容易蒙,孩子也不怎么动脑子。我想要的是大人带孩子玩脑筋急转弯那种感觉:我念题,他想一想,张嘴说答案,说错了我给点提示,再让他猜。
所以 WitTalk 的核心就一件事:念题、听答案、判对错、给提示,全程靠语音。
- 在线体验:wittalk.pages.dev
- 作品广场:juejin.cn/vibe-work/7…
它能干什么
打开页面,选一个难度,程序自己把题目念出来,念完自动开麦,孩子直接说答案。
- 题库 500 题,五种题型各 100 道:脑筋急转弯、谜语、字谜、数学趣题、常识题。比如"一口咬掉牛尾巴,猜一个字","树上有 10 只鸟,猎人打死 1 只,还剩几只"
- 三档难度:简单 142 题、中等 151 题、困难 207 题,每档乱序出题
- 连对 3 题自动升级,语音播报"升级到中等难度,听好咯"
- 两级提示:答错第一次给个模糊提示,再错给个更直白的
- 答对随机夸一句
- 错题本:各难度答错过的题集中复习,不看提示直接答对才移出错题本
- 每题可以点 👍 / 👎,本地记录累计题数、正确率、最高连击、错题数
不支持语音识别的环境下,会自动退回打字作答,不会卡死。
做的过程中花心思的几个地方
整个项目是我用 Claude Code 一点点"聊"出来的。AI 写页面、写题库确实快,下面几个地方是真正花了心思的。
1. 语音识别会把答案听成同音字
比如孩子说"风车",识别结果可能是同音的"丰车",直接比对字面就判错了,孩子会很委屈。我的做法是双重匹配:先比字面,不中再把识别结果和答案关键词都转成拼音比一遍。拼音字典是本地的一张映射表,不依赖任何接口。这样同音字也能判对。
2. 浏览器朗读的回调不靠谱
speechSynthesis 在没有用户手势的时候可能被浏览器拦掉,onend 根本不触发,整个流程就停在那。我给它挂了 onend + onerror 双保险。
还有个更隐蔽的问题:用户点"下一题"打断朗读,被取消的那段朗读会触发它自己的结束回调,导致又自动跳了一题。最后加了一个"会话序号",每次新朗读或手动打断都 +1,旧回调序号对不上就直接作废。
3. 小程序没有 Web Speech API
H5 版用浏览器原生能力就行,小程序这边完全不行。最开始我只做了降级:用文字长度估一个朗读时长,识别直接改成打字。后来接了微信官方的「微信同声传译」插件,朗读和识别都走插件,H5 和小程序在页面层调用的是同一套 speak / listen 接口,平台差异全部收在一个适配文件里。小程序版目前还在开发中,没有上线。
4. 零构建的 H5 版
H5 版没有任何构建步骤,一个 HTML 加几个 JS 文件,直接放到静态托管上就能跑。这也是我能很快把它部署出来的原因。
- H5:原生 JS,零构建,语音用浏览器 Web Speech API,已上线
- 微信小程序:uni-app(Vue 3),语音用微信同声传译插件,开发中
⚠️ 体验小提示:H5 版的语音识别依赖浏览器。国内网络下 Chrome 的识别可能用不了,推荐用 iPhone 的 Safari 打开;实在不行也可以打字作答。
运营情况:说实话,刚起步
目前只在家里自己人一起玩过,还没对外推广,这次发到掘金是第一次公开。
变现:还没赚到钱,但想清楚了几条路
我不想把它包装成"已经月入多少",目前收入是 0。我自己评估过的方向:
- 小程序流量主广告:小程序过审上线后,访问量够了可以开流量主。儿童类产品放广告要克制,我倾向只在"一轮答完"的结算页放一个,不打断答题
- 付费题包:免费题库保持 500 题,额外出主题包,比如古诗接龙、成语、英语单词跟读。题库是纯数据,加题型的成本主要在内容整理
- 家长端学习报告:各题型正确率趋势、错题分布,按月订阅。数据结构里已经记了每题的对错次数,做报告不需要改底层
对我来说,这个作品最大的收获是验证了一件事:一个后端程序员,借助 AI,能在业余时间把一个带语音交互的小产品做出来并上线。这就是我给自己准备的 Plan B 的第一步。
欢迎来玩
- 在线体验:wittalk.pages.dev
- 有好玩的脑筋急转弯欢迎评论区投稿,我挑好的加进题库,署上你的掘金昵称
如果你家里也有小朋友,或者你也在用 AI 做自己的小产品,欢迎来评论区聊聊你踩过的坑,或者你觉得这东西怎么变现更靠谱。
#AI时代程序员的新饭碗#