CritiPlan is a graduation-project platform that turns software requirements into project-management artifacts using a hybrid AI pipeline. It accepts a raw project brief or a structured requirements template, extracts requirements, generates tasks, estimates effort, builds dependencies, highlights risks, and presents the results in a dashboard for students and supervisors.
The project is designed to be local-first. When Ollama is available, the planner can use a local Qwen model. When it is not available, the system can still run through deterministic fallback logic, which makes the project easier to demo, test, and evaluate offline.
- Parse free-text briefs and structured requirement templates
- Generate validated task lists with FR/NFR traceability
- Estimate effort using rule-based logic plus knowledge-base context
- Build a dependency graph for execution order and planning
- Produce planning outputs such as summaries, risk reports, and review artifacts
- Provide a React dashboard for analytics, review, monitoring, and communication
- Expose the workflow through a FastAPI backend
- Dashboard with planning overview and progress snapshots
- Plan view, Gantt timeline, dependency graph, and risk indicators
- Student and supervisor workspaces
- Committee brief and supervisor review flow
- Knowledge-base statistics and evaluation reports
- Repository monitoring and AI explanation endpoints
- Backend: Python, FastAPI, Uvicorn, Pydantic
- Frontend: React, TypeScript, Vite, Zustand, Recharts
- AI layer: Ollama with local Qwen model
- Retrieval and storage: ChromaDB
- Graph analysis: NetworkX
- Optional dashboard: Streamlit
The system follows a multi-stage planning pipeline:
- Input brief or template
- Requirement parsing and normalization
- Planning agent with optional Ollama/Qwen support
- Validation and critique layer
- Effort estimation and dependency graph construction
- Risk analysis, summaries, exports, and evaluation
For more technical details, see docs/architecture.md.
src/
agents/ Planner, critic, monitor, risk analysis
api/ FastAPI app and routers
core/ Shared schemas and runtime helpers
graph/ Dependency graph logic
kb/ Knowledge base and seeding
llm/ Ollama client
parsers/ Brief and template parsers
pipelines/ End-to-end planning and evaluation workflows
services/ Estimation, sprint planning, brief generation
ui/ Streamlit UI
frontend/ React dashboard
data/ Sample briefs, processed outputs, evaluation artifacts
docs/ Architecture and supporting documentation
scripts/ Demo, verification, and helper scripts
tests/ Automated tests
pip install -r requirements.txtcd frontend
npm install
cd ..python -m src.kb.seed_cliThe repository includes models/Modelfile, but the large .gguf model files are intentionally not committed.
ollama create ai-project-manager-planner -f models/ModelfileIf Ollama is not installed or not running, the project can still work in fallback mode for demos and testing.
START_FULL.BATThis starts:
- FastAPI backend on
http://127.0.0.1:8000 - React frontend on
http://127.0.0.1:5173/login - Optional Streamlit dashboard on
http://127.0.0.1:8501
START_PRESENTATION_SAFE.BATThis uses fast demo fallback settings and is useful when you want a stable local demo without relying heavily on the LLM.
Backend:
python run_api.pyFrontend:
cd frontend
npm run devOptional Streamlit UI:
python run_ui.pyThe frontend currently includes local demo credentials:
- Student
- ID:
STU-2024 - Name:
Ahmed Khalid - Password:
student123
- ID:
- Supervisor
- Code:
SUPER-ADM - Password:
supervisor123
- Code:
If you want to generate planning artifacts without opening the full UI:
python -m src.pipelines.run_allUseful flags:
python -m src.pipelines.run_all --input data/raw/docs/project_brief_sample.txt
python -m src.pipelines.run_all --format template
python -m src.pipelines.run_all --skip-eval
python -m src.pipelines.run_all --force-fallbackAfter running the pipeline, the main outputs are:
data/processed/tasks.jsondata/processed/plan_summary.jsondata/processed/risk_report.jsondata/processed/tasks_final.jsonstorage/graph/dependency_graph.jsondata/evaluation/evaluation_report.jsondata/evaluation/evaluation_report.md
Early-stage software planning is often manual, inconsistent, and hard to justify academically. CritiPlan focuses on that gap by combining:
- requirement parsing
- AI-assisted decomposition
- rule-based validation
- effort estimation
- dependency analysis
- reproducible evaluation
The result is a system that is not only able to generate project artifacts, but also explain and evaluate how those artifacts were produced.
- The large local model files are not included in this repository.
- Some saved outputs in
data/processed/anddata/evaluation/are included as example artifacts. - The project supports both local-AI mode and fallback mode.
This repository currently does not include a license file. Add one before public reuse if needed.