# PaperMind AI PaperMind AI is a web application designed to make reading and understanding research papers easier. Research papers can be lengthy and difficult to follow, especially when trying to identify their main findings, methodologies, and related work. With PaperMind AI, users can upload a research-paper PDF and explore its content through AI-powered analysis, structured insights, and an interactive chat interface. # Screenshots ## 📸 Screenshots ### Dashboard ![PaperMind AI Dashboard](screenshots/dashboard.png) ## Signup ![PaperMind AI Dashboard](screenshots/signup.png) ### Research Paper Analysis ![Research Paper Analysis](screenshots/summary.png) ### Chat with Paper ![Chat with Paper](screenshots/chat.png) ### Technical Stack ![Technical Stack](screenshots/TechStack.png) ### Presentation ![Presentation](screenshots/presentation.png) ## Project structure ```text papermind-final/ ├── src/ # React frontend ├── server/ # Node.js/Express backend │ ├── src/ │ ├── .env.example │ └── package.json ├── package.json └── vite.config.js ``` ## 1. Install frontend From the project root: ```bash npm install ``` ## 2. Configure backend Open a terminal in `server`: ```bash cd server npm install ``` Copy `.env.example` to `.env` and add your own Gemini API key: ```env PORT=5000 MONGODB_URI=mongodb://127.0.0.1:27017/papermind JWT_SECRET=replace_with_a_long_random_secret GEMINI_API_KEY=your_actual_gemini_api_key_here GEMINI_MODEL=gemini-3.8-flash MAX_ANALYSIS_CHARS=80000 ANALYSIS_CHUNK_CHARS=18000 ``` Never commit or share `.env`. ## 3. Start MongoDB Make sure local MongoDB is running at: ```text mongodb://127.0.0.1:27017 ``` ## 4. Start backend From `server`: ```bash npm run dev ``` The backend runs at `http://localhost:5000`. ## 5. Start frontend Open a second terminal at the project root: ```bash npm run dev ``` Open the Vite URL shown in the terminal, normally `http://localhost:5173`. ## Paper analysis flow ```text PDF upload -> PDF validation -> pdf-parse 2.x text extraction -> readable-text validation -> text cleaning and chunking -> Gemini paper-grounded analysis -> structured JSON validation -> MongoDB storage -> React analysis tabs ``` The application does not intentionally generate sample research-paper results. Missing information is represented as `Not mentioned in the paper.`. Scanned/image-only PDFs are reported as requiring OCR rather than being analyzed as if text had been extracted. ## Notes The Gemini API key stays on the Node.js backend. The current PDF limit is 25 MB. The backend uses pdf-parse 2.x and its PDFParse API. The Chat with Paper endpoint is restricted to the selected paper's stored extracted text.