explaingit

intertwine/flashpaper

0PythonAudience · researcherComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

FastAPI web app that turns an arXiv link or PDF into a single self-contained explainer page with diagrams, quizzes, and a chat over the paper, powered by Gemini Flash.

Mindmap

mindmap
  root((flashpaper))
    Inputs
      arXiv link
      DOI
      Uploaded PDF
      Gemini API key
    Outputs
      Self-contained HTML page
      Chart.js charts
      Mermaid diagrams
      KaTeX math
      In-browser chat
    Use Cases
      Read papers visually
      Share an explainer link
      Teach with quizzes
    Tech Stack
      Python
      FastAPI
      Jinja
      Tailwind CDN
      SQLite
      Gemini Flash

Things people build with this

USE CASE 1

Paste an arXiv link and generate a downloadable HTML explainer with charts, diagrams, and quizzes.

USE CASE 2

Run a local FastAPI service that converts uploaded PDFs into shareable visual paper pages.

USE CASE 3

Spin up a no-key demo mode to show stakeholders a few pre-seeded explainers.

USE CASE 4

Build a teaching companion that lets students ask follow-up questions about a paper in the browser.

Tech stack

PythonFastAPIJinjaTailwindSQLiteGemini

Getting it running

Difficulty · moderate Time to first run · 30min

Needs uv plus a Gemini API key for full mode; without a key the app falls back to a small demo of pre-seeded pages.

MIT license. You can use, modify, and redistribute the code commercially with attribution.

In plain English

FlashPaper is a small web app that takes an academic paper and turns it into an interactive website you can read in a browser. You either paste an arXiv link or drop in a PDF, and after about ninety seconds the site comes back with an explainer page that includes live diagrams, simulations, quizzes, and a chat box where you can ask follow-up questions about the paper. The project is open source under the MIT license and is meant to be run locally for now, with a public hosted version planned at a domain such as flashpaper.ai once the build is complete. The heavy lifting is done by Google's Gemini Flash model. According to the README the pipeline has four steps. First the app resolves the input, whether it is an arXiv ID, a DOI, or a direct PDF. The actual PDF is then uploaded to Gemini through its Files API so the model sees the original layout and figures. Next the full paper, which the README says can run fifteen to thirty thousand tokens, is sent to Gemini 3.5 Flash together with a long prompt. The model returns a single self-contained HTML file that uses Tailwind from a CDN, Chart.js for charts, Mermaid for diagrams, and KaTeX for math. The result is a downloadable, shareable webpage with an in-browser chat that still has access to the original paper. Under the hood the server is Python with FastAPI, packaged with the uv tool. There is no frontend build step. Templates are rendered with Jinja and styled with the Tailwind Play CDN, and the JavaScript is plain. Metadata is stored in SQLite and the generated files sit on the local file system. The codebase enforces strict linting and type checking with ruff and basedpyright. Setup is short. You clone the repo, run uv sync, copy the example environment file, paste a Gemini API key, then start the server with uvicorn. Without a key the site runs in a demo mode that serves a small set of pre-seeded high-quality explainers so visitors can still see what the output looks like. The screenshots in the README show a landing page with famous papers and an example explainer based on the Attention Is All You Need paper. The README is open about where the project is in its life. It says the repo is being built live against an approved plan and is currently in the scaffolding and ingestion phase. The author credits the idea to a tweet by Jeff Dean about wanting a tool that makes Gemini Flash's long-context and code-generation strengths immediately useful to researchers.

Copy-paste prompts

Prompt 1
Clone flashpaper, run uv sync, copy the example env, paste a Gemini API key, and launch the server with uvicorn.
Prompt 2
Walk me through the four-step pipeline that resolves an arXiv ID, uploads the PDF to the Gemini Files API, prompts Gemini 3.5 Flash, and returns a single HTML file.
Prompt 3
Show me where the Jinja templates and FastAPI routes live and how generated explainer files are saved to disk plus SQLite metadata.
Prompt 4
Demo flashpaper without a Gemini API key and show me the pre-seeded explainer for Attention Is All You Need.
Prompt 5
Extend the prompt sent to Gemini Flash so the output explainer also includes a small interactive simulation panel.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.