KineTap —— 公益赛道**唯一不用打开APP就能"说话"**的言语障碍辅助工具。
5MB 包体,171 个话术完全离线,手机桌面点一下就能播放。
立即体验:
点击下载 APK(蒲公英|首选)
点击下载 APK(蓝奏云|密码:kinetap)
点击下载 APK(GitHub|备用)
最佳体验路径:打开APP → 走新手引导 → 「日常」页——[全部分类里]浏览171个模板 → 长按常用语音"添加到桌面" → 回到桌面直接点击图标播放
这是 KineTap —— 让言语障碍者一键"说出"心里话的 Android 辅助沟通工具。
在开发 KineTap 的过程中,我们思考了一个问题:技术的终点是什么? 是做精美的 Web 演示,还是做真正能被目标用户用起来的产品?
① 摘要
KineTap —— 让言语障碍者一键"说出"心里话的 Android 辅助沟通工具。
5MB 包体,19 个场景 + 8 个趣味类别,桌面快捷方式一键播放。双社区广场既服务言语障碍群体(暖声),也满足普通用户玩梗整活需求(趣味)。
从0到30000+ 行代码,1 人 1 周使用TRAE独立完成
言语障碍群体(失语症患者、ALS 渐冻症患者、中风后言语障碍者、自闭症沟通困难者、言语发育迟缓儿童)需要"一键说出心里话"的辅助沟通能力。但他们中有大量老年人和儿童,可能从未用过电脑,甚至不熟悉智能手机的复杂操作。
因此,我们选择做 Android 原生 APP —— 5MB 包体,171 个模板完全离线,不需要配置 API,不需要网络,装上就能"说话"。
同时,普通用户的"一键播放趣味音效"需求(玩梗、整活、社交互动)也被自然满足。双社区广场:
- 暖声广场:温暖治愈类语音,服务言语障碍群体
- 趣味广场:梗、二次元、日常整活类语音,服务普通用户
立项时间:2025 年 4 月 28 日(灵感源自"电子木鱼"等点击发声娱乐 APP,把"敲木鱼"变成"说出心里话")
开发里程碑:
- 4/28 晚上:研究清楚 Android 桌面快捷方式原理
- 4/29:开始尝试做快捷方式版的点击发声
- 4/30:成功做出核心算法——桌面快捷方式点击播放
- 5/1 ~ 5/6:高强度 AI 协作开发,完成全部功能闭环
核心亮点:
| 指标 | 数据 |
|---|---|
| 代码量 | 30,000+ 行 |
| 文件数 | 133+ 个文件,32 个包目录 |
| APK 大小 | 仅 5 MB(低端设备也能流畅运行) |
| 内置模板 | 171 个沟通模板,Room 数据库离线可用 |
| 技术栈 | Android 原生(Kotlin + Jetpack Compose) |
| 开发模式 | 1 人 + SOLO,独立完成全栈开发 |
② 真实场景与需求
【配图1:目标人群场景图】
展示4类目标用户(失语症老人、ALS患者、自闭症儿童、言语发育迟缓儿童),声波连线贯穿,象征 KineTap 让每个人都能"说出"心里话
核心用户:言语障碍群体
- 失语症患者:因脑损伤(中风、脑外伤、肿瘤)导致语言表达障碍,全国约 100 万患者
- ALS(渐冻症)患者:随病情发展逐渐丧失说话能力,最终只剩眼球能动
- 自闭症谱系障碍者:有表达意愿但存在沟通困难,全国约 1,000 万
- 言语发育迟缓儿童:需要辅助沟通工具进行康复训练与日常表达
扩展用户:普通用户(玩梗整活)
KineTap 的"一键播放"交互天然适合趣味场景:
- 游戏开黑时一键播放"nice!"“666”
- 社交聊天时一键发送表情包语音
- 整活玩梗(“鸡你太美”、"xx启动"等)
一个 APP,两种用法:既是言语障碍者的沟通助手,也是普通人的"电子音效盒"。
具体痛点场景
言语障碍群体在以下场景中面临无助:
| 场景 | 痛点 | KineTap 解决方案 |
|---|---|---|
| "我这里疼"说不出来,医生只能猜测 | 内置"我对这个药过敏""我不舒服"等模板 | |
| "不要辣"说不清楚,服务员反复确认 | 内置"我不吃辣""请给我一杯水"等模板 | |
| 危急时刻说不出"帮我打120" | 桌面快捷方式一键触发 | |
| 面试时无法自我介绍 | 内置"这是我的简历""我做到了"等模板 | |
| 想对家人说"我爱你"却发不出声 | 内置"爸爸我爱你""晚安"等模板 |
现有做法与不足
| 现有方案 | 问题 |
|---|---|
| 专业 AAC 设备(如 Tobii Dynavox) | 价格 2~10 万元,绝大多数家庭负担不起 |
| 低端沟通板(纸质/图片交换) | 功能简陋,无法自定义,携带不便,无语音输出 |
| 手机备忘录录音频 | 每次都要重新录,无法快速调用,紧急场景来不及 |
| 微信打字 + 朗读 | 操作步骤多,效率太低 |
| 娱乐音效 APP(如电子木鱼) | 纯娱乐,无辅助沟通功能 |
核心差距:市面上缺少一款**既免费实用(言语障碍者)、又好玩有趣(普通用户)**的一键发声工具。
③ 作品介绍
作品类型:Android 原生 APP(Kotlin + Jetpack Compose + Material 3)
KineTap 的核心理念是**“一键发声”**——把最常用的沟通语句预设好,需要时点击即可播放,将沟通延迟从"几分钟"缩短到"一秒钟"。
核心功能模块
模块一:声音发现(推荐页)—— 171 个预设沟通模板
【配图2:推荐页截图】
展示分类浏览、搜索栏、模板卡片列表,突出171个沟通模板的丰富性
覆盖 19 个慈善关怀场景 + 8 个日常趣味类别,每个模板都是真实场景中言语障碍者最需要表达的语句:
| 场景 | 示例语句 | 用途 |
|---|---|---|
| 基础礼貌 | “你好”“谢谢”“对不起”“再见” | 日常基本社交 |
| 紧急求助 | “帮我打 120”“着火了快跑”“我需要帮助” | 生命安全场景 |
| 医疗就医 | “我想去洗手间”“我需要喝水” | 就诊 & 住院 |
| 职场就业 | “我是来面试的”“我做到了” | 工作沟通 |
| 日常购物 | “我要买这个”“太贵了” | 消费场景 |
| 就餐饮食 | “我想点这个菜”“请给我一杯水” | 饮食沟通 |
| 出行交通 | “我要下车”“到站了请告诉我” | 交通场景 |
| 社交情感 | “我很开心”“我很难过” | 情绪表达 |
| 家庭生活 | “妈妈我爱你”“我想出去玩” | 家庭互动 |
| 校园学习 | “老师好”“我没听懂” | 校园沟通 |
- 按分类浏览、关键词搜索、搜索历史
- 叠加播放(不中断当前音频继续播放下一条)
- 所有模板完全离线可用(Room 数据库 + raw 内置音频资源),无网也能沟通
模块二:音效创作工作流 —— 高度自定义,每个人都能"说话"
【配图3:制作音效工作流 - 3张GIF/截图】



