README.md
$npm run start:workspace_
🎯 Mission: To transform spoken conversations into actionable insights, making meetings more productive and accountability transparent.
⚠️ Problem: Meeting notes are often lost, incomplete, or poorly structured, leading to missed decisions and unfulfilled action items. This results in wasted time, reduced productivity, and lack of accountability.
👥 Target Audience: Professionals, project managers, team leads, and anyone involved in collaborative meetings who needs to track outcomes and actions.
📈 Impact Metrics: Expected: 30% reduction in follow-up time for action items, 95% accuracy in AI-generated summaries and action items, >99.9% uptime.
AI meeting assistant that turns spoken conversations into structured summaries, decisions, and action items.
Upload a meeting recording or paste a transcript — MeetSense transcribes it, extracts key decisions and action items with owners and deadlines, and gives you a clean dashboard to track follow-through.
MeetSense aims to revolutionize meeting productivity by providing an intelligent assistant that automates the extraction of crucial information from conversations. It transforms raw audio or text into structured summaries, clear decisions, and trackable action items, ensuring accountability and saving valuable time.
The system is built as a serverless application primarily hosted on Vercel, utilizing Supabase as a Backend-as-a-Service. Key components include:
Data flows from user uploads through API routes to external services (Groq, Gemini) and persists in Supabase Postgres. RLS ensures data privacy.
graph TD
User[User Interface] -->|Uploads Audio/Transcript| NextAPI{Next.js API Routes}
NextAPI -->|Stores File| SupabaseStorage[Supabase Storage]
SupabaseStorage -->|Initiates| GroqAPI[Groq API (Whisper)]
GroqAPI -->|Returns Transcript| NextAPI
NextAPI -->|Sends Text for Extraction| GeminiAPI[Google Gemini API]
GeminiAPI -->|Returns Structured Data| NextAPI
NextAPI -->|Saves Data| SupabaseDB[Supabase Postgres]
User -->|Fetches/Updates Data| NextAPI
NextAPI -->|Queries Data| SupabaseDB
SupabaseDB -->|Auth Checks| SupabaseAuth[Supabase Auth]
NextAPI -->|Auth Verification| SupabaseAuth
SupabaseDB -- RLS --> NextAPI
SupabaseDB -- Realtime --> User
NextAPI -->|Sends Notification| Resend[Resend Email]meetsense/
├── app/
│ ├── api/
│ │ ├── meetings/
│ │ │ ├── [id]/
│ │ │ │ └── route.ts
│ │ │ ├── upload-audio/
│ │ │ │ └── route.ts
│ │ │ └── route.ts
│ │ └── ...
│ ├── dashboard/
│ │ └── page.tsx
│ ├── meetings/
│ │ ├── [id]/
│ │ │ └── page.tsx
│ │ └── page.tsx
│ ├── layout.tsx
│ └── page.tsx
├── components/
│ ├── ui/
│ │ ├── Button.tsx
│ │ └── ...
│ ├── Dashboard
│ │ └── ...
│ └── Meetings
│ └── ...
├── lib/
│ ├── supabase.ts
│ ├── utils.ts
│ └── ai.ts
├── public/
├── styles/
├── types/
├── .env.local
├── next.config.js
├── package.json
├── README.md
├── tsconfig.json
└── supabase
└── schema.sql1. Clone the repository:
git clone https://github.com/<your-username>/meetsense.git
cd meetsense2. Install dependencies:
npm install3. Configure Environment Variables:
Create a .env.local file in the root directory and add your credentials:
GROQ_API_KEY=
GEMINI_API_KEY=
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=4. Database Setup:
Apply the database schema and RLS policies. You can run the SQL from /supabase/schema.sql in your Supabase SQL Editor.
5. Run the development server:
npm run dev6. Open the application:
Navigate to http://localhost:3000 in your browser.