Project guide

Project Guide | Beaver Study Orchestrator

Free study-orchestration template for planning learning sessions and review loops. This guide organizes the repository's original implementation notes for students and education-tool builders.

Reviewed 2026-07-28. This page is derived from checked-in repository evidence and links back to its source.

Live Demo

Product proof surface This repository leads with the working study-planning product: parser, scheduler, risk model, what-if analysis, history, and calendar export. Commercial exploration is limited to the private inquiry lane listed in the service manifest.

A study-planning tool that extracts deadlines from syllabus text, generates adaptive schedules, and provides interpretable risk scoring with what-if simulation.

System Overview

A study planner that turns syllabus data into schedules, risk signals, and what-if decisions students can act on.

AreaDetails
UsersStudents, advisors, bootcamps, education platforms, and productivity-tool evaluators.
Technical pathValidate the demo, README, architecture notes, and quality gate before deeper workflow review.
System scopeSyllabus extraction, adaptive scheduling, risk scoring, what-if simulation, FastAPI/NLP planning surface.
Operating boundaryStudy guidance is advisory; personal education data needs explicit retention and sharing controls.
Evaluation pathRun the planner tests and inspect sample schedules, risk outputs, and scenario simulations.

Evaluation Path

Architecture Notes

What it does

  1. Syllabus extraction - Parses due dates from free-form text, detects task types (assignment, exam, project, etc.), estimates effort with rule-based heuristics
  2. Schedule generation - Builds date-by-date study allocations based on weekday availability, avoids single-day cramming
  3. Risk analytics - Risk score (0.0-1.0) with top drivers (coverage gap, urgency, workload), mitigation recommendations
  4. What-if simulation - See how risk changes when you add extra study hours per day
  5. Calendar export - Exports study sessions as .ics for Google Calendar / Apple Calendar
  6. Diagnostics - Busiest day, deadline buffer, total focus days, recovery hours needed

Quickstart

make setup
make run

Open http://127.0.0.1:8000. Requires Python 3.11+; if your default python3 is older, run make BOOTSTRAP_PYTHON=/path/to/python3.11 verify.

How it works

[Browser UI]
   |  POST /api/analyze, POST /api/what-if
   v
[FastAPI app.main]
   |-- syllabus_parser.py   (text -> tasks)
   |-- scheduler.py         (tasks + availability -> daily plan)
   |-- risk_model.py        (tasks + plan -> risk + mitigation)
   +-- calendar_export.py   (plan -> .ics)

API

EndpointDescription
GET /api/healthParser status and export readiness
POST /api/analyzeAnalyze syllabus text
POST /api/what-ifSimulate schedule with different availability
GET /api/export/icsExport study plan as .ics calendar
GET /api/outcomes/boardRisk and what-if summary dashboard
GET /api/schema/analysis-reportAnalysis payload schema

Tech Stack

Tests

MetricValue
Test count40
Line coverage96%
CI threshold80%
CI matrixPython 3.11, 3.12
Lintruff (zero warnings)

Covers: date parsing (including year-boundary edges), what-if simulation, history persistence, outcome board, risk analytics, scheduler allocation, API contracts, and frontend metadata.

All request bodies are validated with Pydantic v2 (Field constraints + field_validator). Invalid payloads get 422 responses with structured error details.

make test

Design Decisions

Known Limitations

CI

GitHub Actions runs ruff lint and pytest --cov-fail-under=80 on every push/PR across Python 3.11 and 3.12.

Cloud + AI Architecture

Enterprise Productization

System Architecture

Service Architecture

Search And Service Surface