Skip to content

AI assisteed minutes of meeting tool which records transcripts , summarizes and divides tasks

License

Notifications You must be signed in to change notification settings

Krishna-kg732/Note-ninja

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯· Note Ninja

Transform Google Meet Transcripts into Beautiful Notion Notes

Chrome Extension Node.js React Express.js License

Status PRs Welcome


πŸ“– About

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.

✨ Key Features

  • 🎯 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

πŸ› οΈ Tech Stack

Frontend Backend Integration
React Node.js Notion
CSS3 Express.js Google Meet
Chrome Extension REST API OAuth 2.0

πŸ“ Project Structure

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

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Chrome browser
  • Notion account
  • Google Meet access

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/note-ninja.git
    cd note-ninja
  2. Install backend dependencies

    cd backend
    npm install
  3. Set up environment variables

    cp .env.example .env

    Configure your .env file:

    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
  4. Start the backend server

    npm start
  5. Load the Chrome extension

    • Open Chrome and navigate to chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked"
    • Select the extension directory

πŸ“– Usage

  1. Authenticate with Notion

    • Click the Note Ninja extension icon
    • Click "Connect to Notion"
    • Authorize the extension
  2. Join a Google Meet

    • Start or join any Google Meet meeting
    • Enable captions/transcripts in the meeting
  3. Capture Notes

    • Note Ninja automatically detects and captures the transcript
    • Click the extension icon to see real-time status
  4. 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

πŸ”Œ API Endpoints

Meetings

POST   /meetings/create       # Create new meeting record
GET    /meetings/:id          # Get meeting details
POST   /meetings/:id/process  # Process transcript

Notion

POST   /notion/upload         # Upload notes to Notion
GET    /notion/databases      # List available databases
POST   /notion/create-page    # Create new Notion page

Authentication

GET    /auth/notion           # Initiate Notion OAuth
GET    /auth/callback         # OAuth callback handler
POST   /auth/refresh          # Refresh access token

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

Distributed under the MIT License. See LICENSE for more information.


πŸ‘₯ Authors


πŸ™ Acknowledgments

  • Google Meet for transcript access
  • Notion for their amazing API
  • The open-source community

⭐ Star this repo if you find it helpful!

Made with ❀️ by the Note Ninja team

About

AI assisteed minutes of meeting tool which records transcripts , summarizes and divides tasks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •