Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Essay Review Assistant

An undergraduate-friendly AI engineering project for reviewing application essays with rubric scoring, lightweight retrieval grounding, and evaluation.

The project is intentionally scoped for a strong third-year computer science student. It demonstrates the core ideas behind an LLM/RAG product without requiring a complicated research model or paid API key on day one.

What It Does

  • Accepts an essay, prompt, target program, and optional word limit.
  • Retrieves relevant writing guidelines from a local knowledge base.
  • Scores the essay across clarity, structure, prompt relevance, specificity, tone, and grammar/style.
  • Returns structured JSON feedback with main issues, priority actions, paragraph notes, and rewrite guidance.
  • Includes a small evaluation set to measure whether the system identifies the expected weakest dimension.

Why This Is Resume Friendly

This is not just a prompt demo. It has:

  • A retrieval module.
  • A scoring rubric.
  • Structured output.
  • Error-style feedback.
  • Evaluation examples.
  • A simple UI and API path.

Project Structure

ai-essay-review-assistant/
|-- app/
|   |-- main.py
|   |-- models.py
|   |-- retrieval.py
|   |-- review_pipeline.py
|   `-- rubric.py
|-- data/
|   |-- knowledge_base/
|   |-- sample_essays/
|   `-- evaluation_set.csv
|-- frontend/
|   `-- streamlit_app.py
|-- scripts/
|   |-- evaluate.py
|   `-- run_review.py
|-- tests/
|   `-- test_pipeline.py
`-- requirements.txt

Quick Start

Create an environment and install dependencies:

pip install -r requirements.txt

Run the command-line demo:

python scripts/run_review.py \
  --essay-file data/sample_essays/sample_weaker.txt \
  --prompt "Describe your motivation for studying computer science." \
  --target "Computer Science" \
  --word-limit 300

Run the evaluation:

python scripts/evaluate.py

Current sample evaluation result:

  • 6 labeled examples.
  • 83.33% weakest-dimension match accuracy.
  • Known miss: a crowded single paragraph can be interpreted as either clarity or structure.

Run the Streamlit demo:

streamlit run frontend/streamlit_app.py

Run the API:

uvicorn app.main:app --reload

Then send a POST request to /review.

Suggested Resume Bullets

  • Built an AI essay review assistant using Python, FastAPI, and a lightweight retrieval pipeline to provide rubric-based feedback for application essays.
  • Implemented local RAG-style retrieval over writing guidelines and evaluation rubrics to ground feedback and reduce generic suggestions.
  • Designed structured scoring across clarity, relevance, structure, specificity, tone, and grammar/style, returning machine-readable JSON feedback.
  • Evaluated the review pipeline on labeled sample essays by comparing predicted weakest dimensions against expected rubric weaknesses.

Next Improvements

Good next steps that stay realistic for an undergraduate project:

  1. Replace the local retriever with FAISS or Chroma.
  2. Add OpenAI, Gemini, or local LLM generation for richer feedback.
  3. Expand the evaluation set to 50 examples.
  4. Add a before/after human preference test.
  5. Save review history with SQLite.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages