Skip to content

video-db/call.md

Repository files navigation

Electron Node React TypeScript License Stargazers Issues Website


Call.md Logo

Call.md

Turn meetings into live agent loops. Record, transcribe, and analyze meetings with real-time AI intelligence — before, during, and after calls.
Explore the docs »

View Demo · Install · Report Bug


Demo

call.md.mp4

Quick Install

macOS (Apple Silicon & Intel):

curl -fsSL https://artifacts.videodb.io/call.md/install | bash

Currently available for macOS — Windows and Linux support coming soon

After installation:

  1. Launch Call.md from Applications or Spotlight
  2. Grant system permissions when prompted (Microphone and Screen Recording required)
  3. Register with your VideoDB API key (get one free)

Overview

Call.md turns meetings into live agent loops. It records locally, transcribes in real-time (you vs them), and provides live intelligence during calls. When the meeting ends, it generates summaries with action items and can send data to your workflow automation platforms.

Features

During the Meeting (Live Intelligence)

  • Dual-Channel Transcription - Separate transcription for you (mic) vs them (system audio), powered by VideoDB
  • Live Assist - AI generates contextual suggestions: things to say, questions to ask
  • Conversation Metrics - Real-time monitoring of talk ratio, speaking pace (WPM), questions asked, monologue detection
  • Coaching Nudges - Gentle rate-limited alerts when conversation needs steering
  • MCP Auto-Triggering - Detects information needs from conversation and calls your MCP tools automatically
  • MCP Results Panel - Inline display of tool outputs (markdown, links, structured data) during meetings
  • Bookmarking - Mark important moments for easy reference later

Post-Meeting Intelligence

  • AI-Generated Summaries - Three parallel extractions:
    • Short overview (narrative summary)
    • Key points by topic (attributed to participants)
    • Action items (concrete next steps)
  • Structured Export - Markdown export with full transcript, summary, and metrics
  • Workflow Webhooks - Auto-send meeting data to n8n, Zapier, or CRMs when meeting ends

Meeting Preparation

  • Meeting Setup Wizard - AI-generated probing questions based on meeting description
  • Dynamic Checklist - AI creates discussion checklist from meeting context
  • Google Calendar Integration - Sync upcoming meetings

Privacy & Storage

  • Local-First - SQLite database, all data stored on your machine
  • Screen & Audio Recording - Capture screen, microphone, and system audio simultaneously
  • Recording History - Browse and review past recordings with full transcripts
  • VideoDB Integration - Transcription and AI features require internet connectivity

How It Works

During Recording:

  • Captures dual-channel audio (you vs them) and sends to VideoDB for real-time transcription via WebSocket
  • Runs live intelligence: metrics tracking, coaching nudges, and AI-generated assists
  • MCP agent automatically detects information needs and triggers relevant tools

After Recording:

  • Generates three-part summary: narrative overview, key points, and action items
  • Sends meeting data to workflow automation platforms (n8n, Zapier, CRMs)
  • Exports to markdown with full transcript and intelligence

Tech Stack

  • Electron 34 - Desktop application framework
  • TypeScript 5.8 - Full type safety across main and renderer processes
  • React 19 - Modern UI framework with concurrent features
  • Tailwind CSS + shadcn/ui - Utility-first styling with high-quality component primitives
  • tRPC 11 - End-to-end type-safe API layer between main and renderer
  • Hono - Fast HTTP server for tRPC API endpoints
  • Drizzle ORM + SQLite - Type-safe database operations with local storage
  • Zustand - Lightweight state management
  • VideoDB SDK (0.2.4) - Screen recording, transcription, and video processing
  • MCP SDK (1.0.0) - Model Context Protocol for tool integrations
  • OpenAI SDK (6.19.0) - LLM calls via VideoDB's OpenAI-compatible API
  • Vite - Fast frontend bundling and hot module replacement

Prerequisites

  • macOS 12+ (Monterey or later)
  • VideoDB API Key (console.videodb.io)
  • System permissions: Microphone and Screen Recording

For development: Node.js 18+ and npm 10+

Getting Started (Users)

  1. Install:

    curl -fsSL https://artifacts.videodb.io/call.md/install | bash
  2. Launch the app and enter your VideoDB API key (get one free)

  3. Grant permissions when prompted (Microphone and Screen Recording)

  4. Start Recording - Click "New Meeting" and begin your first session

The app will transcribe in real-time, show live assists, and generate a summary when you're done.


