Inspiration

"Reviewer 2" is a universal meme in academia—the anonymous peer reviewer who is inexplicably harsh, nitpicky, and impossible to please. We've all been there: waiting months for feedback only to get rejected because "the novelty is insufficient" or "citation [3] is missing."

I wanted to turn this source of anxiety into a tool. What if you could harness that ruthless scrutiny before you submit? What if an AI could roast your paper to perfection?

What it does

Reviewer 2 is an AI-powered academic assistant that reads your research papers (PDF) and provides instant, critical feedback. It features two distinct personas:

  1. Roast Mode: Embraces the persona of a grumpy tenured professor. It ruthlessly critiques logic gaps, experimental flaws, and novelty claims. It's painful, but it makes your paper bulletproof.
  2. Mentor Mode: A kind, patient guide that uses analogies to explain complex concepts and suggests constructive improvements.

Key Features:

  • Deep Analysis: Assigns deterministic scores for Novelty, Methodology, and Clarity.
  • Visual Grounding: Users can click on specific text blocks in the PDF to ask context-aware questions.
  • Dual Persona System: Switch instantly between hostile critique and supportive mentoring.
  • Markdown & LaTeX Support: Generates mathematically formatted reports ready for copy-pasting.

How I built it

The core is built on Google's Gemini 3 Flash API.

  1. The "Thinking" Engine: I utilize Gemini's thinkingConfig to allocate a specific token budget for reasoning. This allows the model to "think" about the paper's logical structure before generating a critique, resulting in much deeper insights than standard LLM responses.
  2. Structured Output: I use responseSchema to force Gemini to output strictly typed JSON for the scoring metrics (Novelty, Methodology, Clarity), ensuring consistent grading every time.
  3. Complex PDF Parsing: Instead of just dumping raw text, I built a custom geometric analysis engine using pdfjs-dist. It calculates coordinate buckets to correctly reconstruct multi-column academic layouts (like IEEE/ACM formats) into a linear reading order.
  4. Frontend: Built with React 19, TypeScript, and Tailwind CSS. The UI features a custom split-pane layout with a dark/light mode that mimics the aesthetic of modern code editors and e-readers.

Challenges I ran into

  • First-Time Hackathon & API Limits: As a student developer participating in my very first AI hackathon, managing resources was a huge challenge. The advanced "Thinking" features in Gemini 3 are incredible but consume a lot of tokens. I hit the API rate limits (429 errors) constantly during testing. To ensure I could record a stable video demonstration for the judges without crashing, I actually engineered a dedicated "Demo Mode" that simulates the backend processing.
  • PDF Layouts & Segmentation: Parsing academic PDFs is much harder than I anticipated. While I successfully built an algorithm to handle 2-column text, I struggled to precisely distinguish between text paragraphs, images, and data tables. Currently, my system treats everything as text blocks based on geometry. I haven't yet solved the problem of isolating tables or figures as distinct, interactive elements.
  • Balancing the "Roast": It was hard to make the AI "mean" without being hallucinating or unhelpful. I tuned the system prompts to ensure that even when roasting, the AI cites specific evidence from the text.

Accomplishments that I'm proud of

  • The "Click-to-Quote" Feature: Successfully mapping the visual PDF coordinates back to the text context so users can point at a paragraph and say "Explain this."
  • The Persona Switching: It feels like talking to two completely different people, yet they share the same context.
  • Perseverance: Despite the API quota issues and the complexity of PDF parsing, I built a functional, polished interface that solves a real problem.

What I learned

  • Gemini's Reasoning Capabilities: I learned that giving the model a "thinking budget" significantly improves its ability to find subtle logical contradictions in research text compared to zero-shot prompting.
  • Frontend-Backend Synergy: Handling streaming responses while maintaining UI responsiveness required careful state management.

What's next for Reviewer 2

  • Better Document Segmentation: I want to move beyond geometric heuristics and use a Vision Language Model (VLM) to perform true Layout Analysis, allowing us to treat Images and Tables as distinct, interactive blocks.
  • Figure Analysis: Once I solve segmentation, I want to use Gemini's multimodal capabilities to critique charts and graphs directly.
  • Overleaf Integration: Imagine a Chrome extension that roasts your LaTeX code as you type.

Built With

  • google-gemini-api-(gemini-3-flash)
  • google-search-tool
  • katex
  • lucide-react
  • pdf.js
  • react-markdown
  • tailwind-css
  • typescript
Share this project:

Updates