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

> Unbelievably good meeting notes

- Site: https://circleback.ai
- Category: Productivity
- Platforms: Web app, macOS app, Windows app
- Verdict: **Serious undertaking** (42/100 vibecodeable)
- Estimated effort: 4-6 weeks of dedicated development and debugging

## Verdict

You can build a personal web-based audio upload clone, but capturing system audio natively across platforms is a severe engineering hurdle.

While a solo builder can easily spin up a Next.js dashboard that takes uploaded audio, transcribes it via Whisper, and structures notes with Claude, replicating Circleback's core magic requires building a local desktop app that hooks directly into system audio streams. Cross-platform native audio capture, speaker diarization, and managing real-time audio buffers without kernel panics or permission blocks will consume weeks of debugging.

### What you can't replicate

- The polished native desktop audio capture architecture across both macOS and Windows
- The massive ecosystem of 100+ native third-party bidirectional integrations

## What it does

AI-powered meeting assistant that records, transcribes, and synthesizes virtual and in-person conversations into structured notes, automatically extracts and features a conversational search engine.

### Core features

- Local system audio capture and microphone stream recording
- Speech-to-text transcription with speaker diarization
- LLM pipeline for structured meeting notes and action item extraction
- Cross-meeting conversational semantic search (RAG)
- Web dashboard for viewing and organizing past transcripts
- Third-party integrations and webhooks for auto-syncing notes

## The business

### Pricing

- Individual: $20.83/mo
- Team: $25/mo
- Enterprise: Custom

### Funding

$3M raised.
- Pre-Seed ($0.5M, Feb 2024)
- Seed ($2.5M, Nov 2024)
Investors: Y Combinator, Phosphor Capital

Founded 2023.
Team size: 2 to 10.

## The hard parts

- Capturing system audio reliably across macOS and Windows without crashing or triggering OS permission roadblocks
- Multi-speaker diarization and accurate timestamp alignment in long conversations
- Orchestrating multi-step LLM extraction to reliably output structured action items
- Maintaining bidirectional API sync states and webhooks across multiple external tools

## How to vibe code Circleback

### Prerequisites

- Node.js (free): Runtime environment for the Next.js web application and build tools.
- GitHub (free): Source code control and deployment pipeline integration.
- OpenAI Account (Pay-as-you-go (~$0.006/min)): Required for API access to Whisper for speech-to-text transcription.

### Recommended AI tools

- Claude Code: Agentic coding tool to scaffold the full-stack Next.js application, database schema, and LLM processing pipelines.
- Cursor: AI code editor for iterative UI design of the meeting dashboard and transcript viewer.

### Stack

- Frontend: Next.js
- Backend: Next.js API Routes / Server Actions
- Database: Turso
- Auth: better-auth
- Payments: None (Personal use)
- Other: Tailwind CSS, Electron, OpenAI API (Whisper), Anthropic API

### Hosting

- Vercel (Hosting the Next.js web dashboard and API endpoints): $0/mo (Hobby tier)
- Turso (Serverless SQLite database for storing transcripts, summaries, and action items): $0/mo (Free tier)

### Build guide

1. **Scaffold Next.js Dashboard and Database Schema** — Initialize the Next.js application with Tailwind CSS and configure Turso with better-auth for personal single-user authentication. Create database tables for meetings, transcripts, summaries, and action items.

```
Create a new Next.js project with TypeScript and Tailwind CSS. Configure better-auth with Turso as the database driver using SQLite syntax. Set up database migrations for a 'meetings' table (id, title, audio_url, created_at, duration), a 'transcripts' table (id, meeting_id, speaker, text, timestamp), a 'summaries' table (id, meeting_id, content), and an 'action_items' table (id, meeting_id, task, assignee, status). Build a clean, modern dark-mode dashboard UI inspired by professional productivity apps with a sidebar for navigation and a main content area.
```

2. **Build Audio Upload and Whisper Transcription Pipeline** — Implement an audio file upload mechanism in the web app and integrate the OpenAI Whisper API to process audio files, storing timestamps and raw transcripts into Turso.

```
Add an audio file upload component to the Next.js app supporting MP3, WAV, and M4A formats. Create a server-side action that receives the uploaded audio file, streams it to the OpenAI Whisper API with timestamp granularity enabled, and parses the returned JSON response containing speaker segments and text. Save these transcript chunks directly to the 'transcripts' table linked to a newly created meeting record. Handle large files by chunking if necessary or handling serverless timeout limits.
```

3. **Implement LLM Summarization and Action Item Extraction** — Create an automated background routine using the Anthropic API to analyze raw transcripts, synthesize structured meeting notes, and extract actionable items.

```
Write a server-side utility that triggers after a transcript is successfully saved. This utility should fetch all transcript lines for a meeting, construct a structured prompt for the Anthropic API (Claude 3.5 Sonnet), and ask it to output a JSON object containing: 1) an executive summary, 2) key discussion points, and 3) a list of extracted action items with suggested assignees. Store the resulting structured notes into the 'summaries' table and individual action items into the 'action_items' table. Display these cleanly formatted sections on the meeting detail page.
```

4. **Build Conversational Search (RAG) Across Meetings** — Implement a semantic search engine allowing users to query past meetings, leveraging text embeddings stored in Turso or vector extensions.

```
Implement a conversational search page where users can ask questions about any past meeting. When a meeting summary or transcript is created, generate text embeddings using an OpenAI embedding model and store them in a vector column or separate table in Turso. When a user submits a query, compute its embedding, perform a vector similarity search to retrieve relevant context chunks, and pass them along with the user query to the Anthropic API to generate a precise, cited answer summarizing past conversations.
```

5. **Develop Electron Companion App for Local Audio Capture** — Build a lightweight Electron wrapper or standalone script for desktop system audio capture to feed local recordings straight to the web application.

```
Create a minimal Electron desktop companion app with a system tray icon and a simple control window with 'Start Recording' and 'Stop Recording' buttons. Using desktopCapturer or native audio capture APIs, capture system audio and microphone streams locally into a single audio buffer. Once recording stops, encode the buffer into an MP3 file and automatically upload it via an authenticated API endpoint to the Next.js web application backend for processing.
```

### Cost vs paying

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

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

**Ongoing costs (monthly):**

- OpenAI Whisper API usage (estimated 10 hours of meetings/mo): ~$3.60/mo
- Anthropic API usage for summaries: ~$2.00/mo
- Total: ~$5.60/mo

- Paying for the SaaS instead: $20.83/mo
- Build time: 35-50 hours
- AI tool credits: $20 (Claude Pro)
- Break-even: 1 month of heavy use

## Sources

- [Circleback Official Website](https://circleback.ai)
- [Circleback Pricing](https://circleback.ai/pricing)
- [TechCrunch - YC-backed Circleback is out to become the best meeting notetaker](https://techcrunch.com/2024/11/26/yc-backed-circleback-is-out-to-become-the-best-meeting-notetaker)