Getting Started (Developers)

  1. Clone the repository:

    git clone https://github.com/video-db/call.md.git
    cd call-md
  2. Install dependencies:

    npm install
  3. Rebuild native modules for Electron:

    npm run rebuild
  4. Start development mode:

    npm run dev
  5. Register with your VideoDB API key when the app opens

Available Scripts

Command Description
npm run dev Start development mode (main + renderer with hot reload)
npm run build Build TypeScript and React for production
npm run dist:mac Build macOS distributable DMG
npm run typecheck Run TypeScript type checking
npm run lint Run ESLint
npm run rebuild Rebuild native modules for Electron
npm run db:generate Generate database migration files
npm run db:migrate Apply database migrations

MCP Server Setup

Connect MCP servers in Settings → MCP Servers:

  1. Click Add Server
  2. Choose transport: stdio (local) or http (remote)
  3. Configure and click Connect

The MCP agent runs automatically during meetings, detects information needs from conversation, and triggers relevant tools. Results appear inline in the MCP Results panel.

Development

Project Structure

src/
├── main/                   # Electron Main Process
│   ├── db/                 # Database layer (Drizzle + SQLite)
│   ├── ipc/                # IPC handlers
│   ├── lib/                # Utilities (logger, paths, permissions)
│   ├── server/             # HTTP server (Hono + tRPC)
│   │   └── trpc/           # tRPC router and procedures
│   └── services/           # Business logic
│       ├── copilot/        # Meeting intelligence services
│       │   ├── context-manager.service.ts
│       │   ├── conversation-metrics.service.ts
│       │   ├── nudge-engine.service.ts
│       │   ├── sales-copilot.service.ts  # Core orchestrator
│       │   ├── summary-generator.service.ts
│       │   └── transcript-buffer.service.ts
│       ├── mcp/            # MCP orchestration and tool execution
│       │   ├── connection-orchestrator.service.ts
│       │   ├── intent-detector.service.ts
│       │   ├── mcp-agent.service.ts
│       │   ├── tool-aggregator.service.ts
│       │   └── result-handler.service.ts
│       ├── live-assist.service.ts
│       ├── mcp-inference.service.ts
│       ├── llm.service.ts
│       └── videodb.service.ts
├── preload/                # Preload scripts (IPC bridge)
├── renderer/               # React Frontend
│   ├── api/                # tRPC client
│   ├── components/         # UI components
│   │   ├── auth/           # Authentication modal
│   │   ├── calendar/       # Calendar integration UI
│   │   ├── copilot/        # Meeting intelligence UI
│   │   ├── history/        # Recording history views
│   │   ├── home/           # Home screen
│   │   ├── icons/          # Icon components
│   │   ├── layout/         # App layout (sidebar, titlebar)
│   │   ├── mcp/            # MCP results/status components
│   │   ├── meeting-setup/  # Meeting prep wizard
│   │   ├── recording/      # Recording controls & live assist
│   │   ├── settings/       # Settings editors
│   │   ├── transcription/  # Live transcription panel
│   │   └── ui/             # shadcn/ui components
│   ├── hooks/              # Custom React hooks
│   ├── lib/                # Utilities
│   └── stores/             # Zustand state stores (session, copilot, mcp)
└── shared/                 # Shared types & schemas
    ├── schemas/            # Zod validation schemas
    └── types/              # TypeScript types

IPC API

The app exposes IPC APIs through the preload script:

  • window.electronAPI.mcp.* - MCP server and tool operations
  • window.electronAPI.mcpOn.* - MCP event subscriptions

Permissions (macOS)

The app requires the following permissions:

  • Microphone - For voice recording
  • Screen Recording - For screen capture

Grant these in System Preferences > Privacy & Security.

Troubleshooting

Recording not starting:

  • Check microphone and screen recording permissions in System Settings
  • Verify VideoDB API key is valid

Transcription not appearing:

  • Ensure mic and system audio are enabled in settings
  • Wait 5-10 seconds for first transcripts
  • Check internet connectivity

Development issues:

  • Rebuild native modules: npm run rebuild
  • Check Node.js version (requires 18+)
  • Review logs: ~/Library/Application Support/call-md/logs/

Data Storage

Application data is stored in:

~/Library/Application Support/call-md/
├── data/
│   └── call-md.db    # SQLite database
└── logs/
    └── app-YYYY-MM-DD.log  # Daily log files

Community & Support


Made with ❤️ by the VideoDB team


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages