arXiv Sage is a desktop application that transforms complex research papers into engaging, Instagram-style summaries. Simply enter a keyword, and the app fetches the latest papers from arXiv, summarizes them using DeepSeek AI, and presents them in a beautiful feed interface.
- Research Made Accessible: Search arXiv's vast repository with simple keywords
- AI-Powered Summaries: Automatically transform dense research papers into concise, engaging summaries
- Instagram-Style Feed: Browse summaries in a familiar, visually appealing format
- Desktop Application: Convenient, secure, and lightweight Tauri-based app for Windows, Mac, and Linux
- Next.js: React framework for building the user interface
- Tauri: Wraps the web app into a lightweight desktop application
- Tailwind CSS: Utility-first CSS framework for styling
- React Component Library: UI components for consistent design
- FastAPI: High-performance Python web framework
- arXiv API: Integration for fetching research papers
- PDF Processing: Extraction of text from research PDFs
- DeepSeek API: AI-powered text summarization
- Node.js (v14+)
- Rust (latest stable version)
- Python (v3.8+)
- npm or yarn
- Create a Python virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install backend dependencies:
pip install -r requirements.txt
- Set up environment variables:
# Create a .env file in the backend directory
DEEPSEEK_API_KEY=your_deepseek_api_key
- Start the FastAPI server:
uvicorn main:app --reload
- Install frontend dependencies (inside frontend directory):
npm install
# or
yarn install
- Run the development server:
npm run dev
# or
yarn dev
- For Tauri development:
npm run tauri dev
# or
yarn tauri dev
npm run build
npm run tauri build
# or
yarn build
yarn tauri build
This will create distributable packages in the dist
folder for your platform.
arXiv-sage/
├── backend/ # FastAPI backend
│ ├── pdfs/ # arXiv PDFs storage
│ ├── services/ # Business logic
│ │ ├── arxiv.py # arXiv API integration
│ │ ├── pdf.py # PDF processing
│ │ └── summarizer.py # DeepSeek API integration
│ ├── binary_main.py # pyinstaller binary for Tauri
│ ├── main.py # Main FastAPI application
│ └── requirements.txt # Python dependencies
├── frontend/ # Next.js + Electron frontend
│ ├── public/ # Static assets
| ├── src/
│ | ├── app/ # Next.js app configuration
│ | ├── components/ # Next.js components
│ | ├── hooks/ # Next.js hooks
│ ├── src-tauri/ # Tauri configuration
│ | ├── binaries/ # FastAPI sidecar binary
│ | ├── capabilities/ # Permissions for sidecar
│ | ├── gen/ # Schema for Tauri API
│ | ├── icons/ # Default tauri icons
│ | ├── pdfs/ # Pdf storage
│ | ├── src/ # Tauri app entry point
│ | ├── Cargo.toml # Tauri dependencies
│ | ├── build.rs # Tauri build script
│ | ├── tauri.conf.json# Tauri configuration
│ └── package.json # Node.js dependencies
└── README.md # Project documentation
- Local ML model integration for offline summarization
- Custom summarization styles (academic, ELI5, etc.)
- Citation extraction and management
- Collaborative features for research teams
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.