Skip to content

Rebell-Leader/PrivaNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PrivaNote πŸ”’

Privacy-First AI Meeting Assistant AI Powered Local Processing

Privacy-First AI Meeting Assistant - Local transcription and intelligent analysis with dual-mode AI processing.

🌟 Features

  • πŸŽ™οΈ Local Audio Transcription: Powered by faster-whisper, processes audio entirely on your device
  • πŸ€– Dual-Mode AI Analysis: Choose between OpenAI (cloud) or local Gemma 3n models via Ollama
  • πŸ”’ Complete Privacy Control: Audio files never leave your device, choose your privacy level
  • πŸ“Š Smart Meeting Intelligence: Automatic summaries, action items, key decisions, and topic extraction
  • πŸ“ Meeting Archive: Searchable history with export to Markdown, JSON, and other formats
  • 🌐 Web-Based Interface: Modern, responsive UI accessible from any browser
  • ⚑ Cross-Platform: Runs on Windows, macOS, and Linux with automatic device optimization

πŸ›‘οΈ Privacy Modes

Mode Description Privacy Level Audio Processing AI Analysis
🏠 Local Gemma Complete privacy 🟒 Maximum Local (Whisper) Local (Ollama/Gemma)
☁️ OpenAI Cloud High-quality analysis 🟑 Moderate Local (Whisper) Cloud (OpenAI API)
πŸ”§ Basic Analysis Keyword-based 🟒 Maximum Local (Whisper) Local (Keywords)

πŸ”’ Your audio files never leave your device regardless of the AI mode you choose.

πŸš€ Quick Start

Option 1: Run on Replit (Easiest)

  1. Fork this Replit or run directly in the browser
  2. Add OpenAI API Key (optional): Go to Secrets tab β†’ Add OPENAI_API_KEY
  3. Click Run - The app will start automatically on port 5000
  4. Upload audio and start analyzing your meetings!

Option 2: Local Installation (Maximum Privacy)

Prerequisites

  • Python 3.11 or 3.12 (Python 3.13 is not supported due to the removal of the audioop module)
  • Git
  • FFmpeg (required for audio processing)

Installation Steps

  1. Install FFmpeg (required for audio processing)

    Linux (Ubuntu/Debian):

    sudo apt update
    sudo apt install ffmpeg

    Linux (CentOS/RHEL/Fedora):

    # For CentOS/RHEL
    sudo yum install ffmpeg
    
    # For Fedora
    sudo dnf install ffmpeg

    macOS:

    # Using Homebrew
    brew install ffmpeg
    
    # Using MacPorts
    sudo port install ffmpeg

    Windows:

    # Using Chocolatey
    choco install ffmpeg
    
    # Using Winget
    winget install ffmpeg

    Or download manually from https://ffmpeg.org/download.html and add to PATH.

    Verify installation:

    ffmpeg -version
    ffprobe -version
  2. Clone the repository

    git clone https://github.com/Rebell-Leader/PrivaNote.git
    cd PrivaNote
  3. Install dependencies

    Using uv (recommended):

    pip install uv
    uv sync

    Using pip:

    pip install streamlit>=1.48.0 faster-whisper>=1.2.0 openai>=1.99.1 ollama>=0.5.2 pandas>=2.3.1 pydub>=0.25.1 torch>=2.8.0 torchaudio>=2.8.0
  4. Run the application

    streamlit run app.py --server.port 5000
  5. Open your browser to http://localhost:5000

🏠 For Maximum Privacy: Local Ollama Setup

To enable completely local AI processing with Gemma 3n models:

  1. Install Ollama

    # Windows/Mac: Download from https://ollama.com
    # Linux:
    curl -fsSL https://ollama.com/install.sh | sh
  2. Install Gemma 3 models

    # Recommended 4B model (balanced performance/quality)
    ollama pull gemma3
    
    # Alternative options:
    ollama pull gemma3:1b     # Faster, smaller (1.7GB)
    ollama pull gemma3:27b    # Highest quality (requires 16GB+ RAM)
  3. Restart the app - Ollama integration will be automatically detected

πŸ“‹ Usage Guide

Basic Workflow

  1. Upload Audio: Support for WAV, MP3, MP4, M4A, FLAC, OGG formats
  2. Choose AI Provider: Select your preferred privacy/quality balance
  3. Review Results: Automatically generated summaries, action items, and insights
  4. Export & Archive: Save to Markdown, search previous meetings

AI Provider Selection

  • OpenAI (Cloud): Requires API key, highest quality analysis
  • Local Gemma: Requires Ollama setup, complete privacy
  • Basic Analysis: No setup required, keyword-based extraction

