## Technical Specs

Built with modern, privacy-respecting technologies that run locally on your device.

| Feature | Details |
| --- | --- |
| Languages | Rust (backend), TypeScript/React (frontend) |
| Build System | Taskfile for task management, pnpm for packages |
| Desktop Framework | Tauri (cross-platform) |
| Database | SQLite (local), optional Supabase integration |
| Extension Runtime | Sandboxed Deno for scripts, React for UI |
| Supported Platforms | macOS (stable), Linux and Windows (Q2 2026) |
| AI Providers | OpenAI, Anthropic, Deepgram, AssemblyAI, Soniox, Fireworks, Gladia, or local via LM Studio/Ollama |
| License | GPL v3.0 |

## Bring Your Own Key

Use your preferred AI providers or run everything locally. No vendor lock-in, no forced subscriptions.

### STT Provider Keys

Connect your own API keys for STT providers: Deepgram, AssemblyAI, Soniox, OpenAI Whisper

### LLM Endpoints

Use your own LLM endpoints: OpenAI, Anthropic, or any OpenAI-compatible API

### Run Local

Or skip keys entirely, run local models via LM Studio/Ollama with zero cloud dependency

### Free Forever

Free tier runs forever with BYOK, upgrade to Pro only if you want our managed cloud services

## Automation Hooks

Trigger custom workflows when events happen. No polling, no webhooks—just shell scripts that run automatically.

### Shell Scripts

Shell scripts triggered automatically when recordings start or stop

### Session Metadata

Receive session metadata as CLI arguments: resource directory, app identifiers, meeting context

### External Integration

Trigger file processing, update external systems, or integrate with tools we've never heard of

### No Polling

No polling, no webhooks to configure, just commands that run when events happen

## Fully Extensible

Build custom UI panels, access app state, and create entirely new workflows with our extension system.

### Custom UI Panels

Build custom UI panels using React and our component library (@hypr/ui)

### Synchronized State

Access synchronized app state via TinyBase: sessions, calendar events, contacts, transcripts

### Programmatic Control

Open tabs programmatically, create custom workflows, or build entirely new interfaces

### Sandboxed Security

Extensions run in sandboxed iframes with validated security boundaries

## Cross-Platform CLI

Manage sessions, export data, and automate workflows from the command line.

### Export & Manage

Export sessions, manage data, trigger transcriptions, all from the command line

### Scripting Ready

Designed for scripting: pipe output to other tools, run from cron jobs, embed in CI/CD

### Session Management

Full session management: list, export, delete, create from audio files

### Automation Interface

Your automation interface when the GUI isn't enough

## API Access

Programmatic control over sessions, transcripts, and AI processing for enterprise integrations.

Coming Soon

### REST API

REST API for programmatic control over sessions, transcripts, and AI processing

### CRUD & Webhooks

CRUD operations, webhook support, AI trigger endpoints—all documented upfront

### Enterprise Ready

Built for enterprise integrations and custom tooling

## Frequently Asked Questions

Common questions about building with Char.

### Can I build commercial products on Char?

### Is the entire codebase open?

### Can I run it completely offline?

### What's the extension security model?

### Do you train AI models on my data?

## Ready to build?

Fork the repo, explore the codebase, and start building your own meeting AI.
