想跟上 AI 圈,最直接的办法是读 builder 自己说什么——OpenAI、Anthropic、YC 那帮人,每天在 X 上、在播客里、在公司博客里说的东西。 信息源不缺,缺的是时间和精力把它们一篇篇读完。
我也想顺便练英文,但市面上的英语 App 用的是合成 / 录播 / 教材式英文,跟 builder 真实在说什么是两个东西。
所以我做了 BuildSpeak。
每天 5–10 分钟,读 AI builder 真实在说什么,顺便把英文练好。
https://buildspeak.ryderlab.work/
它做什么
- 每日 issue:当天 1 个播客 + 12–17 位 builder 的新动态 + 0–1 篇官方博客,按来源分组。
- 段落级双语阅读:英文为主,中文随手对照,可切"仅英文 / 仅中文 / 双语"。
- 句子级 TTS:Web Speech API 朗读,播放时高亮当前句。空格播放/暂停,← → 切句。
- 点击任意单词:浮卡显示 IPA、中文释义、上下文句子、加入生词本。
- 生词本:localStorage 存,点回原文段落。无登录、无云端。
- 历史归档:月历视图翻看每一天,每个 builder 自己的时间线也独立成页。
为什么这样做
不另立门户、不重新爬数据,直接用 follow-builders 的公开 feed。 他们做的是抓取(X / YouTube 转录 / 博客),我做的是把内容翻译 + 排版 + 加学习辅助。 分工清晰,不重复造轮子。
整个站点是静态的——没有用户后端、没有数据库、没有登录。GitHub Actions 每天 06:00 UTC 拉一遍 feed, build 阶段调 LLM 把每段英文译成中文,缓存按段落 hash 复用。第一次跑完之后,每天 LLM 成本几美分。
主要技术实现
- Monorepo:pnpm workspaces + Turborepo。
apps/web是 Next.js 16 站点,packages/pipeline是每日内容 CLI,packages/types共享类型。 - 前端:Next.js 16 App Router + React 19,纯 CSS 设计系统(无 Tailwind),客户端状态用 Zustand + localStorage。
- Pipeline 5 步:parse → translate → tokenize → enrich → emit。任意 OpenAI 兼容的 Chat Completions endpoint 都能跑。
- IPA 来自 CMU Pronouncing Dictionary(离线静态 JSON),中文释义来自 LLM 批量请求。
- 部署:GitHub Actions 跑 cron + 自动 commit;Vercel 自动部署。约 60 个静态预渲染页面。
- Analytics:PostHog 双向接入(pipeline 端 posthog-node + 浏览器 posthog-js),看哪些词被点最多、哪些 builder 内容被读最深。
一些设计决策
- 首页只展示,不互动:单词点击 / TTS 这些工具集中放在 Reader 页。首页保持安静,扫读快。
- 不游戏化:没有连胜、没有 XP、没有勋章。"今天读完了"自己知道就行。
- 完全开源 MIT:github.com/ryderme/buildspeak。如果你想自己跑一份,README 写得很全。
做这个项目的目标很简单:
把 "想看 AI 圈" 和 "想练英文" 这两件事,合并成一件不用专门挤时间的事。
欢迎提建议,欢迎告诉我你 builder 名单里少了谁——后者是 follow-builders 那边的事,但我可以帮你转达。