Primary web application for students — interactive interface for solving math olympiad problems, tracking progress, and receiving AI guidance.
- Student dashboard (progress, XP, skill tree)
- Task solving interface (problem display, answer input, hints)
- Real-time feedback on submissions
- Learning path visualization
- Settings and profile management
- Framework: React 19, TypeScript
- Build: Vite 6
- Styling: Tailwind CSS 4, shadcn/ui
- State: Zustand
- API: REST via fetch/axios, authenticated via Ory session cookies
- Outbound: mathtrail-task (get/submit tasks), mathtrail-profile (read progress), mathtrail-identity (auth flows)
- All API calls go through Oathkeeper for token validation
- None — frontend only. All state on server side.
Standard infra/ layout. Dockerfile: Node builder → nginx alpine.
npm run dev— Vite dev server (port 3000)npm run build— production build
- Build student dashboard with XP/level display and skill tree
- Implement task solving page (problem render, answer input, feedback)
- Add real-time progress tracking with Zustand store