# How to Vibe Code Your Own MinutesLink (and Stop Paying for It)

> AI Meeting Assistant for Zoom & Google Meet

- Site: https://minuteslink.com
- Category: Productivity
- Platforms: Web app, Browser extension
- Verdict: **Solid side project** (62/100 vibecodeable)
- Estimated effort: 2-4 weeks part-time

## Verdict

Build a personal subset with Next.js, Turso, and OpenAI Whisper, but keep paying if you expect headless bots to reliably bypass Zoom and Google Meet bot detection.

Building a personal meeting note-taker that processes uploaded audio files or browser-recorded chunks is a straightforward weekend build. However, replicating MinutesLink's core promise—having an automated bot silently join live Zoom and Google Meet calls via calendar webhooks—involves painful engineering around bot detection, headless browser stability, and WebRTC media streaming. If you scope the personal clone to audio file upload and manual recording via a lightweight Chrome extension, it's a solid side project. Trying to build the autonomous joining bot will drain weeks into fighting platform rate-limits and CAPTCHAs.

### What you can't replicate

- Proprietary meeting bot infrastructure that bypasses platform anti-bot protections
- Native enterprise CRM integrations and verified OAuth apps

## What it does

An AI-powered meeting assistant and note-taking SaaS designed to record, transcribe, summarize, and archive online video calls.

### Core features

- Calendar integration (Google Calendar sync)
- Automated meeting bots to join Zoom and Google Meet
- Chrome extension for direct browser audio recording
- Speech-to-text transcription with speaker diarization
- AI-generated summaries, key decisions, and action items extraction
- Searchable meeting archive and history
- Chat with meeting context (RAG over past transcripts)
- CRM integrations (HubSpot, Salesforce)

## The business

### Pricing

- Basic: $0 — Renews every month
- Pro: $9 / month — Billed annually
- Business: $24 / month — Billed annually

Founded 2024.
Team size: Micro-SaaS.

## The hard parts

- Bot infrastructure and concurrency: orchestrating headless browsers (Playwright/Puppeteer) or media bots that reliably join WebRTC calls without getting blocked or banned
- Audio capture pipeline: handling live audio streams from virtual meeting platforms, audio chunking, codec conversion, and feeding Whisper/Deepgram cleanly
- Speaker diarization: correctly attributing utterances to specific speakers across multiple callers in real time or post-processing
- Calendar webhook sync: maintaining live polling or webhook integrations with Google/Outlook calendars to deploy bots automatically at exact meeting start times

## How to vibe code MinutesLink

### Prerequisites

- Node.js (free): Required runtime for Next.js development and backend scripts.
- GitHub (free): Code repository and deployment source for Vercel.
- OpenAI API Account (pay-as-you-go): Provides Whisper for speech-to-text transcription and GPT-4o for meeting summarization.

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for scaffolding the Next.js app, API routes, and database schema end-to-end.
- Cursor: Ideal for fine-tuning React components, audio recording hooks, and UI dashboards with visual diffs.

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui
- Backend: Next.js App Router API Routes
- Database: Turso (libSQL)
- Auth: better-auth
- Payments: None (personal clone)
- Other: OpenAI API (Whisper STT & GPT summaries), Vercel AI SDK

### Hosting

- Vercel (Hosting the Next.js frontend and serverless API functions.): $0/mo (Hobby Tier)
- Turso (Serverless SQLite database for storing transcripts, notes, and user records.): $0/mo (Free Tier)

### Build guide

1. **Project Scaffolding and Database Schema** — Initialize the Next.js application, configure Tailwind CSS and shadcn/ui, and set up the Turso database schema for users, meetings, transcripts, and action items.

```
Create a new Next.js 16 project using TypeScript and App Router. Install Tailwind CSS and set up Turso (libSQL) using Drizzle ORM. Write the database schema for users, meetings (id, title, date, duration, status), transcripts (meeting_id, speaker, text, timestamp), and action_items (meeting_id, task, assignee, completed). Configure environment variables for Turso connection string and ensure clean modular directory structures.
```

2. **Authentication with better-auth** — Implement local email/password and Google OAuth authentication using better-auth integrated with the Turso database.

```
Set up better-auth in the Next.js app connected to the Turso database. Configure email/password authentication and Google OAuth provider. Create login and registration pages with shadcn/ui components, protect dashboard routes with middleware, and verify user sessions correctly on server components.
```

3. **Dashboard and Meeting Archive UI** — Build the main user dashboard to display past meetings, searchable transcripts, structured summaries, and extracted action items.

```
Build a responsive dashboard layout with a sidebar navigation and main content area. Create a meeting list view with search and filter capabilities. Implement a detailed meeting view page displaying collapsible speaker-labeled transcripts, a structured AI summary card with bullet points, and an interactive checklist for action items where users can check off tasks.
```

4. **Audio Upload and OpenAI Whisper Pipeline** — Implement audio file upload handling and integrate OpenAI Whisper API to transcribe meeting recordings into speaker-labeled text.

```
Implement an audio upload endpoint supporting MP3, WAV, and M4A files up to 100MB. Write a background processing job using the OpenAI Whisper API to transcribe the audio file. Ensure timestamps and segment data are captured and stored cleanly in the Turso database associated with the meeting record.
```

5. **AI Summarization and Action Item Extraction** — Use the Vercel AI SDK and OpenAI to parse raw transcripts into structured meeting notes, key decisions, and actionable task items.

```
Write an AI processing service using the Vercel AI SDK and GPT-4o. When a transcript is finalized, send the text to the LLM with a structured prompt instructing it to output a JSON object containing: an executive summary, key discussion topics, decisions made, and a list of action items with assignees. Save the parsed results directly to the meeting and action_items tables.
```

6. **RAG Chat with Past Meetings** — Add a conversational 'Chat with Meetings' feature allowing users to query past transcripts and retrieve contextual answers.

```
Create a chat interface component on the meeting detail page. Implement a backend API route using Vercel AI SDK's streamText that performs semantic search over the meeting's transcript segments stored in Turso, passes relevant context to OpenAI, and streams conversational answers back to the user interface.
```

### Cost vs paying

**Starting costs (one-time):**

- Domain name (optional): $12 one-time
- Total: ~$12 one-time

**Ongoing costs (monthly):**

- OpenAI Whisper & GPT API usage (personal volume): ~$3-5/mo
- Total: ~$4/mo

- Paying for the SaaS instead: $9/mo (Pro plan)
- Build time: 25-35 hours
- AI tool credits: $20 (Claude Code / Cursor Pro)
- Break-even: Never (built for personal learning)

## Sources

- [MinutesLink Official Website](https://minuteslink.com)
- [MinutesLink Pricing & Plans](https://minuteslink.com)