Skip to content
/ katip Public
generated from odest/tauri-nextjs-template

An AI-powered tool that transcribes, summarizes, and extracts action items from meeting recordings, lectures, and interviews

License

Notifications You must be signed in to change notification settings

odest/katip

Repository files navigation

Katip

An AI-powered tool that transcribes, summarizes, and extracts action items from meeting recordings, lectures, and interviews.

License: GPL-3.0 Version Platform Made with

Katip - AI Meeting Summarizer

What is Katip?

Katip helps you save time by turning long audio recordings into useful summaries and to-do lists. Upload your meeting, lecture, or interview recording, and Katip will:

  1. Transcribe the audio to text using OpenAI's Whisper
  2. Summarize the key points and important decisions
  3. Extract action items and create a task list

Available as a web app, desktop app (Windows, macOS, Linux), and mobile app (Android).

Features

  • πŸŽ™οΈ Audio Transcription - Convert speech to text with Whisper
  • πŸ“ Smart Summaries - Get structured summaries of main topics and decisions
  • πŸ€– Local LLM Support - Use Ollama, LM Studio, or Llama.cpp for private, offline summarization
  • ☁️ Cloud LLM Support - OpenAI, Groq, OpenRouter, Gemini integration
  • βœ… Task Extraction - Automatically identify and list action items
  • 🌍 Multi-language - Support for 10 languages
  • πŸ’» Cross-platform - Web, desktop, and mobile apps
  • 🏠 Local-First - Your data stays on your device by default, optional cloud sync
  • 🎨 Modern UI - Clean interface with dark mode support
  • πŸ”’ Open Source - Fully transparent and customizable
  • ⚑ GPU Acceleration - Vulkan support for faster transcription

Quick Start

Prerequisites

  • Node.js (v20 or higher)
  • pnpm (v10 or higher)
  • Rust (latest stable)
  • LLVM (Windows only, required for whisper-rs compilation)

For mobile development:

  • Android Studio (for Android)

Installation

# Clone the repository
git clone https://github.com/odest/katip.git
cd katip

# Install dependencies
pnpm install

# Start development
pnpm dev

Usage

Desktop App:

# CPU-only (default)
pnpm tauri dev

# With Vulkan GPU acceleration (recommended for AMD/NVIDIA GPUs)
pnpm tauri dev -- --features vulkan

Web App:

pnpm --filter web dev

Build for Production:

# Desktop (CPU-only)
pnpm tauri build

# Desktop with GPU acceleration
pnpm tauri build -- --features vulkan

# Android
pnpm tauri android build

How It Works

  1. Upload Audio - Drop your meeting or lecture recording
  2. Transcription - Whisper converts speech to text
  3. AI Processing - LLM analyzes the transcript
  4. Get Results - View summary and action items

Local LLM Configuration (Web)

If you are using the Web version and want to connect to a local LLM provider like Ollama or LM Studio, you need to configure CORS to allow requests from the browser.

For Ollama, set the OLLAMA_ORIGINS environment variable before starting the server:

# Windows (PowerShell)
$env:OLLAMA_ORIGINS="*"; ollama serve

# Mac/Linux
OLLAMA_ORIGINS="*" ollama serve

For LM Studio, enable CORS in the server settings (Settings β†’ Server β†’ Enable CORS).

Whisper Models (Native)

For the desktop app, you need to download a Whisper model in ggml format. Models are available at Hugging Face. Recommended models:

  • tiny/base - Fast, lower accuracy
  • small/medium - Balanced
  • large-v3-turbo-q5_0 - Best accuracy, requires more resources

Tech Stack

  • Frontend: Next.js, React, TypeScript
  • Desktop/Mobile: Tauri 2.0, Rust
  • Transcription: whisper.cpp (native), Transformers.js (web)
  • AI: OpenAI Whisper, OpenAI-compatible LLM providers
  • Styling: Tailwind CSS, shadcn/ui
  • State: Zustand
  • Database: SQLite (local), SQLocal (web), PostgreSQL (cloud sync)
  • Build: pnpm, Turborepo

Project Structure

katip/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ native/             # Desktop & mobile (Tauri + Next.js)
β”‚   β”‚   β”œβ”€β”€ src/            # Next.js frontend
β”‚   β”‚   └── src-tauri/      # Rust backend
β”‚   └── web/                # Web app (Next.js)
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ ui/                 # Shared UI components, hooks, stores
β”‚   β”œβ”€β”€ database/           # Drizzle ORM schemas (SQLite & PostgreSQL)
β”‚   β”œβ”€β”€ i18n/               # Translations (10 languages)
β”‚   β”œβ”€β”€ eslint-config/      # Shared ESLint rules
β”‚   └── typescript-config/  # Shared TypeScript config

Contributing

We welcome contributions! Please check CONTRIBUTING.md for guidelines.

License

This project is licensed under GPL-3.0. See LICENSE for details.

Acknowledgments

Built with tauri-nextjs-template

About

An AI-powered tool that transcribes, summarizes, and extracts action items from meeting recordings, lectures, and interviews

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 2

  •  
  •