BrainyBinder is a full-stack web application that allows users to upload documents, semantically search across them, and ask questions with LLM-generated answers grounded in retrieved document chunks with citations.
Tech Stack
Frontend
Next.js (React, TypeScript)
Backend
Django + Django REST Framework
Python virtual environment
Database
PostgreSQL (Dockerized)
Vector storage (e.g., pgvector)
Project Structure (High-Level) brainybinder/ ├── frontend/ # Next.js app ├── backend/ # Django API ├── docker/ # Database / infra configs └── docker-compose.yml
Getting Started
- Clone the Repository cd brainybinder
Frontend Setup (Next.js) cd frontend npm install npm run dev
The frontend will run at:
Backend Setup (Django) Create and Activate Virtual Environment cd backend python -m venv venv
Activate:
macOS / Linux:
source venv/bin/activate
Windows:
venv\Scripts\activate
Install Dependencies pip install -r requirements.txt
Run the Django Server python manage.py runserver
The backend API will run at:
Database Setup (PostgreSQL via Docker)
The database is managed using Docker Compose.
Start the Database
From the project root:
docker compose up -d
This will:
Start a PostgreSQL container
Expose the database on the configured port
Persist data using Docker volumes
Stop the Database docker compose down