MemoMatic is a streamlined meeting minutes generator that automatically transcribes audio recordings and generates formatted meeting minutes using AI. Built with FastAPI and Streamlit, it provides an intuitive interface for converting meeting recordings into professional, structured documents.
- 🎙️ Audio Transcription: Supports MP3 and WAV file formats
- 📝 AI-Powered Minutes Generation: Automatically structures content into clear, professional minutes
- 💾 Multiple Export Options: Download as DOCX files
- 🔄 Rate Limiting: Built-in usage management (3 cycles per day)
- 🎯 Structured Output: Generates organized minutes with:
- Meeting title
- Executive summary
- Key points
- Action items
- Decisions
- 🎨 Clean, Intuitive UI: User-friendly interface built with Streamlit
- Upload: User uploads an audio recording of their meeting
- Transcription: Audio is transcribed using Mesolitica's API
- Processing: AI analyzes the transcript and extracts key information
- Generation: Formatted minutes are generated with proper structure
- Download: User can review and download the minutes as a DOCX file
- User accesses the MemoMatic web interface
- Uploads meeting recording (MP3/WAV)
- Clicks "Transcribe Audio" to initiate processing
- Reviews the generated transcript
- Clicks "Generate Minutes" to create formatted minutes
- Downloads the final document in DOCX format
- Rate limiting middleware
- File caching system
- Audio transcription service
- Minutes generation service
- Document formatting service
- File upload handling
- Progress tracking
- Real-time status updates
- Document preview
- Download management
- Python 3.8+
- Virtual environment (recommended)
- Mesolitica API key
- Clone the repository:
git clone https://github.com/yourusername/memomatic.git
cd memomatic
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create
.env
file:
MESOLITICA_API_URL=https://api.mesolitica.com
MESOLITICA_API_KEY=your_api_key_here
- Start the backend server:
cd backend
uvicorn app.main:app --reload
- Start the frontend application (in a new terminal):
cd frontend
streamlit run app.py
The application will be available at http://localhost:8501
GET /v1/rate-limit-status
: Check current rate limit statusPOST /v1/start-cycle
: Start a new transcription cycle
POST /v1/upload_audio
: Upload audio filePOST /v1/transcribe/{filename}
: Transcribe uploaded audioPOST /v1/generate_minutes
: Generate minutes from transcript
- 3 transcription cycles per day
- Each cycle includes:
- One audio transcription
- One minutes generation
- One document download
- Usage resets every 24 hours
- Fork the repository
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Built using Mesolitica's MaLLaM API
- Frontend powered by Streamlit
- Backend powered by FastAPI
This is a prototype implementation and not intended for production use. For production deployments, additional security measures, error handling, and scalability considerations would need to be implemented.
MaLLaM is a multi-lingual model developed by Mesolitica which include main Malaysian language Malay, Mandarin, Tamil, English and other dialects. MaLLaM also support 128k context length, chat language model, function call and it is OpenAI compatible.
Made with ❤️ using MaLLaM API and Streamlit