配图:
- 制作音效封面
- 选择音频录制流程
- 快捷方式展示
每个人的沟通需求不同——KineTap 让用户和家属可以自己创作专属语音。
音频采集(4种方式,覆盖任何场景):
- 麦克风录音:内置 AudioRecord 实时采集,支持录音中实时监听
- 机内录制(InternalAudioRecorder):捕获设备内部音频输出
- 文件导入:从文件管理器导入 mp3 / wav / m4a / ogg 格式音频
- 悬浮球录制(FloatingRecordService):在任何 APP 上方悬浮录制按钮
音频处理(完整编辑链路):
- 波形可视化:音频波形直观展示,支持触摸拖拽选区
- 裁剪:精确到毫秒级
- 分割:一段音频分割为多段独立片段
- 合并:多段音频拼接为完整音效
- 拖拽排序:长按拖拽重排音频片段
- 撤销/重做:EditHistory 完整编辑历史
- 图标定制:自定义图标 + 简单图片裁剪
保存后自动创建桌面快捷方式——下次直接从桌面点击播放,不用打开 APP。
模块三:桌面快捷方式系统 —— 真正的"一键发声",KineTap 的灵魂
【配图4:桌面快捷方式效果图】
手机桌面展示多个音效快捷方式图标,点击即可播放。这是与标题呼应的核心图,建议作为首图/封面图
这是 KineTap 与其他沟通工具最大的差异化:
- 使用 Android ShortcutManager API 将常用语句固定到手机桌面
- PENDING/CREATED 双模式状态管理 + ShortcutPinReceiver 广播同步
- 支持多段音频顺序循环播放(点击一次播放一段,再次点击播放下一段)
- PlaySoundActivity 超轻量透明 Activity 入口:点击即播、播完自动关闭
- PlaySoundService 独立前台服务:每次创建独立 MediaPlayer,支持多音效叠加
实际场景:张爷爷中风后失语,家属把他最常用的三句话——“我饿了想吃东西”“我想去洗手间”“我不舒服头晕”——录好固定到桌面。需要时不用打开任何 APP,直接在桌面点击图标就能播放真人语音。把沟通延迟从几分钟缩短到一秒。
模块四:社区语音广场 —— 互助共享
【配图5:社区广场截图】
配图:日常广场/暖声广场的列表页,展示语音模板、播放计数、下载功能
- 暖声广场(温暖/治愈/关怀类):专业沟通模板
- 趣味广场(日常/实用/趣味类):覆盖日常生活各类场景
- 基于 Supabase 后端(4 个独立项目)
- 用户可上传自定义语音模板,分享给全国其他言语障碍者使用
模块五:无障碍深度适配 —— 为弱势群体量身打造
【配图6:新手引导截图 - 多张】
配图:多阶段引导流程截图(免责声明 → 身份选择 → 6步交互式教程)
- 大字体模式:一键切换,适应低视力用户
- 触觉反馈:播放时手机震动确认
- 高对比度 UI:文字清晰可辨
- contentDescription 无障碍标签全覆盖:兼容 TalkBack 屏幕阅读
- 8 种闪屏主题:适应不同视觉偏好
- 多阶段新手引导:免责声明 → 身份选择 → 6步交互式教程
模块六:音效管理与分享码迁移
- 我的音效:网格/列表双视图、多维度排序
- 批量操作:批量选择与删除
- 分享码导出(SPK# 协议):家属配置好语音后导出分享码,发给其他设备一键导入
技术架构
【配图7:架构分层图】
配图:MVVM + Clean Architecture 5层架构图,展示UI表现层→ViewModel层→Domain领域层→Data数据层→Audio音频引擎层
| 层级 | 技术 | 说明 |
|---|---|---|
| 平台 | Android 原生 (Kotlin) | 原生无障碍性能 |
| UI | Jetpack Compose + Material 3 | 声明式 UI,流畅动画 |
| 架构 | MVVM + Clean Architecture | 5 层分离,高内聚 |
| DI | Hilt + @Named | 4 个 Supabase 数据源并行注入 |
| 本地存储 | Room (v2.7.1) + DataStore | 171 模板离线可用 |
| 后端 | Supabase × 4 项目 | 暖声社区 + 趣味社区 + 投诉反馈 + 更新推送 |
| 音频 | MediaPlayer / AudioRecord + EQManager | 录制、播放、EQ 全链路 |
| 分享 | Gson + Base64 (SPK# 协议) | 分享码导入导出 |
④ 用 SOLO 实现的过程
任务拆解
整个项目按功能模块拆解为 8 个阶段:
| 阶段 | 任务 | SOLO 能力 |
|---|---|---|
| Phase 1 | 项目架构设计 & 技术选型 | 架构规划 + MVVM/Clean Architecture |
| Phase 2 | 声音发现模块(171 模板) | Room 数据库 CRUD + 27 分类体系 |
| Phase 3 | 音效创作全链路 | 录音/编辑/裁剪/EQ/合并/TTS |
| Phase 4 | 社区广场(双库架构) | Supabase REST API CRUD + Storage |
| Phase 5 | 桌面快捷方式系统 | ShortcutManager API + 悬浮窗 |
| Phase 6 | 分享/下载/公益模块 | SPK# 分享码协议 + DownloadScreen |
| Phase 7 | 设置/引导/无障碍适配 | UI/动画/系统集成 |
| Phase 8 | 后端部署 & 更新推送 | 4 Supabase 项目 + RLS 策略 |
【配图8:Phase 1-7 开发过程截图】
配图:展示8个阶段的开发过程截图(已有7张)
关键 Prompt 记录
架构设计:
设计一个 Android 无障碍辅助沟通 APP,使用 Kotlin + Jetpack Compose + MVVM + Clean Architecture。需要包含:声音发现页(171 个预设模板,19 个慈善关怀类别)、音效创作工作流、社区广场、桌面快捷方式系统、新手引导、分享码导入导出、无障碍适配。后端使用 Supabase,需要 4 个项目。目标用户是言语障碍人士,操作必须极简,核心交互是"一键点击播放"。
桌面快捷方式(核心差异化):
实现 Android 桌面快捷方式功能,使用 ShortcutManager API 将音效固定到桌面。支持多段音频顺序循环播放。实现悬浮球录制服务用于跨应用后台录制、机内录制捕获设备内部音频输出。这是 APP 最核心的差异化功能——让用户以最少的操作步骤完成沟通。
踩过的坑
- Supabase JWT ref 不匹配 —— 从 local.properties 复制 anon key 时,JWT payload 中的 ref 与项目 URL 不一致,导致 API 返回 “Invalid API key”
- 更新推送 version_code 冲突 —— 插入的 version_code 与 APK 的 versionCode 相同,导致更新逻辑判断"已是最新版本"
- Flyme 兼容 —— 在 Flyme 12.6 上出现 Choreographer EMS 超时,通过反射处理魅族自有渲染管线
- HSBColorWheel GPU 崩溃 —— Brush.sweepGradient 使用了 37 个颜色节点,在 Adreno GPU 上触发崩溃,减少到 12 个节点解决
SOLO 协作数据(4月30日-5月6日)
【配图9:SOLO数据统计截图】
配图:展示代码采纳次数、AI对话次数、模型偏好等数据(已有2张)
| 指标 | 数据 |
|---|---|
| 代码采纳次数 | 2,277 次 |
| AI 对话次数 | 624 次 |
| 智能体配合 | 506 次 |
| 主力模型 | DeepSeek-V4-Pro(331 次) |
| 辅助模型 | kimi-k2.6(132 次) |
⑤ 成果展示
体验方式
- APK 下载:
https://www.pgyer.com/kinetap-android - 适配版本:Android 8.0 ~ Android 15(覆盖 99%+ 在用设备)
- 当前版本:v1.0.2 (versionCode=3)
- 包名:com.kinetap
与其他参赛作品的差异化
| 维度 | 大多数参赛作品 | KineTap |
|---|---|---|
| 平台 | Web 应用 / ChatBot | Android 原生 APP |
| 用户 | 普通职场用户 | 言语障碍等弱势群体 |
| 交互 | 键盘输入 → AI 生成 | 一键点击即播放 |
| 离线可用 | 需要网络 | 171 模板完全离线 |
| 场景覆盖 | 通用 | 19 个慈善场景 |
| 产品形态 | Demo / MVP | 完整闭环 APP |
| 分发方式 | 未知/网盘/GitHub | 蒲公英内测分发/蓝奏云/GitHub(备用),国内稳定使用 |
核心竞争力
【配图10:悬浮球录制截图/GIF】

配图:展示在其他APP上方的悬浮录制球效果,突出跨应用录制能力
① 技术深度 — 系统级 API 整合
- ShortcutManager 桌面快捷方式:不用打开 APP 就能播放语音
- FloatingRecordService 悬浮球跨应用录制
- SPK# 分享码协议:家属配置语音→导出分享码→一键导入
② 产品完整度 — 真实可用的完整产品
- 30,000+ 行代码,120+ 文件
- APK 仅 5MB,低端设备也能流畅运行
- 新手引导 → 发现 → 创作 → 桌面快捷方式 → 社区分享 → 分享码迁移
③ 社会价值 — 科技向善
- 解决 2~10 万元 专业 AAC 设备的价格门槛
- 171 个沟通模板覆盖 19 个慈善关怀场景
- 符合"Hello AI 科技致善"赛道的核心命题
⑥ 验证方式与下一步
已完成的验证
- 功能闭环验证:发现→创作→保存→桌面快捷方式→社区上传→下载→播放→分享码导入导出,全链路可运行
- 离线可用性验证:关闭网络后,171 个预设模板仍可正常浏览和播放
- 更新推送验证:独立 Update Supabase 库 + versionCode 校验逻辑已验证
- 无障碍验证:大字体/contentDescription/TalkBack 兼容已实现
下一步计划
- 真实用户试用:联系当地残联、康复中心和言语治疗科室
- 模板专业化:与言语治疗师合作,按失语症类型分级设计场景化沟通模板
- 多语言支持:增加英语、粤语等语种沟通模板
- iOS 版本:使用 Kotlin Multiplatform 跨平台开发
⑦ 写在最后
开发 KineTap 的这7天,我一直在想一个问题:技术的终点是什么?
是做精美的 Web 演示拿奖?还是做真正能被目标用户用起来的产品?
当我看到失语症患者家属说"终于有一个不用花2万块买设备就能用的工具"时,我有了答案。
KineTap 不完美,但它是一个开始——一个用 AI 编程工具为弱势群体发声的开始。
如果您觉得这个项目有意义,请投我一票。您的每一票,都是对"科技向善"的一次肯定。
感谢 SOLO,让一个人也能完成一个完整产品。
项目名称:KineTap —— 一键发声,让沟通无障碍
对应命题:命题一 —— 心智障碍群体就业支持(日常沟通辅助与情绪/需求/求助/职场表达支持)
开发工具:TRAE SOLO
技术栈:Kotlin 2.3.21 / Jetpack Compose 2026.04.01 / Supabase × 4 / Hilt 2.59.2 / Room 2.7.1 / Ktor 3.0.3 / MediaPlayer / DataStore 1.1.7 / Coil 2.7.0 / Gson 2.10.1





















