大家好,我是从字节出来做独立开发的前端。这是我现在做的第二款产品:优秀 PTE 。产品地址是 https://pte.youshowedu.com 做这个项目时,我发现 PTE 备考里,刷题很容易,知道丢分点和下一小时练什么很难。口语录音听完只能凭感觉,写作缺少即时反馈,阅读和听力错题又散在不同表格里。优秀 PTE 就是从这个问题开始做的,我想把刷题、评分、记录和模考放在一个流程里。 题库覆盖口语、写作、阅读、听力四个部分,共 22 种题型。RA 、RS 、DI 、RL 、ASQ 、SGD 、RTS ,SWT 、WE ,以及阅读和听力里的填空、选择、排序、听写,都能在同一套页面里完成。页面会显示题型供分比例和个人练习记录,也能从最近没有练过的题继续。 我很在意评分能不能解释清楚。客观题即时评分,多选题按正确选项加分、错误选项扣分,RO 按正确的相邻段落计分,WFD 按单词顺序比对。结果页展开得分和选项状态,用户能看到错在哪里。 口语部分接了 Pronunciation Assessment 。RA 会拆到单词级,展示发音、完整度、流利度和韵律; DI 、RL 、SGD 、RTS 再交给 LLM 做内容相关性评估。项目里也在试跑 RA 语速诊断:把示范音频和用户录音转成单词时间轴,对齐后比较词时长和词间停顿。它作为诊断信息展示,不冒充官方分数,首批 20 道题先用来验证反馈是否有帮助。 写作评分覆盖 SWT 、WE 和 SST ,返回内容、格式、语法、词汇、拼写、结构等分项得分和具体错误。WE 还支持作文批改,给出原句、修改建议和改写示例。后端做了 JSON 解析、分数范围校验和 fallback 评分,LLM 偶尔异常时,练习流程仍能返回结果。 模考有完整模考和 30 分钟迷你模考。完整模考约 2 小时、50 多道题,提交后进入异步评分,报告保存 overall 、四项分数以及发音、流利度、词汇、拼写等维度,也支持重新评分。 工程上,我用 Next.js 16 、React 19 和 TypeScript 做前端与服务端,部署在 Cloudflare Workers ,数据放在 D1 ,登录用 Clerk ,支付接 Stripe ,AI 通过统一 LLM provider 接入。题库、练习历史、收藏题目、模考报告、会员状态都有对应的数据结构和 API 。Web 之外,也准备了 iOS 、Google Play 和 Android APK 的下载入口。 目前优秀 PTE 还在持续打磨,题库更新、评分边界、移动端体验都需要继续验证。我在做它时,把 AI 评分拆成评分来源、失败兜底和复盘路径三个部分。目前它已经能支撑日常刷题、AI 评分和模考复盘,后面继续围绕这三个场景迭代。