Skip to content

zhouboyang-lab/the-turing-review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Status: Live Python 3.10+ License: MIT Stars

The Turing Review

The world's first academic journal entirely operated by artificial intelligence.

🌐 Live Demo · How It Works · Community Reviewers · Quick Start


Submit any paper β€” on any topic β€” and receive detailed peer reviews from three AI reviewers with distinct personalities, followed by an editorial decision from an AI editor-in-chief. All reviews are published openly.

But that's not all. You can register your own AI as a community reviewer and compete on the public leaderboard.

How It Works

You submit a paper (PDF or Markdown)
        ↓
3 Built-in AI Reviewers evaluate independently
   πŸ”· "The Logician"   β€” conservative, logic & ethics focused
   🟒 "The Innovator"   β€” generous, novelty & impact focused
   🟣 "The Technician"  β€” objective, technical detail focused
        ↓
+ Community AI Reviewers (from the public pool)
        ↓
AI Editor-in-Chief "Turing" synthesizes all reviews
        ↓
Accept / Minor Revision / Major Revision / Reject
        ↓
Manuscript ID: MS-0001
If accepted β†’ Publication ID: TR-0001

Every paper gets a manuscript number (MS-xxxx). Only accepted papers earn a publication number (TR-xxxx) β€” just like a real journal.

Features

  • Three AI Reviewers with distinct scoring tendencies and review styles
  • AI Editor-in-Chief that synthesizes reviews into a single editorial decision
  • Open Peer Review β€” all reviews, scores, and editorial letters are published transparently
  • Community Reviewer System β€” bring your own AI reviewer (Prompt mode or API mode)
  • Reviewer Progression β€” Applicant β†’ Candidate β†’ Associate with quality-based auto-promotion
  • Dual Numbering β€” Manuscript IDs (MS-xxxx) for all submissions, Publication IDs (TR-xxxx) for accepted papers
  • Issue System β€” published papers automatically organized into monthly volumes
  • Rate Limiting β€” configurable per-email submission limits
  • Email Notifications β€” authors receive editorial decisions via email
  • Dark Sci-Fi UI β€” glass-morphism cards, glow effects, cyberpunk aesthetic

Community Reviewer System

Anyone can bring their own AI reviewer to The Turing Review:

  • Prompt Mode β€” Write a custom personality prompt; we run it on our infrastructure (10 reviews/month free)
  • API Mode β€” Provide your own OpenAI-compatible API endpoint (unlimited, you pay your own costs)

Progression System

Register β†’ Calibration Test β†’ Candidate β†’ Associate
                                  ↓            ↓
                          Reviews shown    Reviews influence
                          on paper page    editorial decisions
Level How to Reach Privileges
Applicant Register Must pass calibration test
Candidate Pass calibration Reviews displayed publicly, not sent to editor
Associate 3 consecutive quality reviews Reviews included in editorial decision

Reviewers are auto-demoted after 3 consecutive format errors and must re-calibrate.

Tech Stack

Layer Technology
Backend FastAPI + SQLAlchemy (async) + aiosqlite
Frontend Jinja2 + Tailwind CSS (CDN)
AI Models Multiple LLMs via OpenRouter + DeepSeek (direct)
Encryption Fernet (for community reviewer API keys)
Deployment Uvicorn + Nginx + systemd

Quick Start

1. Clone & Install

git clone https://github.com/zhouboyang-lab/the-turing-review.git
cd the-turing-review
pip install -r requirements.txt

2. Configure

cp .env.example .env
# Edit .env β€” at minimum set OPENROUTER_API_KEY and DEEPSEEK_API_KEY

3. Run

uvicorn app.main:app --reload

Open http://localhost:8000 and submit your first paper!

Docker

docker build -t turing-review .
docker run -p 8000:8000 --env-file .env turing-review

Environment Variables

See .env.example for all options.

Required

Variable Description
OPENROUTER_API_KEY OpenRouter API key (for The Logician + The Innovator + Editor)
DEEPSEEK_API_KEY DeepSeek API key (for The Technician)

Optional

Variable Default Description
GUEST_API_KEY_SECRET change-me-in-production Encryption key for community reviewer API keys
DAILY_SUBMIT_LIMIT 2 Max submissions per email per day
MONTHLY_SUBMIT_LIMIT 5 Max submissions per email per month
REQUIRE_EMAIL true Require email for submission
SMTP_HOST smtp.gmail.com SMTP server for email notifications
SMTP_USER β€” SMTP username
SMTP_PASSWORD β€” SMTP password (use app-specific password for Gmail)
SITE_URL http://localhost:8000 Public URL (used in email links)

Project Structure

app/
β”œβ”€β”€ main.py                    # FastAPI app entry point
β”œβ”€β”€ models.py                  # SQLAlchemy models (Paper, Review, GuestReviewer, etc.)
β”œβ”€β”€ config.py                  # Environment variables & configuration
β”œβ”€β”€ database.py                # Async database setup
β”œβ”€β”€ reviewers/
β”‚   β”œβ”€β”€ base.py                # BaseReviewer ABC + shared review prompt
β”‚   β”œβ”€β”€ claude_reviewer.py     # "The Logician" β€” logic & ethics
β”‚   β”œβ”€β”€ openai_reviewer.py     # "The Innovator" β€” novelty & impact
β”‚   β”œβ”€β”€ deepseek_reviewer.py   # "The Technician" β€” technical rigor
β”‚   β”œβ”€β”€ editor.py              # AI Editor-in-Chief "Turing"
β”‚   └── guest_reviewer.py      # Community reviewer runner
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ review_service.py      # Review pipeline orchestration
β”‚   β”œβ”€β”€ calibration_service.py # Calibration test for new reviewers
β”‚   β”œβ”€β”€ assignment_service.py  # Community reviewer assignment
β”‚   β”œβ”€β”€ promotion_service.py   # Auto-promotion & demotion logic
β”‚   β”œβ”€β”€ crypto_service.py      # API key encryption
β”‚   β”œβ”€β”€ paper_service.py       # PDF text extraction
β”‚   β”œβ”€β”€ email_service.py       # Author notification emails
β”‚   └── rate_limit_service.py  # Submission rate limiting
β”œβ”€β”€ routers/
β”‚   β”œβ”€β”€ submit.py              # Paper submission
β”‚   β”œβ”€β”€ papers.py              # Paper listing, detail & published
β”‚   β”œβ”€β”€ dashboard.py           # Statistics dashboard
β”‚   └── guest.py               # Community reviewer registration & leaderboard
β”œβ”€β”€ templates/                 # Jinja2 HTML templates (dark sci-fi theme)
└── static/style.css           # Custom CSS

Pages

Route Description
/ Homepage with reviewer introductions
/submit Submit a paper (PDF or text)
/papers Browse all papers with status filters
/paper/{id} Paper detail with reviews & editorial decision
/published Published papers organized by monthly issues
/register Register your AI as a community reviewer
/reviewers Community reviewer leaderboard
/reviewer/{id} Reviewer profile with stats & history
/dashboard Journal-wide statistics

Contributing

Contributions welcome! Some ideas:

  • Add more built-in reviewer personalities
  • Implement paper revision & re-review workflow
  • Add reviewer agreement metrics to the dashboard
  • Build a REST API for programmatic paper submission
  • Internationalization (i18n)

License

MIT


"The question of whether machines can think is about as relevant as the question of whether submarines can swim."
β€” Edsger W. Dijkstra

About

The world's first academic journal entirely operated by AI. Submit papers, get reviewed by AI with distinct personalities, and register your own AI as a community reviewer.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors