Skip to content

dhanvina/MinutesAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸŽ™οΈ MinutesAI

AI-Powered Meeting Minutes Generator

Transform meeting transcripts into structured, actionable minutes with the power of AI

Python Version License: MIT Code style: black PRs Welcome Tests Documentation

Features β€’ Quick Start β€’ Documentation β€’ Contributing β€’ License


🌟 Overview

MinutesAI is an intelligent meeting minutes generator that automatically transforms raw meeting transcripts into structured, professional documentation. Built with modern AI frameworks (LangChain and Ollama), MinutesAI eliminates the tedious task of manual note-taking and ensures consistent, comprehensive meeting records.

Designed with Object-Oriented Programming principles, MinutesAI offers maintainability, scalability, and ease of collaborationβ€”perfect for teams of all sizes.

πŸ’‘ Why MinutesAI?

  • ⏱️ Save Hours: Automate what used to take 30+ minutes per meeting
  • πŸ“Š Consistent Quality: Standardized output format every time
  • 🎯 Action-Oriented: Automatically extract action items and decisions
  • πŸ”§ Developer-Friendly: Clean OOP design with comprehensive testing
  • πŸš€ Production-Ready: CLI and Streamlit interfaces included

✨ Features

Core Capabilities

  • πŸ€– AI-Powered Extraction: Leverages LangChain and Ollama for intelligent content analysis
  • πŸ“ Structured Output: Generates standardized sections including:
    • Meeting Title & Metadata
    • Date, Time & Attendees
    • Agenda Items
    • Key Discussion Points
    • Action Items with Assignees
    • Decisions Made
    • Next Steps
  • πŸ“ Multi-Format Support:
    • Input: .txt, .doc, .mp3 (audio transcription)
    • Output: .pdf, .json, .html
  • 🎨 Flexible Interfaces:
    • Command-line interface (CLI)
    • Web interface (Streamlit)
  • 🧩 Extensible Architecture: Modular OOP design for easy customization
  • βœ… Comprehensive Testing: Full test suite with pre-commit hooks

πŸ—οΈ Architecture

graph LR
    A[πŸ“„ Transcript Input] --> B[TranscriptLoader]
    B --> C[MinutesAIExtractor]
    C --> D[MinutesAIFormatter]
    D --> E[πŸ“‹ Structured Output]
    
    B -.-> F[(Preprocessing)]
    C -.-> G[(LangChain + Ollama)]
    D -.-> H[(Format Conversion)]
Loading

πŸ”§ Core Components

Component Responsibility
TranscriptLoader Loads and preprocesses meeting transcripts from various formats
MinutesAIExtractor Uses LangChain and Ollama to extract structured meeting data via intelligent prompting
MinutesAIFormatter Formats extracted data into multiple output formats (text, JSON, HTML, PDF)
MinutesAIApp Orchestrates the end-to-end workflow and provides user interfaces

πŸš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • Ollama installed and running
  • Git

Installation

# Clone the repository
git clone https://github.com/dhanvina/mom.git
cd mom

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Install Ollama model (if not already installed)
ollama pull llama2

Basic Usage

CLI Interface

# Generate minutes from a transcript file
python main.py --input meeting_transcript.txt --output minutes.pdf

# Specify custom model
python main.py --input transcript.txt --model llama2 --output minutes.json

Python API

from minutesai import MinutesAIApp, TranscriptLoader, MinutesAIExtractor

# Initialize the application
app = MinutesAIApp()

# Load transcript
transcript = app.load_transcript("meeting_transcript.txt")

# Extract and format minutes
minutes = app.generate_minutes(transcript, output_format="pdf")

# Save output
app.save_minutes(minutes, "meeting_minutes.pdf")

Streamlit Web Interface

# Launch the web interface
streamlit run app.py

Then open your browser to http://localhost:8501 and upload your transcript!


πŸ“– Documentation


πŸ” Example Output

Input Transcript

John: Hey everyone, thanks for joining. Today we need to discuss the Q4 roadmap.
Sarah: I think we should prioritize the mobile app redesign.
John: Agreed. Mike, can you lead that initiative?
Mike: Sure, I'll draft the requirements by Friday.

Generated Minutes

# Q4 Planning Meeting

**Date:** October 28, 2025, 3:00 PM  
**Attendees:** John, Sarah, Mike

## Agenda
- Q4 Roadmap Discussion

## Key Discussion Points
- Mobile app redesign identified as top priority for Q4
- Team consensus on moving forward with the redesign

## Decisions Made
- βœ… Prioritize mobile app redesign in Q4 roadmap

## Action Items
- [ ] Mike: Draft requirements for mobile app redesign (Due: Friday)

## Next Steps
- Review requirements document in next meeting

🀝 Contributing

We welcome contributions from the community! Whether it's bug fixes, new features, or documentation improvements, your help is appreciated.

How to Contribute

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and commit: git commit -m 'Add amazing feature'
  4. Push to your branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Setup

# Install development dependencies
pip install -r requirements-dev.txt

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

# Run linters
black .
flake8 .
mypy .

Guidelines

  • Follow PEP 8 style guide
  • Write tests for new features
  • Update documentation as needed
  • Keep commits atomic and well-described

See CONTRIBUTING.md for detailed guidelines and our Code of Conduct.


πŸ§ͺ Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=minutesai --cov-report=html

# Run specific test file
pytest tests/test_extractor.py

πŸ—ΊοΈ Roadmap

  • Core transcript processing engine
  • CLI interface
  • Streamlit web interface
  • PDF output support
  • Real-time audio transcription integration
  • Multi-language support
  • Calendar integration (Google Calendar, Outlook)
  • Slack/Teams bot integration
  • Template customization UI
  • Cloud deployment options

πŸ“Š Tech Stack

  • Language: Python 3.8+
  • AI Framework: LangChain
  • LLM Engine: Ollama
  • Web Framework: Streamlit
  • Testing: pytest, pytest-cov
  • Code Quality: black, flake8, mypy, pre-commit

πŸ“„ License

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

MIT License - Copyright (c) 2025 MinutesAI Contributors

πŸ™ Acknowledgments

  • Built with LangChain - The AI framework for building LLM applications
  • Powered by Ollama - Run large language models locally
  • Inspired by the need for efficient meeting documentation

πŸ“¬ Contact & Support


⭐ Star us on GitHub β€” it motivates us a lot!

GitHub stars GitHub forks GitHub watchers

Made with ❀️ by the MinutesAI Team

⬆ back to top

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors