SurfSense/.serena/memories/project_overview.md

1 KiB

SurfSense - Project Overview

Purpose

Open-source alternative to NotebookLM — personal knowledge base with AI chat, 25+ external connectors (Google Drive, Notion, Jira, Slack...), real-time multiplayer, desktop app, podcast/video generation.

Tech Stack

  • Backend: Python 3.12, FastAPI, Celery (Redis broker), PostgreSQL (pgvector), Alembic, LiteLLM, LangGraph, uv package manager
  • Frontend: Next.js 16 (Turbopack), React 19, TypeScript, Tailwind v4, Jotai, @rocicorp/zero (real-time sync), pnpm
  • Real-time: zero-cache (rocicorp/zero:0.26.2) → Postgres logical replication
  • Services (Docker): PostgreSQL pgvector, Redis, SearXNG, pgAdmin, zero-cache
  • Desktop: Electron (surfsense_desktop/)
  • Browser Extension: surfsense_browser_extension/

Architecture

surfsense_backend/   - FastAPI + Celery workers
surfsense_web/       - Next.js frontend
surfsense_desktop/   - Electron desktop app
surfsense_browser_extension/ - Browser extension
docker/              - docker-compose.dev.yml & .env