Skip to content

siddqamar/prism

Repository files navigation

Prism

OpenAI GPT-5.6 Luna FastAPI TypeScript Graphify Devpost MIT License

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.

Example of a Prism-generated research poster

The problem

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.

The product

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.

Why it helps learners

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.

How it works

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.

Start Prism on Windows

The quickest path is the included start-prism.cmd.

  1. Install Node.js and Python 3.10 or newer.

  2. Create .env.local in the project root with your OpenAI API key:

    OPENAI_API_KEY=your_api_key_here
  3. 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

Frontend

npm install
npm run dev

Knowledge graph API

Windows:

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 8000

macOS 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 8000

Run 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.

How it came together

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.

Technology

  • 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

Limitations

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.

License

MIT License

About

Open-source tool that converts research papers into interactive visual learning experiences.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors