Inspiration

我们注意到,无论是学生还是终身学习者,在面对抽象的数理概念(如线性代数、微积分)或复杂的系统逻辑时,常常因为缺乏直观的交互而感到挫败。灵感来源于我们自身的学习经历:当看到一幅动态的数学图形或一个可操作的模型时,理解会变得深刻而持久。因此,我们决定构建 ykiku ——一个将“抽象”转化为“可触摸体验”的平台。

What it does

ykiku 是一个Web端交互式学习环境,核心功能包括:

动态可视化:将数学公式(支持 LaTeX 渲染)和逻辑流程实时映射为可交互的2D/3D图形。

智能练习:根据用户的表现动态调整题目难度,并提供分步提示。

协作白板:支持多人实时协作,用户可以在共享空间中绘制、标注和讨论。

知识路径:为不同学科(如物理、计算机科学)生成个性化的学习路线图。

How we built it

前端:使用 React + TypeScript 构建响应式界面,Three.js 实现3D渲染,MathJax 处理 LaTeX 公式。

后端:基于 Node.js + Express 搭建 RESTful API,WebSocket 用于实时协作。

数据库:PostgreSQL 存储用户数据和内容图谱,Redis 管理会话和缓存。

部署:Docker 容器化,Nginx 反向代理,托管于 AWS EC2。

关键库:Redux Toolkit 管理状态,Socket.io 处理双向通信,Jest 进行单元测试。

Challenges we ran into

实时协作的一致性:多用户同时编辑白板时,操作冲突频繁。我们通过实现基于 CRDT(无冲突复制数据类型)的算法解决了这一问题。

性能优化:在低端设备上渲染复杂3D图形时帧率下降。我们采用了 LOD(细节层次)技术和 Web Worker 进行异步计算。

LaTeX 渲染延迟:公式过多时页面卡顿。通过缓存渲染结果和懒加载策略显著提升了响应速度。

Accomplishments that we're proud of

成功将白板操作的延迟控制在 200ms 以内,实现了流畅的远程协作体验。

开发了一套 自适应题目生成引擎,在内部测试中使学习效率提升了约 35%。

项目在 Devpost 社区获得了 “最具教育潜力奖”提名。

我们的开源组件库被多个周边项目引用。

What we learned

分布式系统的复杂性远超预期,尤其是状态同步和错误恢复机制。

用户界面设计的“直观性”需要大量用户测试来验证,我们迭代了5版原型才确定最终交互。

团队协作中,清晰的 API 文档和频繁的集成比任何工具都重要。

数学公式的语义化解析(而非纯渲染)能为后续智能推荐打下基础。

What's next for ykiku

AI 辅导功能:集成大语言模型,提供自然语言的问答和解释。

移动端适配:开发 React Native 应用,让学习随时随地。

内容生态:开放 UGC 创作工具,允许教师和专家上传自己的课程模块。

数据洞察:为用户生成学习行为分析报告,帮助其了解自身优势与短板。

Share this project:

Updates

Submission history