# Chronara - Local Meeting Transcription & Summarization

A Windows desktop application that transcribes, diarizes, and summarizes meetings using only locally-running models.

## Features

- 🎙️ Real-time audio transcription with speaker diarization (WhisperX)
- 📝 Intelligent meeting summarization (Llama 3.2)
- 🖥️ Everything runs locally - no cloud services required
- 📦 All models bundled - no separate downloads needed

## Tech Stack

- **Transcription**: WhisperX (Whisper + speaker diarization)
- **Summarization**: Llama 3.2 1B/3B
- **Backend**: Python with FastAPI
- **Frontend**: Tauri + React
- **Model Runtime**: llama-cpp-python

## Project Structure

```
chronara/
├── src/
│   ├── backend/     # Python FastAPI backend
│   ├── components/  # React components
│   └── App.tsx      # Main React app
├── src-tauri/       # Tauri configuration
├── models/          # Bundled model files
├── scripts/         # Build and setup scripts
└── assets/          # Icons, resources
```

## Development Setup

### Prerequisites

- Node.js 18+ with pnpm
- Python 3.10+
- Rust (for Tauri)
- Windows build tools (for native modules)

### Installation

1. Clone the repository:

```bash
git clone https://github.com/naomi-lgbt/chronara.git
cd chronara
```

2. Install frontend dependencies:

```bash
pnpm install
```

3. Install Python dependencies:

```bash
pip install -r requirements.txt
```

4. Download the AI models:

```bash
python scripts/download_models.py
```

5. Run in development mode:

```bash
pnpm tauri:dev
```

## Building for Production

### Windows

1. Download models if not already done:

```bash
python scripts/download_models.py
```

2. Build the Windows executable:

```bash
python scripts/build_windows.py
```

The installer will be created in `src-tauri/target/release/bundle/nsis/`.

## Usage

1. **Start Recording**: Click the "Start Recording" button to begin capturing audio
2. **Real-time Transcription**: Watch as the conversation is transcribed with speaker labels
3. **Generate Summary**: After recording, click "Generate Summary" for an AI-powered meeting summary
4. **Export**: Download both the full transcript and summary as text files

## Model Information

### Transcription (WhisperX)

- **Model**: OpenAI Whisper base model with WhisperX enhancements
- **Features**: Speaker diarization, timestamp alignment
- **Size**: ~150MB

### Summarization (Llama 3.2)

- **1B Model**: Fast, good for basic summaries (~1.2GB)
- **3B Model**: Better quality summaries (~2.5GB)
- **Format**: GGUF quantized models

## Privacy & Security

- All processing happens locally on your machine
- No audio or text data is sent to external servers
- Models are bundled with the application
- Meeting data stays on your device
