Transform meeting transcripts into structured, actionable minutes with the power of AI
Features β’ Quick Start β’ Documentation β’ Contributing β’ License
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.
- β±οΈ 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
- π€ 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
- Input:
- π¨ 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
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)]
| 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 |
- Python 3.8 or higher
- Ollama installed and running
- Git
# 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# 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.jsonfrom 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")# Launch the web interface
streamlit run app.pyThen open your browser to http://localhost:8501 and upload your transcript!
- π Quickstart Guide - Get up and running in 5 minutes
- ποΈ Architecture Overview - Deep dive into system design
- π API Reference - Complete API documentation
- π¨ Customization Guide - Extend and customize MinutesAI
- π§ͺ Testing Guide - Running and writing tests
- π Troubleshooting - Common issues and solutions
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.
# 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 meetingWe welcome contributions from the community! Whether it's bug fixes, new features, or documentation improvements, your help is appreciated.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and commit:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Run linters
black .
flake8 .
mypy .- 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.
# Run all tests
pytest
# Run with coverage
pytest --cov=minutesai --cov-report=html
# Run specific test file
pytest tests/test_extractor.py- 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
- Language: Python 3.8+
- AI Framework: LangChain
- LLM Engine: Ollama
- Web Framework: Streamlit
- Testing: pytest, pytest-cov
- Code Quality: black, flake8, mypy, pre-commit
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License - Copyright (c) 2025 MinutesAI Contributors
- 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Pull Requests: GitHub PRs
Made with β€οΈ by the MinutesAI Team