Prism turns a research paper into a concise academic poster and an interactive map of the paper's ideas.
This is an educational tool built during OpenAI Build Week to help students and curious readers understand research without getting buried in technical language.
Research papers are written for completeness, while students often need a fast way to understand the question, method, evidence, and takeaway.
Making a poster adds another task: find the signal, rewrite it clearly, arrange it visually, and check that the story still matches the source.
Upload a text-based PDF and Prism uses OpenAI structured output to create a short poster draft with:
- abstract, introduction, methodology, results, and conclusion;
- authors, keywords, figures and tables, and citations;
- a downloadable PNG for review, teaching, or presentation;
- a knowledge graph that connects concepts, methods, findings, figures, and references.
The poster is the quick read. The graph is the context behind it. The original paper remains the source of truth.
Prism makes the structure of a paper visible without asking a student to skip the paper itself. It gives learners a starting point for checking claims, comparing evidence with conclusions, and explaining research in their own words.
Every generated section should be checked against the uploaded paper before it is submitted or presented.
PDF upload
-> in-browser text extraction with PDF.js
-> concise structured analysis with the OpenAI Responses API
-> poster rendering in React
-> PNG export and optional knowledge-graph exploration
The graph is generated by the local FastAPI service and rendered in a separate browser view. Users can search nodes, filter communities, inspect node details, and follow relationships across the paper.
The quickest path is the included start-prism.cmd.
-
Install Node.js and Python 3.10 or newer.
-
Create
.env.localin the project root with your OpenAI API key:OPENAI_API_KEY=your_api_key_here
-
Double-click
start-prism.cmd, or run it from a terminal:start-prism.cmd
The script installs frontend packages, creates server/.venv when needed, installs the graph API dependencies, and opens the frontend and graph API in separate terminal windows.
Open http://localhost:3000 when the frontend is ready.
Manual setup
npm install
npm run devWindows:
python -m venv server/.venv
server/.venv/Scripts/python -m pip install -r server/requirements.txt
server/.venv/Scripts/python -m uvicorn server.main:app --reload --port 8000macOS or Linux:
python3 -m venv server/.venv
server/.venv/bin/python -m pip install -r server/requirements.txt
server/.venv/bin/python -m uvicorn server.main:app --reload --port 8000Run the frontend and API together in separate terminals.
The frontend is available at http://localhost:3000 and the graph API at http://127.0.0.1:8000.
The original idea came from a friend I met on LinkedIn while he was doing his PhD. He described how much work it takes to turn a dense paper into something other people can understand, and that became the starting point for Prism.
I used Codex with GPT-5.6 as a development partner.
I used Plan mode to break the work into product and engineering steps, then used the /review command to inspect changes as the project grew.
Together, we shaped the poster workflow, created the FastAPI service for the knowledge graph, adjusted the prompts so sections stayed concise, and debugged the poster export and graph startup issues.
When the project moved from its local branch to GitHub, Codex also helped reconcile the separate histories and preserve the repository's existing license. These tools accelerated implementation and review, but the product still keeps the learner responsible for checking every generated claim against the original paper.
- React 19, TypeScript, and Vite
- OpenAI Responses API with strict structured outputs
- PDF.js for browser-side text extraction
- html2canvas for PNG export
- FastAPI and Graphify for graph generation
- vis-network for graph interaction
- Tailwind CSS
Prism currently works best with text-based PDFs. Scanned or image-only papers need OCR, which is not included yet. Figures and tables are summarized from extracted text rather than reproduced as original visual assets.
Do not deploy the current prototype with an unrestricted client-side API key. A production deployment should move model requests to a secured server endpoint with authentication, rate limits, and key protection.