SurfSense/.serena/memories/project_overview.md

22 lines
1 KiB
Markdown
Raw Normal View History

# 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
```