<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Local Processing on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/local-processing/</link>
        <description>Recent content in Local Processing on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 17 Apr 2025 15:30:04 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/local-processing/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>meeting-minutes</title>
        <link>https://producthunt.programnotes.cn/en/p/meeting-minutes/</link>
        <pubDate>Thu, 17 Apr 2025 15:30:04 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/meeting-minutes/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1670144415812-f8dca862e8bc?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NDQ4NzQ5MzB8&amp;ixlib=rb-4.0.3" alt="Featured image of post meeting-minutes" /&gt;&lt;h1 id=&#34;zackriya-solutionsmeeting-minutes&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zackriya-Solutions/meeting-minutes&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34; style=&#34;border-bottom: none&#34;&gt;
    &lt;h1&gt;
        &lt;img src=&#34;docs/6.png&#34; width=&#34;400&#34; style=&#34;border-radius: 10px;&#34; /&gt;
        &lt;br&gt;
        Meetily - AI-Powered Meeting Assistant
    &lt;/h1&gt;
    &lt;br&gt;
    &lt;a href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.3&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Pre_Release-v0.0.3-brightgreen&#34; alt=&#34;Pre-Release&#34;&gt;&lt;/a&gt;
    &lt;a href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.3&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Stars-1000+-red&#34; alt=&#34;Stars&#34;&gt;&lt;/a&gt;
    &lt;a href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.3&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/License-MIT-blue&#34; alt=&#34;License&#34;&gt;&lt;/a&gt;
    &lt;a href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.3&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Supported_OS-macOS,_Windows-yellow&#34; alt=&#34;Supported OS&#34;&gt;&lt;/a&gt;
    &lt;br&gt;
    &lt;h3&gt;
    &lt;br&gt;
    Open source Ai Assistant for taking meeting notes
    &lt;/h3&gt;
    &lt;p align=&#34;center&#34;&gt;
    &lt;a href=&#34;https://meetily.zackriya.com&#34;&gt;&lt;b&gt;Website&lt;/b&gt;&lt;/a&gt; •
    &lt;a href=&#34;https://in.linkedin.com/company/zackriya-solutions&#34;&gt;&lt;b&gt;Author&lt;/b&gt;&lt;/a&gt;
    •
    &lt;a href=&#34;https://discord.gg/crRymMQBFH&#34;&gt;&lt;b&gt;Discord Channel&lt;/b&gt;&lt;/a&gt;
&lt;/p&gt;
    &lt;p align=&#34;center&#34;&gt;
&lt;p&gt;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 without the need for external servers or complex infrastructure.&lt;/p&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
    &lt;img src=&#34;docs/demo_small.gif&#34; width=&#34;650&#34; alt=&#34;Meetily Demo&#34; /&gt;
    &lt;br&gt;
    &lt;a href=&#34;https://youtu.be/5k_Q5Wlahuk&#34;&gt;View full Demo Video&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id=&#34;overview&#34;&gt;Overview
