How kobloid/crunchai works
CrunchAI turns a student's situation and available time into a prioritized, deadline-aware study plan, then guides focus blocks, replanning, recall checks, and progress tracking. The browser study room is the main workflow; FastAPI routes orchestrate validated planner calls and SQLite persistence. Accounts can claim guest plans and topics, while optional topic notes ground study chat and quizzes. The README documents these capabilities; unsampled route and frontend details are represented only where explicit documentation supports them.
Main entry points: main.py API routes · app.js Study room · planner.py Plan and replan · db.py Application records
Components 13
Student experience
- Landing page
app/static/index.html - Study room
app/static/js/app.js - Account page
app/static/js/account.js - Guest and auth client
app/static/js/auth.js - Progress page
app/static/js/progress.js
API orchestration
- API routes
app/main.py - Request and result schemas
app/models.py
Planning and AI
- Plan and replan
app/planner.py - Chat and recall AI
app/planner.py
Persistence
- Application records
app/db.py
Other components
- Student
- Gemini API
- Guest browser state
Connections 21
- Student → Landing page: opens
README.md - Student → Study room: describes situation
README.md - Landing page → Study room: starts planning
README.md - Study room → API routes: requests API
app/static/js/app.js - API routes → Request and result schemas: validates with
app/models.py - API routes → Plan and replan: generates or replans
app/main.py - API routes → Application records: reads and writes
app/main.py - Plan and replan → Request and result schemas: validates AI output
app/models.py - Plan and replan → Gemini API: calls
- Study room → API routes: saves block outcomes
README.md - API routes → Plan and replan: requests study answers
README.md - Plan and replan → Gemini API: generates quizzes
- Study room → API routes: requests topics and chat
README.md - Account page → Guest and auth client: submits credentials
app/static/js/account.js - Guest and auth client → API routes: authenticates
app/static/js/auth.js - Guest and auth client → Guest browser state: remembers guest work
app/static/js/auth.js - API routes → Application records: stores accounts and sessions
app/main.py - API routes → Application records: stores topics and prompts
README.md - Student → Progress page: views progress
README.md - Progress page → API routes: loads progress
app/static/js/progress.js - API routes → Application records: reads progress records
README.md