Skip to content

conorbranagan/deep-paper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paper Research Assistant

Overview

A web-based research assistant that helps users explore and analyze academic papers. The application features a modern web interface with a tab-based research system and supports multiple AI models for paper analysis.

There are a few options:

  • Single-paper Summarization: Summarize a paper, pull out key topics for analysis and allow for open-ended questions of that paper.
  • Explore: As open-ended questions against a corpus of papers crawled into our vector store (see backend/apptasks/)
  • Deep Research: A OpenAI/Google deep research-style searching of the web for pages related to a given paper. Can use either text-based browsing or a web agent like browser-use.

home

Uses:

Key Features

  • Interactive research interface with multiple tabs
  • Paper exploration and deep research capabilities
  • Support for multiple AI models
  • Persistent storage of research sessions
  • Real-time paper analysis

Development Setup

Prerequisites

  • Python 3.13+
  • Node.js 18+
  • uv for Python dependency management
  • Various API keys for AI services

Backend Setup

  1. Clone the repository
  2. Navigate to the backend directory
  3. Set up the environment with uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
  1. Install dependencies:
uv pip install -e .
  1. Copy .env.example to .env and configure the keys.

  2. Start the backend server:

fastapi dev main.py

Frontend Setup

  1. Navigate to the frontend directory
  2. Install dependencies:
npm install
  1. Start the development server:
npm run dev

The frontend is built with:

  • Next.js 15.2.0
  • React 19
  • TailwindCSS
  • TypeScript

Development Commands

Backend:

  • Install dev dependencies: uv pip install -e ".[dev]"
  • Format code: black .
  • Lint: ruff check
  • Type checking: mypy
  • Run tests: pytest

Frontend:

  • Development server: npm run dev
  • Build: npm run build
  • Start production server: npm run start
  • Lint: npm run lint
  • Format code: npm run format

CI/CD

GitHub Actions

The project uses three main GitHub Actions workflows which run on PRs:

  1. Python Static Analysis: Runs black (formatting), ruff (lint) and mypy (type checking) against all python code.
  2. Frontend Linting: Runs eslint against all code in frontend.
  3. Python Tests: Runs pytest suite in backend/app/tests.

Deployment

The application automatically deploys to Railway when changes are merged to the main branch.

About

Deep research for research papers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •