Skip to content

Commit 5ec04c2

Browse files
Merge pull request #6 from Zackriya-Solutions/devtest
Devtest
2 parents da146c6 + ab979d1 commit 5ec04c2

78 files changed

Lines changed: 21498 additions & 3798 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
/experiment
4+
5+
# dependencies
6+
/node_modules
7+
**/models
8+
/.pnp
9+
.pnp.*
10+
.yarn/*
11+
!.yarn/patches
12+
!.yarn/plugins
13+
!.yarn/releases
14+
!.yarn/versions
15+
*.mp4
16+
17+
# testing
18+
/coverage
19+
/dist
20+
21+
# next.js
22+
/.next/
23+
/out/
24+
25+
# production
26+
/build
27+
28+
# misc
29+
.DS_Store
30+
*.pem
31+
32+
# debug
33+
npm-debug.log*
34+
yarn-debug.log*
35+
yarn-error.log*
36+
.pnpm-debug.log*
37+
38+
# env files (can opt-in for committing if needed)
39+
.env*
40+
41+
# vercel
42+
.vercel
43+
44+
# typescript
45+
*.tsbuildinfo
46+
next-env.d.ts

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 louis030195
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 93 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
# Meeting Minutes - AI-Powered Meeting Assistant
22

3+
## Release 0.0.1
4+
5+
A new release is available!
6+
7+
Please check out the release [here](https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.1).
8+
9+
## Overview
10+
311
An AI-powered meeting assistant that captures live meeting audio, transcribes it in real-time, and generates summaries while ensuring user privacy. Perfect for teams who want to focus on discussions while automatically capturing and organizing meeting content.
412

5-
## Why?
13+
### Why?
614

715
While there are many meeting transcription tools available, this solution stands out by offering:
816
- **Privacy First**: All processing happens locally on your device
@@ -11,82 +19,116 @@ While there are many meeting transcription tools available, this solution stands
1119
- **Customizable**: Self-host and modify for your specific needs
1220
- **Intelligent**: Built-in knowledge graph for semantic search across meetings
1321

22+
> **Note**: We have an experimental Rust-based implementation that explores better performance and native integration. It currently implements:
23+
> - ✅ Real-time audio capture from both microphone and system audio
24+
> - ✅ Live transcription using locally-running Whisper
25+
> - ✅ Speaker diarization
26+
> - ✅ Rich text editor for notes
27+
>
28+
> See [Rust Implementation](experiment/rust_based_implementation) for details.
29+
30+
1431
## Features
1532

1633
✅ Modern, responsive UI with real-time updates
34+
✅ Real-time audio capture (microphone + system audio)
35+
✅ Live transcription using Whisper.cpp
36+
✅ Speaker diarization
37+
✅ Local processing for privacy
38+
✅ Packaged the app for Mac Os
39+
🚧 Export to Markdown/PDF
1740

18-
✅ Export to Markdown/PDF
41+
## LLM Integration
1942

20-
🚧 Real-time audio capture using SoundDevice
43+
The backend supports multiple LLM providers through a unified interface. Current implementations include:
2144

22-
🚧 Real-time audio visualization
45+
### Supported Providers
46+
- **Anthropic** (Claude models)
47+
- **Groq** (Llama3.2 90 B, Deepseek)
48+
- **Ollama** (Local models)
2349

24-
🚧 Automatic meeting detection (Zoom, Google Meet, Teams)
50+
### Configuration
51+
Create `.env` file with your API keys:
52+
```env
53+
# Required for Anthropic
54+
ANTHROPIC_API_KEY=your_key_here
2555
26-
🚧 Live audio transcription using OpenAI's Whisper
56+
# Required for Groq
57+
GROQ_API_KEY=your_key_here
2758
28-
🚧 Real-time display of transcription
59+
```
2960

30-
🚧 Post-meeting summarization
61+
## System Architecture
3162

32-
🚧 Local processing for privacy
63+
![High Level Architecture](docs/HighLevel.jpg)
3364

34-
## System Architecture
65+
### Core Components
3566

36-
The application is built with a modern stack focusing on performance and user privacy. For detailed architecture documentation and diagrams, see [Architecture Documentation](docs/architecture.md).
67+
1. **Audio Capture Service**
68+
- Real-time microphone/system audio capture
69+
- Audio preprocessing pipeline
70+
- Built with Rust (experimental) and Python
3771

38-
![High Level Architecture](docs/Diagram-High%20level%20architecture%20diagram.jpg)
72+
2. **Transcription Engine**
73+
- Whisper.cpp for local transcription
74+
- Supports multiple model sizes (tiny->large)
75+
- GPU-accelerated processing
3976

40-
Key Components:
77+
3. **LLM Orchestrator**
78+
- Unified interface for multiple providers
79+
- Automatic fallback handling
80+
- Chunk processing with overlap
81+
- Model configuration:
4182

42-
- **Frontend** (Electron JS + Next JS)
43-
- User interface and real-time updates
44-
- Cross-platform desktop application
45-
- WebSocket communication
83+
4. **Data Services**
84+
- **ChromaDB**: Vector store for transcript embeddings
85+
- **SQLite**: Process tracking and metadata storage
4686

47-
- **Backend** (FastAPI)
48-
- Audio processing pipeline
49-
- AI integration and coordination
50-
- Database operations
51-
52-
- **AI Engine** (Whisper + Qwen/Llama 3.2)
53-
- Real-time transcription
54-
- Meeting summarization
55-
- Natural language processing
87+
5. **API Layer**
88+
- FastAPI endpoints:
89+
- POST /upload
90+
- POST /process
91+
- GET /summary/{id}
92+
- DELETE /summary/{id}
5693

57-
- **Storage**
58-
- Local SQLite database for secure data storage
59-
- Knowledge Graph/VectorDB for semantic search
94+
### Deployment Architecture
6095

61-
- **Integration**
62-
- Virtual Audio Driver for system-level audio capture
63-
- Ollama with Agentic Tools for extended AI capabilities
96+
- **Frontend**: Tauri app + Next.js (packaged executables)
97+
- **Backend**: Python FastAPI:
98+
- Transcript workers
99+
- LLM inference
64100

65101
## Prerequisites
66102

67-
- Node.js >= 18
68-
- Python >= 3.9
69-
- Virtual audio driver:
70-
- macOS: BlackHole (recommended)
71-
- Windows: Virtual Audio Cable
72-
- Linux: PulseAudio
103+
- Node.js 18+
104+
- Python 3.10+
105+
- FFmpeg
106+
- Rust 1.65+ (for experimental features)
73107

74108
## Setup Instructions
75109

76110
### 1. Frontend Setup
77111

112+
#### Run packaged version
113+
114+
Go to the [releases page](https://github.com/Zackriya-Solutions/meeting-minutes/releases) and download the latest version.
115+
116+
Unzip the file and run the executable.
117+
118+
Provide necessary permissions for audio capture and microphone access (Only screen capture permission is required).
119+
120+
#### Dev run
121+
78122
```bash
123+
79124
# Navigate to frontend directory
80125
cd frontend
81126

82-
# Install dependencies
83-
npm install
84-
85-
# Start development server (Terminal 1)
86-
npm run dev
127+
# Give execute permissions to clean_build.sh
128+
chmod +x clean_build.sh
87129

88-
# Start Electron app (Terminal 2)
89-
npm start
130+
# run clean_build.sh
131+
./clean_build.sh
90132
```
91133

92134
### 2. Backend Setup
@@ -102,17 +144,10 @@ cd backend
102144
# Install dependencies
103145
pip install -r requirements.txt
104146

105-
# Start backend server
106-
cd app
107-
uvicorn main:app --reload
147+
# Start backend servers
148+
./clean_start_backend.sh
108149
```
109150

110-
### 3. Audio Setup
111-
112-
1. Install the virtual audio driver for your OS
113-
2. Configure system audio to route through the virtual device
114-
3. Verify audio routing in the application settings
115-
116151
## Development Guidelines
117152

118153
- Follow the established project structure
@@ -132,3 +167,7 @@ uvicorn main:app --reload
132167
MIT License - Feel free to use this project for your own purposes.
133168

134169
Last updated: December 26, 2024
170+
171+
## Star History
172+
173+
[![Star History Chart](https://api.star-history.com/svg?repos=Zackriya-Solutions/meeting-minutes&type=Date)](https://star-history.com/#Zackriya-Solutions/meeting-minutes&Date)

0 commit comments

Comments
 (0)