&lt;/h2&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id=&#34;why&#34;&gt;Why?
&lt;/h3&gt;&lt;p&gt;While there are many meeting transcription tools available, this solution stands out by offering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Privacy First&lt;/strong&gt;: All processing happens locally on your device&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cost Effective&lt;/strong&gt;: Uses open-source AI models instead of expensive APIs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexible&lt;/strong&gt;: Works offline, supports multiple meeting platforms&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customizable&lt;/strong&gt;: Self-host and modify for your specific needs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Intelligent&lt;/strong&gt;: Built-in knowledge graph for semantic search across meetings&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;features&#34;&gt;Features
&lt;/h2&gt;&lt;p&gt;✅ Modern, responsive UI with real-time updates&lt;/p&gt;
&lt;p&gt;✅ Real-time audio capture (microphone + system audio)&lt;/p&gt;
&lt;p&gt;✅ Live transcription using Whisper.cpp&lt;/p&gt;
&lt;p&gt;🚧 Speaker diarization&lt;/p&gt;
&lt;p&gt;✅ Local processing for privacy&lt;/p&gt;
&lt;p&gt;✅ Packaged the app for macOS and Windows&lt;/p&gt;
&lt;p&gt;🚧 Export to Markdown/PDF&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: We have a Rust-based implementation that explores better performance and native integration. It currently implements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ Real-time audio capture from both microphone and system audio&lt;/li&gt;
&lt;li&gt;✅ Live transcription using locally-running Whisper&lt;/li&gt;
&lt;li&gt;✅ Speaker diarization&lt;/li&gt;
&lt;li&gt;✅ Rich text editor for notes&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;We are currently working on:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;✅ Export to Markdown/PDF&lt;/li&gt;
&lt;li&gt;✅ Export to HTML&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;release-003&#34;&gt;Release 0.0.3
&lt;/h2&gt;&lt;p&gt;A new release is available!&lt;/p&gt;
&lt;p&gt;Please check out the release &lt;a class=&#34;link&#34; href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases/tag/v0.0.3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;whats-new&#34;&gt;What&amp;rsquo;s New
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Windows Support&lt;/strong&gt;: Fixed audio capture issues on Windows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved Error Handling&lt;/strong&gt;: Better error handling and logging for audio devices&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhanced Device Detection&lt;/strong&gt;: More robust audio device detection across platforms&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows Installers&lt;/strong&gt;: Added both .exe and .msi installers for Windows&lt;/li&gt;
&lt;li&gt;Transcription quality is improved&lt;/li&gt;
&lt;li&gt;Bug fixes and improvements for frontend&lt;/li&gt;
&lt;li&gt;Better backend app build process&lt;/li&gt;
&lt;li&gt;Improved documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;what-would-be-next&#34;&gt;What would be next?
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Database connection to save meeting minutes&lt;/li&gt;
&lt;li&gt;Improve summarization quality for smaller LLM models&lt;/li&gt;
&lt;li&gt;Add download options for meeting transcriptions&lt;/li&gt;
&lt;li&gt;Add download option for summary&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;known-issues&#34;&gt;Known issues
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Smaller LLMs can hallucinate, making summarization quality poor; Please use model above 32B parameter size&lt;/li&gt;
&lt;li&gt;Backend build process requires CMake, C++ compiler, etc. Making it harder to build&lt;/li&gt;
&lt;li&gt;Backend build process requires Python 3.10 or newer&lt;/li&gt;
&lt;li&gt;Frontend build process requires Node.js&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;llm-integration&#34;&gt;LLM Integration
&lt;/h2&gt;&lt;p&gt;The backend supports multiple LLM providers through a unified interface. Current implementations include:&lt;/p&gt;
&lt;h3 id=&#34;supported-providers&#34;&gt;Supported Providers
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Anthropic&lt;/strong&gt; (Claude models)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Groq&lt;/strong&gt; (Llama3.2 90 B)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ollama&lt;/strong&gt; (Local models that supports function calling)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configuration&#34;&gt;Configuration
&lt;/h3&gt;&lt;p&gt;Create &lt;code&gt;.env&lt;/code&gt; file with your API keys:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Required for Anthropic&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key_here  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Required for Groq &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GROQ_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key_here
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;system-architecture&#34;&gt;System Architecture
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/HighLevel.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;High Level Architecture&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;core-components&#34;&gt;Core Components
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Audio Capture Service&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Real-time microphone/system audio capture&lt;/li&gt;
&lt;li&gt;Audio preprocessing pipeline&lt;/li&gt;
&lt;li&gt;Built with Rust (experimental) and Python&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Transcription Engine&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Whisper.cpp for local transcription&lt;/li&gt;
&lt;li&gt;Supports multiple model sizes (tiny-&amp;gt;large)&lt;/li&gt;
&lt;li&gt;GPU-accelerated processing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LLM Orchestrator&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unified interface for multiple providers&lt;/li&gt;
&lt;li&gt;Automatic fallback handling&lt;/li&gt;
&lt;li&gt;Chunk processing with overlap&lt;/li&gt;
&lt;li&gt;Model configuration:&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Services&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ChromaDB&lt;/strong&gt;: Vector store for transcript embeddings&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQLite&lt;/strong&gt;: Process tracking and metadata storage&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API Layer&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FastAPI endpoints:
&lt;ul&gt;
&lt;li&gt;POST /upload&lt;/li&gt;
&lt;li&gt;POST /process&lt;/li&gt;
&lt;li&gt;GET /summary/{id}&lt;/li&gt;
&lt;li&gt;DELETE /summary/{id}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;deployment-architecture&#34;&gt;Deployment Architecture
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: Tauri app + Next.js (packaged executables)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Python FastAPI:
&lt;ul&gt;
&lt;li&gt;Transcript workers&lt;/li&gt;
&lt;li&gt;LLM inference&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Node.js 18+&lt;/li&gt;
&lt;li&gt;Python 3.10+&lt;/li&gt;
&lt;li&gt;FFmpeg&lt;/li&gt;
&lt;li&gt;Rust 1.65+ (for experimental features)&lt;/li&gt;
&lt;li&gt;Cmake 3.22+ (for building the frontend)&lt;/li&gt;
&lt;li&gt;For Windows: Visual Studio Build Tools with C++ development workload&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;setup-instructions&#34;&gt;Setup Instructions
&lt;/h2&gt;&lt;h3 id=&#34;1-frontend-setup&#34;&gt;1. Frontend Setup
&lt;/h3&gt;&lt;h4 id=&#34;run-packaged-version&#34;&gt;Run packaged version
&lt;/h4&gt;&lt;p&gt;Go to the &lt;a class=&#34;link&#34; href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;releases page&lt;/a&gt; and download the latest version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For Windows:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download either the &lt;code&gt;.exe&lt;/code&gt; installer or &lt;code&gt;.msi&lt;/code&gt; package&lt;/li&gt;
&lt;li&gt;Once the installer is downloaded, double-click the executable file to run it&lt;/li&gt;
&lt;li&gt;Windows will ask if you want to run untrusted apps, click &amp;ldquo;More info&amp;rdquo; and choose &amp;ldquo;Run anyway&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Follow the installation wizard to complete the setup&lt;/li&gt;
&lt;li&gt;The application will be installed and available on your desktop&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For macOS:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the &lt;code&gt;dmg_darwin_arch64.zip&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Extract the file&lt;/li&gt;
&lt;li&gt;Double-click the &lt;code&gt;.dmg&lt;/code&gt; file inside the extracted folder&lt;/li&gt;
&lt;li&gt;Drag the application to your Applications folder&lt;/li&gt;
&lt;li&gt;Execute the following command in terminal to remove the quarantine attribute:
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xattr -c /Applications/meeting-minutes-frontend.app
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Provide necessary permissions for audio capture and microphone access.&lt;/p&gt;
&lt;h4 id=&#34;dev-run&#34;&gt;Dev run
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Navigate to frontend directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; frontend
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Give execute permissions to clean_build.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x clean_build.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# run clean_build.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./clean_build.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;2-backend-setup&#34;&gt;2. Backend Setup
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone the repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/Zackriya-Solutions/meeting-minutes.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; meeting-minutes/backend
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Create and activate virtual environment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On macOS/Linux:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python -m venv venv
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; venv/bin/activate
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On Windows:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python -m venv venv
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.&lt;span class=&#34;se&#34;&gt;\v&lt;/span&gt;env&lt;span class=&#34;se&#34;&gt;\S&lt;/span&gt;cripts&lt;span class=&#34;se&#34;&gt;\a&lt;/span&gt;ctivate
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install -r requirements.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add environment file with API keys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On macOS/Linux:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; -e &lt;span class=&#34;s2&#34;&gt;&amp;#34;ANTHROPIC_API_KEY=your_api_key\nGROQ_API_KEY=your_api_key&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; tee .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On Windows (PowerShell):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ANTHROPIC_API_KEY=your_api_key`nGROQ_API_KEY=your_api_key&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Out-File -FilePath .env -Encoding utf8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Configure environment variables for Groq&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On macOS/Linux:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GROQ_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_groq_api_key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On Windows (PowerShell):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env&lt;/span&gt;:GROQ_API_KEY&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your_groq_api_key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Build dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On macOS/Linux:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x build_whisper.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./build_whisper.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On Windows:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.&lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;uild_whisper.bat
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Start backend servers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On macOS/Linux:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./clean_start_backend.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# On Windows:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.&lt;span class=&#34;se&#34;&gt;\s&lt;/span&gt;tart_with_output.ps1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;development-guidelines&#34;&gt;Development Guidelines
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Follow the established project structure&lt;/li&gt;
&lt;li&gt;Write tests for new features&lt;/li&gt;
&lt;li&gt;Document API changes&lt;/li&gt;
&lt;li&gt;Use type hints in Python code&lt;/li&gt;
&lt;li&gt;Follow ESLint configuration for JavaScript/TypeScript&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Fork the repository&lt;/li&gt;
&lt;li&gt;Create a feature branch&lt;/li&gt;
&lt;li&gt;Submit a pull request&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;MIT License - Feel free to use this project for your own purposes.&lt;/p&gt;
&lt;h2 id=&#34;introducing-subscription&#34;&gt;Introducing Subscription
&lt;/h2&gt;&lt;p&gt;We are planning to add a subscription option so that you don&amp;rsquo;t have to run the backend on your own server. This will help you scale better and run the service 24/7. This is based on a few requests we received. If you are interested, please fill out the form &lt;a class=&#34;link&#34; href=&#34;http://zackriya.com/aimeeting/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Last updated: March 3, 2025&lt;/p&gt;
&lt;h2 id=&#34;star-history&#34;&gt;Star History
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://star-history.com/#Zackriya-Solutions/meeting-minutes&amp;amp;Date&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://api.star-history.com/svg?repos=Zackriya-Solutions/meeting-minutes&amp;amp;type=Date&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Star History Chart&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
