SmartProposal is an AI-powered application designed to automatically analyze, correct, and evaluate academic or research proposal documents in .odt format.
It assists reviewers and researchers by identifying structural, grammatical, and content-related issues, generating comments, and offering an approval decision.
SmartProposal receives a .odt file (e.g., a research proposal), analyzes its contents for:
- ✅ Grammar and spelling accuracy
- ✅ Structural and formatting compliance
- ✅ Completeness of answers to required sections
- ✅ Domain relevance and technical adequacy
- ✅ Presence of tables, figures, and layout consistency
It then produces:
- A detailed annotated report with suggestions for improvement
- Or an automated approval decision with justification
The system is modular and designed for collaborative AI development.
smartproposal/
├── app/
│ ├── api/ # FastAPI endpoints (upload, analysis, report)
│ ├── core/ # Configuration, logging, utilities
│ ├── nlp/ # AI/NLP modules (grammar, QA, scoring)
│ ├── odt_parser/ # File parser and structure extractor
│ ├── report/ # Report and comment generator
│ └── main.py # Application entry point
├── tests/ # Unit and integration tests
├── requirements.txt # Dependencies
└── README.md # This file
| Module | Description |
|---|---|
| ODT Parser | Extracts text, headings, and tables from .odt files. |
| NLP Preprocessing | Tokenization, normalization, and embedding generation. |
| Grammar & Spell Checker | Corrects and comments on grammar/spelling using AI models. |
| Completeness & QA Checker | Detects unanswered questions and incomplete sections. |
| Content Quality & Relevance | Evaluates proposal depth, clarity, and technical adequacy. |
| Formatting & Layout Checker | Ensures proper formatting, fonts, margins, and layout. |
| Report Generator | Creates annotated .odt and JSON reports with comments. |
| Backend API & Logic | FastAPI backend for processing and data handling. |
| Frontend (React) | User-friendly web interface for uploads and feedback. |
| DevOps & Documentation | CI/CD, Dockerization, deployment, and wiki maintenance. |
- Python 3.10+
- FastAPI for backend APIs
- React + TailwindCSS for frontend
- Transformers (BERT, Sentence-BERT) for NLP
- odfpy for
.odtparsing - LanguageTool for grammar correction
- Docker & GitHub Actions for deployment and CI/CD
- Python ≥ 3.10
- Docker (optional for containerized deployment)
- Git
git clone https://github.com/hghhgh/SmartProposal.git
cd smartproposal
pip install -r requirements.txtuvicorn app.main:app --reloadVisit http://localhost:8000/docs for the interactive API.
pytest --maxfail=1 --disable-warnings -qAll modules include dedicated unit and integration tests.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes
- Push to your fork
- Open a Pull Request
Each PR triggers automated CI checks (linting, tests, build).
This project follows milestone-based agile development:
| Milestone | Focus |
|---|---|
| M1 | Setup & Design |
| M2 | Data & Model Research |
| M3 | Core Development |
| M4 | Integration & Testing |
| M5 | Model Fine-Tuning |
| M6 | Deployment & Documentation |
Each module includes about 40 issues (400+ total), managed via GitHub Projects.
The React frontend allows users to:
- Upload
.odtproposals - Track analysis progress
- View grammar and content feedback
- Download annotated reports
- Dockerized services for easy deployment
- GitHub Actions CI/CD for automatic testing and build
- Environment variables managed via
.env
docker-compose up --builddocs/directory and project Wiki contain detailed API and model documentation.CONTRIBUTING.mdexplains coding standards and PR review process.
This project is collaboratively developed by M.Sc. Artificial Intelligence students, each responsible for a submodule and 20+ tasks.
MIT License © 2025 SmartProposal-AI
- Add multilingual support (Persian, English, Arabic)
- Integrate plagiarism detection
- Offer grading rubric customization
- Cloud-based collaboration platform for reviewers
SmartProposal — Empowering academic research through intelligent automation.