Note Ninja is a powerful Chrome extension that automatically converts Google Meet transcripts into well-formatted notes and uploads them directly to Notion. Never miss important meeting details again β let Note Ninja handle your meeting documentation while you focus on what matters.
- π― Automatic Transcript Capture - Seamlessly extracts transcripts from Google Meet
- π€ AI-Powered Formatting - Intelligently converts raw transcripts into structured notes
- π Smart Summarization - Generates concise summaries, action items, and key points
- π Direct Notion Integration - Automatically uploads formatted notes to your Notion workspace
- π Secure OAuth Authentication - Safe and secure access to your Notion account
- β‘ Real-time Processing - Get your notes ready as soon as the meeting ends
Note-Ninja/
β
βββ π backend/ # Backend Server
β βββ routes/
β β βββ meetings.routes.js # Meeting endpoints (/meetings)
β β βββ notion.routes.js # Notion integration (/notion)
β β βββ auth.routes.js # OAuth authentication
β β
β βββ services/
β β βββ transcript.service.js # Transcript processing
β β βββ ai.service.js # AI-powered formatting
β β βββ notion.service.js # Notion API integration
β β
β βββ controllers/
β β βββ meeting.controller.js # Business logic
β β
β βββ middlewares/
β β βββ auth.middleware.js # Authentication middleware
β β βββ rateLimit.middleware.js # API rate limiting
β β
β βββ utils/
β β βββ formatter.js # Helper utilities
β β
β βββ app.js # Express app configuration
β βββ server.js # Server entry point
β
βββ π extension/ # Chrome Extension
βββ manifest.json # Extension manifest
βββ popup/ # Extension popup UI (React)
βββ content/ # Content scripts
βββ background/ # Background scripts
- Node.js (v18 or higher)
- npm or yarn
- Chrome browser
- Notion account
- Google Meet access
-
Clone the repository
git clone https://github.com/yourusername/note-ninja.git cd note-ninja -
Install backend dependencies
cd backend npm install -
Set up environment variables
cp .env.example .env
Configure your
.envfile:PORT=3000 NOTION_API_KEY=your_notion_api_key NOTION_CLIENT_ID=your_notion_client_id NOTION_CLIENT_SECRET=your_notion_client_secret REDIRECT_URI=http://localhost:3000/auth/callback AI_API_KEY=your_ai_api_key
-
Start the backend server
npm start
-
Load the Chrome extension
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the
extensiondirectory
- Open Chrome and navigate to
-
Authenticate with Notion
- Click the Note Ninja extension icon
- Click "Connect to Notion"
- Authorize the extension
-
Join a Google Meet
- Start or join any Google Meet meeting
- Enable captions/transcripts in the meeting
-
Capture Notes
- Note Ninja automatically detects and captures the transcript
- Click the extension icon to see real-time status
-
Export to Notion
- When the meeting ends, click "Export to Notion"
- Your formatted notes will be automatically uploaded
- Find them in your designated Notion database
POST /meetings/create # Create new meeting record
GET /meetings/:id # Get meeting details
POST /meetings/:id/process # Process transcript
POST /notion/upload # Upload notes to Notion
GET /notion/databases # List available databases
POST /notion/create-page # Create new Notion page
GET /auth/notion # Initiate Notion OAuth
GET /auth/callback # OAuth callback handler
POST /auth/refresh # Refresh access token
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
-
Krishna Gupta - GitHub Profile
-
Kunal Shaw - GitHub Profile
- Google Meet for transcript access
- Notion for their amazing API
- The open-source community