Upload a research paper or paste an arXiv link. Paper2Lab explains every section at the level you choose, shows what each equation means, and backs every explanation with a quote from the paper.
EducationTypeScript · PythonGitHub @whatalshifaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Explains research papers at three reading levels, with equation walkthroughs and every claim quoted word for word from the PDF. Next.js · FastAPI · Claude
Taken from the repository README
Loading the full README.
Read the full README ↗Live: paper2lab-psi.vercel.app · Open the library · Read a sample paper
Read any research paper at your level. Add a PDF or an arXiv link, and Paper2Lab explains every section three ways, from new to this to expert, says what each equation means symbol by symbol, and pins every explanation to the sentence in the paper it came from, checked word for word against the PDF by plain code, not by the AI.
Demo mode. The AI runs only when an Anthropic API key is set. The live site has none, so it shows two papers explained in advance, Attention Is All You Need and Adam, and every feature works on them. Adding new papers and asking new questions is paused until a key is added. The API is on a free plan that sleeps when idle: pages say "waking up" and load by themselves, which can take up to a minute after a quiet spell.
The site is set like a small journal: Newsreader for every word, IBM Plex Mono for controls and labels, one claret ink, square corners, light "Paper" and dark "Ink" themes.
| Route | What's there |
|---|---|
/ | The front page: the pitch, a live reading-level demo on a real sample, the accuracy numbers, the sample shelf and two equation demos |
/library | The app: your papers and the samples. On wide screens, three panes: the list, the selected paper's first page and its margin notes |
/papers/[id] | The reader, one page at a time: overview, each section, what the paper connects to, glossary |
/accuracy | How many quotes and figure captions were found word for word, across every paper, and how the check works |
| The library | The reader, at student level |
|---|---|
| Every equation explained | Check yourself |
| What to know first | Push on the maths |
| Public accuracy page | On a phone, in Ink |
/ anywhere): upload a PDF (up to 20 MB and 60 pages)
or paste an arXiv link. The PDF is checked before any AI sees it.flowchart LR
B[Browser] -->|pages| W[Next.js website<br/>Vercel]
B -->|/api/*| W
W -->|/api/* + shared secret| A[FastAPI<br/>Render]
W -.->|sample papers for the<br/>front page, every 10 min| A
A -->|one call per paper,<br/>questions with citations| C[Claude<br/>Anthropic API]
A --> D[(Postgres<br/>Neon)]
A --> S[(PDF bucket<br/>Neon S3)]
A -.->|references, code,<br/>models, datasets| X[Semantic Scholar<br/>Hugging Face]
/api/* to FastAPI and adds a shared
secret, so the API refuses anyone who tries to skip the website (and its spending limits).keep-warm.yml) keeps the API awake
on weekdays during Indian working hours.docs/ARCHITECTURE.md walks through every part file by file, and docs/DECISIONS.md explains the main choices.
You need Python 3.12+ and Node 22+. No API key is needed: without one the app runs in demo mode.
# 1. The API, on http://localhost:8000
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
cp .env.example .env # add ANTHROPIC_API_KEY here to explain new papers
alembic upgrade head
uvicorn app.main:app --reload --port 8000
# 2. The website, on http://localhost:3000 (in a second terminal)
cd frontend
npm install
npm run dev
Open http://localhost:3000. The website forwards /api/* to http://localhost:8000 unless
API_URL says otherwise (see frontend/.env.example). Or run everything, Postgres included, with
docker compose up --build.
cd backend && ruff check . && ruff format --check . && pytest # 88 tests
cd frontend && npm run lint && npm run build && npx playwright test # 41 tests × desktop and phone
npx playwright test starts both servers itself; run npx playwright install chromium once first.See docs/DEPLOY.md: Render (API), Vercel (website) and Neon (database and PDF
bucket), all on free plans. To turn the AI on, add ANTHROPIC_API_KEY to the API's environment.
MIT. See LICENSE.