Prêt-à-Submit is a tool that allows researchers to use their own local LLMs to review their papers against conference's checklists. Each question is answered with Yes / Partial / No / NA, accompanied by an explanation — giving reviewers a structured, consistent first-pass assessment.
- 📋 Conference management — define conferences with custom evaluation question
- 🤖 LLM-powered evaluation — sends papers to any Ollama-compatible model for structured review
- 📊 Visual results — doughnut chart summarising the distribution of Yes / Partial / No / NA answers
- 🔒 Privacy-first — all processing runs locally through your own Ollama instance; no data leaves your infrastructure
- 🐳 Docker-ready — single-command deployment
| Layer | Technology |
|---|---|
| Backend | Django 5, Python 3.12 |
| LLM client | Ollama Python |
| PDF parsing | pymupdf4llm |
| Frontend | TailwindCSS v4, DaisyUI |
| Charts | Chart.js |
| Containerisation | Docker |
- Docker or Python 3.12+ with uv
- A running Ollama instance with at least one model pulled (e.g.
ollama pull llama3). For better results we recommend using a model with a large context length, around 64K tokens or more, depending on the length of the paper. To change the context length of the Ollama server check the documentation here.
You may build it locally
# Build the image
docker build -t pret-a-submit .
# Run (host network is required to reach a local Ollama instance)
docker run --network=host pret-a-submitor pull from the repository
# Run (host network is required to reach a local Ollama instance)
docker run --network=host ghcr.io/rowiz49/pret-a-submit:latestThe app will be available at http://localhost:8965.
# Install dependencies
uv sync
# Apply migrations
uv run python manage.py migrate
# Create a superuser to access the admin panel
uv run python manage.py createsuperuser
# Start the development server
uv run python manage.py tailwind dev- Go to
http://localhost:8965 - Create a Conference with a name
- Add Questions to the conference — each question has a position (order) and the question text the LLM will answer
- Navigate to the home page
- Select a conference
- Enter your Ollama server URL (e.g.
http://localhost:11434), model name (e.g.llama3), and optionally an API key - Upload a PDF paper
- Submit — the app converts the PDF to Markdown, sends it to the LLM with the conference questions, and renders the structured evaluation
PDF upload → PyMuPDF → Markdown text
↓
Ollama prompt with conference questions
↓
Structured JSON response (position, question, rating, explanation)
↓
Results page with per-question badges + summary chart
The LLM is constrained to reply in a JSON schema derived from a Pydantic model, ensuring parseable, structured output. Ratings are validated and sorted by question position before rendering.