- Add ValidationCharts with tabbed interface for A/B trajectory data - "All Skills" tab: shows 6 skills at once, toggle Adaptive/Classic - "Single Skill" tab: interactive skill selector for individual comparison - "Convergence" tab: bar chart comparing sessions to 80% mastery - "Data Table" tab: summary with advantage calculations - Add SkillDifficultyCharts for skill difficulty model visualization - Create snapshot-based test infrastructure for trajectory data - skill-difficulty.test.ts generates A/B mastery trajectories - Snapshots capture session-by-session mastery for 6 deficient skills - Add generator scripts to convert snapshots to JSON for blog charts - generateMasteryTrajectoryData.ts → ab-mastery-trajectories.json - generateSkillDifficultyData.ts → skill-difficulty-report.json - Add skill-specific difficulty multipliers to SimulatedStudent - Basic skills: 0.8-0.9x (easier) - Five-complements: 1.2-1.3x (moderate) - Ten-complements: 1.6-2.0x (harder) - Document SimulatedStudent model in SIMULATED_STUDENT_MODEL.md Results show adaptive mode reaches 80% mastery faster for all 6 tested skills (4-0 at 50% threshold, 6-0 at 80% threshold). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Soroban Web Application
Interactive web application for learning soroban (Japanese abacus) calculation with tutorials, practice sessions, and multiplayer arcade games.
Features
- Tutorials - Step-by-step lessons for learning soroban techniques
- Practice Sessions - Adaptive practice with progressive help system
- Arcade Games - Multiplayer educational games for reinforcement
- Worksheet Generator - Create printable math worksheets
Getting Started
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Run type checks
npm run type-check
# Run all quality checks
npm run pre-commit
Documentation
Components
| Component | Description |
|---|---|
| Decomposition Display | Interactive mathematical decomposition visualization |
| Worksheet Generator | Math worksheet creation with Typst PDF generation |
Games
| Game | Description |
|---|---|
| Arcade System | Modular multiplayer game architecture |
| Know Your World | Geography quiz game |
Developer Documentation
Located in .claude/ directory:
CLAUDE.md- Project conventions and guidelinesCODE_QUALITY_REGIME.md- Quality check proceduresGAME_SETTINGS_PERSISTENCE.md- Game config architectureZ_INDEX_MANAGEMENT.md- Z-index layering systemDEPLOYMENT.md- Deployment and CI/CD
Project Structure
apps/web/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # Shared React components
│ │ ├── decomposition/ # Math decomposition display
│ │ ├── practice/ # Practice session components
│ │ └── tutorial/ # Tutorial player components
│ ├── contexts/ # React context providers
│ ├── arcade-games/ # Multiplayer game implementations
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and libraries
│ └── db/ # Database schema and queries
├── .claude/ # Developer documentation
├── public/ # Static assets
└── styled-system/ # Generated Panda CSS
Technology Stack
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Panda CSS
- Database: SQLite with Drizzle ORM
- Abacus Visualization: @soroban/abacus-react
Related Documentation
Parent: Main README - Complete project overview Abacus Component: packages/abacus-react - Abacus visualization library