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:
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.
You have to run the frontend, backend and docker image on three separate terminal sessions. Follow the commands below:
cd frontend
npm install
gatsby develop # If command not found, try: npx gatsby developIf you see Module not found: Can't resolve 'lucide-react':
npm install lucide-reactThis will start the development server at http://localhost:8000
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-depsCreate 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.pyAlso 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 -dOnce you have all three separate terminals running, you can access the application at http://localhost:8000
| Component | Technology |
|---|---|
| 🖼️ Frontend | Gatsby.js |
| 🧠 Backend | Python (FastAPI) |
| 🌐 Web Automation | Playwright + Chromium |
| 🤖 AI Integration | Browser-Use API |
| 🐳 Environment | Docker |
🔢 Scoring Mathematics Located Here
Copyright © 2025 Matheus Kunzler Maldaner. All Rights Reserved.
This project is licensed under the Plato's Cave Research and Academic Use License.
See LICENSE.md for complete terms and conditions.
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}
}
