An AI-powered Obsidian plugin that automatically organizes, formats, and enhances your notes with intelligent features.
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)
β βββ audio-server/ # Audio transcription service (Express.js)
βββ 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
Dedicated server for audio transcription services.
Tech Stack:
- Express.js
- Deepgram SDK
- OpenAI integration
- Multer for file uploads
- 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
[License information to be added]