@vintcessun: Get It turns PDFs into interactive knowledge graphs and visualization engines, not just another summary tool. It detects concepts one by one, generating 3D/animations/formula visualizations for each keyword, then uses flashcards, quizzes, Feynman teaching and other tools to close the loop and assess depth of understanding. Each concept is scored across four dimensions—memory, understanding, structure, application—and can only go up...
Summary
Get It turns PDFs into interactive knowledge graphs and visualizations, using concept detection and multi-format rendering to help students deeply understand material. It runs locally using the user's own ChatGPT account.
View Cached Full Text
Cached at: 06/08/26, 05:19 AM
Get It turns a PDF into an interactive knowledge graph and visualization engine — not yet another summary tool. It detects concepts one by one, generates 3D/animation/formula visualizations for each key term, then closes the comprehension loop with flashcards, quizzes, Feynman teaching, and other instruments. Every concept is scored across four dimensions — memory, understanding, structure, application — and only moves upward. All AI capability runs through your own ChatGPT account (Codex CLI), no additional subscriptions, and all data stays local.
beltromatti/get-it
Source: https://github.com/beltromatti/get-it
Get It.
Read it. See it. Get it.
The study companion that turns a PDF into a measurable mastery map. Built around the document, not in place of it.
GDG AI Hack 2026 (https://gdg.community.dev/)
Website (https://getit.noesisai.it)
Built with
Codex CLI (https://github.com/openai/codex)
Next.js (https://nextjs.org)
Electron (https://www.electronjs.org/)
React 19 (https://react.dev)
TypeScript (https://www.typescriptlang.org)
Tailwind CSS 4 (https://tailwindcss.com)
Three.js (https://threejs.org)
pdf.js (https://mozilla.github.io/pdf.js/)
Get It. hero animation
The problem
The student already has the PDF. They don’t need another summary. They need to see the parts a textbook refuses to draw, and they need a way to prove to themselves that they have understood. Concept by concept, not page by page.
Today’s tools measure surface area, not depth. Flashcard ratings measure recall in the moment. Mind maps measure how much you drew. Summaries measure how patient the AI was. None of them answer the only question that matters on exam day:
Would I survive a question I have not seen before?
Get It. is the layer that answers it.
How it works
Drop a PDF — a digital, text-based one. Get It. checks the file up front and turns away scans or image-only documents with a clear message, because it reads text, not pictures.
Once a file clears that gate, three things start at once.
-
The page tags itself. A concept-detection agent walks every page and plants inline tag pills on the words that benefit from a picture. Each tag carries a renderer choice: 3D scene, 2D animation, formula walkthrough, plotted graph, or cited source.
-
The right pane fills in. Click a tag and its visualization renders — Three.js for anatomy and molecules, Canvas for physics and chemistry animations, KaTeX-clean formulas, a plot engine for functions and distributions, authoritative quotes for legal articles and named papers. Ready tags are marked so you can tell what already exists, and a setting renders every tag automatically as you read if you prefer. When a sandbox crashes, the agent reads its own error and re-emits a fix. The student sees “repairing” instead of red text.
-
A knowledge graph builds itself. Six to twenty-five concept nodes, typed edges, sized by mastery, coloured by progress, clickable for the four-axis breakdown plus the evaluator’s note.
Then the loop closes. Four study tools feed one journal.
| Tool | What it measures |
|---|---|
| 💬 Chat | Recall references and paraphrases. Multi-turn, multi-thread, scoped to one document. |
| 🎴 Flashcards | Open-recall under self-grade. Again / Hard / Good / Easy on every card. |
| ✅ Quizzes | Forced-choice discrimination. One correct answer, three plausible distractors. |
| 💡 Feynman | The agent plays a curious eight-year-old. You teach. The strongest comprehension signal. |
After every completed session the evaluator agent reads the journal end-to-end and updates four scores per concept node on the knowledge graph: memory, comprehension, structure, application. Each scored 0 to 100. Each monotone non-decreasing by a runtime clamp. The student can only progress, never regress.
The four numbers are the difference between a study app and a measurement instrument.
Bring your own ChatGPT
The AI side of Get It. has no business model layered on top. You sign in once with the ChatGPT account you already pay for (or an OpenAI API key) through the official Codex CLI. Every agent inside the app runs against your own tier. There is no Get It. server, no shared key pool, no per-message metering, no “AI credits” wallet, no second subscription, and no plan to ever ship one.
- You pay for AI once. ChatGPT Plus, Pro, Team, Enterprise, or Edu covers everything Get It. does.
- Plus is the practical floor. The free tier signs in but its Codex allowance is intentionally small. Plus and above give comfortable session headroom in the same flow.
- Your data stays yours. No backend, no upload step, no analytics. The work-context journal is a single JSON file on your disk, downloadable in one click from the right-pane menu.
- Rate limits are OpenAI’s. When you hit one, the app shows a countdown banner and resumes the background work itself once the window clears.
Other AI study apps wrap a marked-up subscription around a model API the vendor holds. Get It. wraps a study workflow around the access you already have.
Install
Get It. is a desktop app. Download the installer for your machine, double-click, sign in with the ChatGPT account you already use. Nothing else to buy.
| Platform | Installer |
|---|---|
| macOS (Apple Silicon, M1 / M2 / M3 / M4) | Get It--arm64.dmg |
| macOS (Intel) | Get It-.dmg |
| Windows 10 / 11 (x64) | Get It Setup .exe |
| Linux (x64) | Get It-.AppImage |
Every release ships on the Releases (https://github.com/beltromatti/get-it/releases) page. The app checks for a newer build on every launch and offers a one-click update inside its own window.
First launch
The setup wizard verifies the bundled Codex CLI, walks the OAuth sign-in, and refuses to open the main window until both gates are green. Then drop a PDF, or open one of the five bundled samples (anatomy, classical mechanics, Italian constitution, calculus, organic chemistry). Tags, chats, flashcard decks, quizzes, Feynman sessions, and the knowledge graph all stay on your computer.
Gatekeeper and SmartScreen
macOS builds (both Apple Silicon and Intel) are signed with a paid Apple Developer ID Application certificate AND notarized by Apple. On a fresh download from this repo’s Releases (https://github.com/beltromatti/get-it/releases) page the OS opens the app with no Gatekeeper prompt — the stapled notarization ticket tells Gatekeeper the binary is trusted before the network is even consulted. spctl --assess reports source=Notarized Developer ID and xcrun stapler validate passes on both architectures.
Windows builds are not signed. The first launch shows a SmartScreen warning (“Windows protected your PC”); click More info → Run anyway. The warning persists because SmartScreen reputation is per-certificate and we currently don’t ship a Windows code-signing cert (Microsoft’s Trusted Signing service requires a paid Azure subscription that the project doesn’t carry).
If you ever pull a build that wasn’t notarized — a local ad-hoc build before secrets are wired up, an old release from before v1.2.1 — macOS shows the “unidentified developer” prompt instead. The bypass is System Settings → Privacy & Security → Open Anyway (macOS Sequoia 15 and macOS 26 removed the older right-click → Open shortcut). Or strip the quarantine flag in one shot from the CLI: xattr -dr com.apple.quarantine "/Applications/Get It.app".
Storage
Everything lives under one OS-native directory.
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/get-it/ |
| Windows | %APPDATA%\get-it\ |
| Linux | ~/.local/share/get-it/ |
Layout: one folder per document at docs/<doc-id>/ (source PDF, extracted text cache, tags, work context, knowledge graph), a docs.json index at the root, a codex-scratch/ working dir, and logs/. Deleting a doc from the Library wipes the whole folder.
Hack on it
git clone https://github.com/beltromatti/get-it.git
cd get-it
npm install
npm run dev # builds the Next.js standalone bundle and opens it in Electron
npm run dev exercises the full path: setup wizard, embedded server, IPC bridge. Re-run after edits.
For browser-side hot reload:
npm run browser:dev # http://localhost:3000
(The Electron-internal HMR loop has a known Next 16.2.6 + Turbopack + Chromium 130 hydration glitch, so browser dev or rebuild-and-test is the cleaner inner loop.)
Local desktop builds, one or all targets:
npm run build && npm run electron:prepare
node scripts/build-electron.mjs --target=mac-arm64 # or mac-x64 / win-x64 / --all
Artefacts land in dist-electron/. Cross-arch builds pull the matching Codex platform package from npm on the fly, so you do not need an Intel Mac or a Windows VM to build for them.
Releases are tag-driven. Push a vX.Y.Z tag to main and .github/workflows/release.yml builds every target on a native runner, attaches the .dmg / .exe / .AppImage to a GitHub Release, and pins the version into Info.plist and NSIS metadata from the tag itself.
Architecture in one breath
upload ─► quality gate (model-free) ─► pdfjs-dist extracts text + glyph bboxes per page
│
├──► visualizer pipeline
│ ├─ batched concept-detection agent → DetectedConcept[] with anchor strings
│ │ (≤5 pages per call, concurrency 3) (each concept carries its page)
│ └─ per-tag visualization-spec agent → 3d / 2d-anim / formula / graph / 2d-text spec
│ (lazy: on click by default) (server-side syntax preflight + client-side
│ runtime repair loop on sandbox crashes)
│
└──► knowledge-graph pipeline
├─ kg-build agent (one-shot) → 6–25 concept nodes + typed edges + global note
│ ◄── full document text (bounded by the 150-page upload cap)
└─ kg-evaluate agent (incremental) → per-node {memory, comprehension, structure,
◄── current graph (baseline scores) application} 0–100, monotone non-decreasing
◄── interactions since the last pass
Nine prompts behind one auth path, nine schemas behind one shared SDK wrapper. The full design rationale, the four-axis rubric, the per-doc evaluator queue, the LLM-code sandbox, and the desktop-packaging layer are in technical-writeup.md, also rendered as PDF.
The team
Built in 24 hours at GDG AI Hack 2026, Milan, for the Braynr challenge. The hackathon submission lived at commit 277ec43. Everything past that commit is post-hackathon polish: desktop packaging, the persistent Library, the first-launch setup wizard, the quizzes tool, the in-app auto-update flow, the server-side jobs runner, and long-document support that keeps a 100-page PDF affordable on a single ChatGPT plan. The product is the same. Only the way it gets onto a student’s laptop has changed.
- Mattia Beltrami, Politecnico di Milano
- Matteo Impieri, Politecnico di Milano
- Filippo Difronzo, Politecnico di Milano
- Luca Feggi, Università di Padova
Notice
Get It. is an independent project. It is not affiliated with, endorsed by, or sponsored by OpenAI.
The app uses the official open-source Codex CLI (https://github.com/openai/codex) as the transport between the local app and OpenAI’s models, signed in with the end user’s own ChatGPT or OpenAI API account. “OpenAI”, “ChatGPT”, and “Codex” are trademarks of their respective owner; we use the names only to describe what Get It. interoperates with.
Your use of OpenAI’s models through Get It. is subject to OpenAI’s own Terms of Use (https://openai.com/policies/terms-of-use), Usage Policies (https://openai.com/policies/usage-policies), and Privacy Policy (https://openai.com/policies/privacy-policy), and to the Codex CLI’s own license and release notes (https://github.com/openai/codex). Those documents are authoritative for what the model service permits, how data is handled on OpenAI’s side, and what each subscription tier covers.
License
Apache License 2.0. See LICENSE. Source is open. Contributions are welcome.
Similar Articles
@GitHub_Daily: An open-source learning tool discovered on GitHub: Get It, which helps us deeply learn PDF content in multiple ways. Automatically annotates key concepts on PDF files, and can convert them into visual content such as 3D models, animations, formula derivations, etc., while generating a knowledge graph. GitHub…
Get It is an open-source learning tool that automatically annotates key concepts in PDFs and converts them into visual content like 3D models and animations, while generating a knowledge graph. It supports methods such as dialogue Q&A, flashcard memory, etc.
@veyhon: Unify code, documents, papers, images, and videos into a knowledge graph, let AI coding assistants first query the relationship graph, then decide which context to read. https://github.com/safishamsi/graphify… Graphify's pipeline is detect → extract…
Graphify is an open-source tool that extracts code, documents, papers, images, and videos into a unified knowledge graph, enabling AI coding assistants to query the relationship graph first to determine context, thereby improving the accuracy of code understanding and generation.
@GitHub_Daily: Recently came across an open-source project called Flipbook Canvas, quite interesting — it turns each AI-generated image into a knowledge tree that you can infinitely click and explore. Long-press any part of the image, the system automatically recognizes what you tapped, searches online for relevant information, and then generates a brand new detailed diagram, layer by layer. GitHub…
Flipbook Canvas is an open-source project that converts AI-generated images into infinitely clickable knowledge trees, supporting online search, real-time generation, and offline export.
@AIExplorerTim: Someone just released a tool that converts PDFs into clean, structured Markdown at speeds up to 100 pages/second. No GPU required. No API costs. No messy parsing. Just raw, usable data. It handles with ease: • Tables → Perfectly ex…
OpenDataLoader is an open-source tool that converts PDFs into structured Markdown and JSON, supporting local processing speeds of up to 100 pages/second without requiring a GPU or incurring API costs, designed specifically for RAG pipelines and PDF accessibility automation.
@Xudong07452910: Paper2Any: Convert papers, texts, or topics into editable research diagrams, technical roadmaps, and presentations with one click. This is an open-source project focused on academic visualization and presentation creation. Main features include: 1.Paper2Figure: Generate editable model architecture diagrams, technical roadmaps, experimental flowcharts (supports PPTX/SVG formats)
Paper2Any is an open-source project that converts papers, texts, or topics into editable research diagrams, technical roadmaps, and presentations with one click, supporting multiple output formats, suitable for researchers to quickly create paper illustrations and presentation materials.