An AI-powered Obsidian plugin that automatically organizes, formats, and enhances your notes with intelligent features.
- Payment required for cloud service: The plugin requires a paid subscription to use the cloud-hosted service
- 7-day free trial: New subscriptions include a 7-day trial period
- Self-hosting option available: You can run your own instance for free (see Self-Hosting Instructions below)
- Account creation: Using the cloud service requires creating an account at notecompanion.ai
This plugin communicates with the following remote services:
- Note Companion API Server (cloud service): For AI-powered features including file classification, formatting, transcription, and chat
- YouTube API: For fetching video transcripts when processing YouTube links
- GitHub API: For downloading Fabric prompt templates
- AI Provider APIs: When self-hosting, you'll connect directly to your chosen AI provider (OpenAI, Anthropic, Google, etc.)
- Cloud service: Files are processed through our secure API for AI analysis
- Self-hosted: All processing happens on your own server, data never leaves your control
- Usage statistics are collected only for the cloud service to manage billing and rate limits
- Your vault content remains private and is only processed when you explicitly use plugin features
- View our full privacy policy at notecompanion.ai/privacy
This is a monorepo project managed with pnpm workspaces and Turborepo. The project consists of several packages:
note-companion/
βββ packages/
β βββ plugin/ # Obsidian plugin (TypeScript, React 19)
β βββ web/ # Web application (Next.js 15, React 19)
β βββ mobile/ # Mobile app (React Native, Expo SDK 52)
β βββ landing/ # Marketing website (Next.js 15)
βββ memory/ # Project memory and learnings
βββ pnpm-workspace.yaml # Workspace configuration
βββ turbo.json # Turborepo configuration
The core Obsidian plugin that provides AI-powered note organization.
Tech Stack:
- TypeScript
- React 19 for UI components
- TailwindCSS (with
fo-
prefix to avoid conflicts) - Multiple AI provider support (OpenAI, Anthropic, Google, etc.)
- Tiptap editor integration
Key Features:
- Automatic file organization based on AI classification
- Custom AI prompt templates
- Audio transcription
- OCR for handwritten notes
- YouTube video summaries
- Context-aware AI chat
- Atomic note generation
The cloud backend and web interface for the plugin.
Tech Stack:
- Next.js 15.1.6 with App Router
- React 19
- Drizzle ORM with PostgreSQL (Vercel Postgres)
- Clerk authentication
- Stripe payments
- AWS S3/R2 for file storage
- TailwindCSS v4
Features:
- User account management
- Subscription handling
- AI API endpoints
- File processing and storage
- Settings synchronization
Cross-platform mobile app for Note Companion.
Tech Stack:
- React Native with Expo SDK 52
- NativeWind for styling
- Clerk authentication
- Shared functionality with web app
Marketing website for Note Companion.
Tech Stack:
- Next.js 15.2.1
- PostHog analytics
- Framer Motion animations
- Radix UI components
You have two options for using Note Companion:
- Install the plugin from Obsidian Community Plugins
- Sign up at notecompanion.ai
- Start your 7-day free trial
- Enter your license key in the plugin settings
See the Self-Hosting section below for detailed instructions.
Self-hosting allows you to run Note Companion on your own server for free. You'll only need to provide your own AI API keys.
- Clone and install:
git clone https://github.com/different-ai/note-companion.git
cd note-companion
pnpm install
- Configure environment:
Create a
.env
file inpackages/web
with:
OPENAI_API_KEY=your_api_key_here
Get your API key from platform.openai.com
- Build and start the server:
cd packages/web
pnpm build:self-host
pnpm start
- Configure the plugin:
- In Obsidian, go to Note Companion settings
- Enable "Self-hosting mode"
- Set server URL to
http://localhost:3010
- Your plugin is now connected to your local server!
For detailed instructions, troubleshooting, and advanced configuration, see SELF-HOSTING.md.
For development and contributing:
- Node.js 18+
- pnpm 10.8.1+
- Git
- Clone the repository:
git clone https://github.com/different-ai/note-companion.git
cd note-companion
- Install dependencies:
pnpm install
- Set up environment variables:
- Copy
.env.example
files in each package to.env.local
- Configure your API keys and services
- Copy
Run all packages in development mode:
pnpm dev
Run specific packages:
# Plugin development
pnpm --filter plugin dev
# Web app development (runs on port 3010)
pnpm --filter web dev
# Mobile app
pnpm --filter mobile start
Build all packages:
pnpm build
Build specific package:
pnpm --filter plugin build
- Inbox Processing: Users place files in a designated "inbox" folder
- AI Classification: The plugin analyzes files and determines appropriate organization
- Automatic Filing: Files are moved to appropriate folders based on classification
- Enhancement: Notes are enhanced with formatting, tags, and metadata
- Cloud Service: Managed subscription service
- Self-Hosted: Run your own instance
- Local Development: Full local setup for development
- TypeScript for type safety
- React 19 for UI components
- TailwindCSS with
fo-
prefix in plugin - Follow existing patterns and conventions
- Unit tests with Jest (web package)
- Playwright for E2E testing (web/landing)
- Manual testing for Obsidian plugin
- Use descriptive commit messages
- Create feature branches
- Submit PRs for review
- Run linting before committing
/CLAUDE.md
- AI assistant instructions/memory/
- Project learnings and decisions- Package-specific READMEs in each package directory
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Website
- Documentation (redirects to GitHub)
- GitHub Issues