Supported Audio Formats

  • WAV, MP3, MP4, M4A, FLAC, OGG
  • Automatic format conversion for optimal Whisper compatibility
  • Works with virtual meeting recordings (Zoom, Teams, etc.)

πŸ—οΈ Technical Architecture

Core Components

  • Frontend: Streamlit web application with responsive design
  • Audio Processing: PyDub for format conversion and metadata extraction
  • Transcription: faster-whisper for local speech-to-text
  • AI Analysis: Dual-mode system (OpenAI API + Ollama integration)
  • Storage: Local browser session with export capabilities

Technology Stack

  • Python 3.11+ - Core runtime
  • Streamlit - Web framework and UI
  • faster-whisper - Local speech recognition
  • OpenAI API - Cloud AI analysis (optional)
  • Ollama + Gemma 3n - Local AI analysis (optional)
  • PyTorch - ML framework with CPU/GPU optimization

Privacy by Design

  • Local-first processing: Audio transcription happens on your device.
  • Configurable AI providers: You choose your desired level of privacy.
  • Ephemeral by Default: Meeting data is held only in your browser's session memory and is discarded when you close the tab.
  • User-Controlled Persistence: You have full control over what data to save, via manual exports to Markdown or other formats.

🎯 Use Cases

πŸ‘” For Business Professionals

  • Meetings: Capture decisions, action items, and follow-ups
  • Interviews: Generate structured candidate assessments
  • Client Calls: Track requirements and commitments
  • Team Standups: Document progress and blockers

πŸš€ For Founders & Entrepreneurs

  • Investor Meetings: Capture feedback and next steps
  • Team Updates: Track project progress and decisions
  • Customer Discovery: Organize insights and pain points
  • Board Meetings: Generate structured reports and summaries

🏒 For Enterprise Teams

  • Compliance: Maintain meeting records with privacy controls
  • Knowledge Management: Build searchable meeting archives
  • Remote Work: Enhance async communication with meeting summaries
  • Training: Create documentation from recorded sessions

πŸ”§ Configuration

Environment Variables

# Optional: OpenAI API key for cloud analysis
OPENAI_API_KEY=your_openai_api_key

# Optional: Custom Ollama host (default: localhost:11434)
OLLAMA_HOST=localhost:11434

Streamlit Configuration

The app includes optimized settings in .streamlit/config.toml:

  • Headless mode for deployment
  • Proper host binding (0.0.0.0:5000)
  • Performance optimizations

πŸ› Troubleshooting

Common Issues

Whisper initialization fails:

  • The app automatically tries multiple device configurations
  • CPU mode with int8 compute type should work on any system
  • Check error messages in the console for specific issues

OpenAI API errors:

  • Verify your API key is correctly set in environment variables
  • Ensure you have sufficient API credits
  • Check your internet connection

Ollama not detected:

  • Make sure Ollama service is running (ollama serve)
  • Verify models are installed (ollama list)
  • Check if port 11434 is accessible

Audio upload issues:

  • Supported formats: WAV, MP3, MP4, M4A, FLAC, OGG
  • Maximum file size depends on available memory
  • Try converting audio to WAV format if issues persist

Performance Tips

  • CPU-only systems: Use Whisper's int8 mode (automatic)
  • GPU systems: CUDA acceleration (automatic detection)
  • Large files: Consider splitting into smaller segments
  • Memory usage: Close unused browser tabs during processing

🀝 Contributing

We welcome contributions! Areas where you can help:

  • πŸ› Bug fixes - Report issues and submit fixes
  • 🎨 UI/UX improvements - Enhance the user interface
  • πŸ”Œ Integrations - Add support for more AI models or export formats
  • πŸ“š Documentation - Improve setup guides and usage examples
  • πŸ§ͺ Testing - Test across different platforms and configurations

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ—ΊοΈ Roadmap

🎯 Near Term

  • Speaker diarization - Identify individual speakers
  • Real-time processing - Live meeting transcription
  • Mobile support - Responsive design improvements
  • API integrations - Notion, Confluence, Slack export

πŸš€ Future Vision

  • Native mobile apps - iOS and Android with local AI
  • Team collaboration - Shared meeting spaces
  • Advanced search - Semantic search across meeting history
  • Custom models - Fine-tuned models for specific domains
  • Workflow automation - Trigger actions based on meeting content

πŸ’¬ Support & Community

πŸ™ Acknowledgments

  • OpenAI - Whisper model and API services
  • Google - Gemma 3n models and research
  • Ollama - Local model serving platform
  • Streamlit - Web application framework
  • faster-whisper - Optimized Whisper implementation

Built with ❀️ for privacy-conscious professionals who want AI-powered meeting intelligence without compromising their data security.

About

Privacy-First AI Meeting Assistant - Local transcription and intelligent analysis with dual-mode AI processing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published