Project Nexus is an open-source, Privacy-First (BYOK) knowledge management system. It automatically captures web content, generates AI summaries, builds a visual knowledge graph, and helps you remember everything through spaced repetition—all while keeping your data under your control.
- ⚡ Intelligent Capture: A browser extension that scrapes articles and YouTube transcripts with a single click.
- 🧠 AI-Powered Insights: Automatic summarization and entity extraction (people, tools, concepts) using your preferred LLM.
- 🕸️ Knowledge Graph: A dynamic, 2D visual canvas with cluster-layouts, entity coloring, and relationship filters.
- 🔖 Bookmarks & Highlights: Star important nodes, add color-coded text highlights, and assign custom tags.
- ⚡ Search & Shortcuts: Filter by date range, sort order, and use keyboard shortcuts (
1-5) to navigate rapidly. - 📅 Spaced Repetition: A highly gamified 3D review system (SuperMemo-2) with active streaks, sound effects, and daily goals.
- 🤖 Always-On Memory Agent: Automatic background consolidation of your captured knowledge into overarching themes, queryable via AI.
- 📱 Mobile-First & PWA: Installable as a Progressive Web App (PWA) with native-like mobile bottom navigation and swipe gestures.
- 🗂️ Custom Collections & Bulk Ops: Organize your captured nodes into specific collections to easily manage and curate your knowledge graph.
- 🚀 Highly Scalable Feed: Smooth, virtualized scrolling feed with pull-to-refresh, capable of handling tens of thousands of captured nodes.
- 🔒 Privacy First (BYOK): Capture and process data using your own API keys (OpenAI, Anthropic, Gemini) stored locally in your browser.
- Web Framework: Next.js (App Router, React 19)
- Extension Framework: Plasmo (React 18, TypeScript)
- Styling: Tailwind CSS 4, Shadcn UI
- Database & Auth: Supabase (PostgreSQL +
pgvector) - AI Integration: Vercel AI SDK
- Visualization: React Flow
.
├── apps/extension # Plasmo-based Browser Extension
├── apps/web # Next.js Web Dashboard & API
├── apps/docs # Docusaurus Documentation Site
├── supabase_setup.sql # Database schema and RLS policies
└── prd.md # Product Requirements Document
- Run the contents of
supabase_setup.sqlin your Supabase SQL Editor. - Enable the
pgvectorextension if not already active.
# At the root of the project
cp .env.example .env.localUpdate .env.local with your Supabase credentials and other configuration values.
Project Nexus uses a turbo monorepo structure.
# Install dependencies
pnpm install
# Start both the web app and extension in development mode
pnpm devAfter running pnpm dev, load the extension into Chrome:
- Navigate to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
apps/extension/build/chrome-mv3-devfolder.
For more detailed setup guides, please see our documentation or run pnpm --filter @nexus/docs start to view the full docs site locally.
Project Nexus follows a Bring Your Own Key (BYOK) model. For free-tier users, all AI processing happens directly in the browser extension using keys stored in local storage. Your data never touches our servers unless you opt for a managed hosting plan.
Project Nexus follows an Open Core philosophy to remain sustainable while staying accessible:
- Tier 1: Hacker (Free): 100% Open-source code. BYOK (Bring Your Own Key). Use local storage or your own self-hosted Supabase instance.
- Tier 2: Nexus Cloud: Managed database hosting, cross-device sync, and automatic backups.
- Tier 3: Nexus Pro: Managed hosting plus built-in AI credits (no BYOK required) and priority access to new features.
Project Nexus is completely open-source and maintained by the community. You can support our ongoing development, server costs, and infrastructure by becoming a sponsor!
- 🧑💻 Individual Backers: Help us triage bugs, write documentation, and add new integrations. Sponsor via GitHub.
- 🏢 Corporate Sponsors: Does your team use Project Nexus to manage organizational knowledge? We offer tiered sponsorship packages, priority support, and logo placement in our README.
Every contribution matters. Thank you for making Project Nexus possible!
We welcome contributions from the community! Whether you're fixing a bug, adding a feature, or improving documentation, your help is appreciated.
- Fork the repository.
- Create a branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Please ensure your code follows the existing style and includes proper TypeScript types.
Project Nexus is open-source and released under the MIT License.