Skip to content

matheusmaldaner/PlatosCave

Repository files navigation

Plato's Cave Logo

A Human-Centered Agentic System for Validating Research Papers

1st Place License Commercial License Python Versions Patent Pending


📹 Watch the Demo

We developed Plato's Cave as part of the University of Florida's AI Days Hackathon, and therefore had to keep the video within the time limit:


🧠 Overview

Plato’s Cave helps you comprehend dense academic material by analyzing PDFs and URLs using progressive AI assistance.
Like emerging from Plato’s allegorical cave into enlightenment, this tool illuminates the shadows of academic literature, uncovering key insights, visualizations, and summaries.

Green Cave

Quick Start

You have to run the frontend, backend and docker image on three separate terminal sessions. Follow the commands below:

(1) 🪶 Frontend Setup

cd frontend
npm install
gatsby develop  # If command not found, try: npx gatsby develop

If you see Module not found: Can't resolve 'lucide-react':

npm install lucide-react

This will start the development server at http://localhost:8000

(2) 🖥️ Backend Setup

On a separate terminal, while the frontend is still running, run the following commands:

# install uv 
# curl -LsSf https://astral.sh/uv/install.sh | sh
cd backend
uv sync
source .venv/bin/activate
uvx playwright install chromium --with-deps

Create a .env file

touch .env

Add your BROWSER_USE_API_KEY to the file (get $10 free here)
Add your EXA_API_KEY to the file (get $10 free here)

nano .env  # Open the file and add the line below
BROWSER_USE_API_KEY="bu_YOURKEY"
EXA_API_KEY="YOURKEY"
# install VNC server
sudo apt-get install x11vnc

# start VNC server
x11vnc -display :0 -forever -shared

sudo apt update
sudo apt install chromium-browser
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug

python server.py

(3) 🐳 Docker Image for Web Agent

Also an "image" here is not to be interpreted as a picture. You can think of a Docker image as a package that has everything you need to run some software (it has the libraries, code, envs, configs...)

# start the docker service (open Docker Desktop if on Windows -> Resources -> WSL Integration -> Enable Integration)
cd backend
docker compose -f docker-compose.browser.yaml up --build remote-browser
# alternatively you can run it detached:
# docker compose -f docker-compose.browser.yaml up -d

Once you have all three separate terminals running, you can access the application at http://localhost:8000

🧩 Tech Stack

Component Technology
🖼️ Frontend Gatsby.js
🧠 Backend Python (FastAPI)
🌐 Web Automation Playwright + Chromium
🤖 AI Integration Browser-Use API
🐳 Environment Docker

🔢 Scoring Mathematics Located Here


📜 License

Copyright © 2025 Matheus Kunzler Maldaner. All Rights Reserved.

This project is licensed under the Plato's Cave Research and Academic Use License.

📄 Full License

See LICENSE.md for complete terms and conditions.

📚 Citation

If you use this software in academic research, please cite:

@software{maldaner2025platoscave,
  author = {Maldaner, Matheus Kunzler and Valle, Raul and Wormald, Stephen and O'Connor, Kristian and Woelke, James},
  title = {Plato's Cave: A Trust-Propagating Knowledge Graph System for Academic Research Verification},
  year = {2025},
  institution = {University of Florida},
  note = {Winner: 1st Place, UF AI Days GatorHack},
  url = {https://github.com/matheusmaldaner/PlatosCave}
}

About

A Human-Centered Agentic System for Validating Research Papers

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 9