503cc6c0cf16736cf63ce07e3ec4f57830b1e42f
Tauri v2 + Svelte + TypeScript frontend:
- App shell with workspace layout (waveform, transcript, speakers, AI chat)
- Placeholder components for all major UI areas
- Typed stores (project, transcript, playback, AI)
- TypeScript interfaces matching the database schema
- Tauri bridge service with typed invoke wrappers
- svelte-check passes with 0 errors
Rust backend:
- Tauri v2 app entry point with command registration
- SQLite database layer (rusqlite with bundled SQLite)
- Full schema: projects, media_files, speakers, segments, words,
ai_outputs, annotations (with indexes)
- Model structs with serde serialization
- CRUD queries for projects, speakers, segments, words
- Segment text editing preserves original text
- Schema versioning for future migrations
- 6 tests passing
- Command stubs for project, transcribe, export, AI, settings, system
- App state management
Python sidecar:
- JSON-line IPC protocol (stdin/stdout)
- Message types: IPCMessage, progress, error, ready
- Handler registry with routing and error handling
- Ping/pong handler for connectivity testing
- Service stubs: transcribe, diarize, pipeline, AI, export
- Provider stubs: local (llama-server), OpenAI, Anthropic, LiteLLM
- Hardware detection stubs
- 14 tests passing, ruff clean
Also adds:
- Testing strategy document (docs/TESTING.md)
- Validation script (scripts/validate.sh)
- Updated .gitignore for Svelte, Rust, Python artifacts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Voice to Notes
A desktop application that transcribes audio/video recordings with speaker identification, producing editable transcriptions with synchronized audio playback.
Goals
- Speech-to-Text Transcription — Accurately convert spoken audio from recordings into text
- Speaker Identification (Diarization) — Detect and distinguish between different speakers in a conversation
- Speaker Naming — Assign and persist speaker names/IDs across the transcription
- Synchronized Playback — Click any transcribed text segment to play back the corresponding audio for review and correction
- Export Formats
- Closed captioning files (SRT, VTT) for video
- Plain text documents with speaker labels
- AI Integration — Connect to AI providers to ask questions about the conversation and generate condensed notes/summaries
Platform Support
| Platform | Status |
|---|---|
| Linux | Planned (initial target) |
| Windows | Planned (initial target) |
| macOS | Future (pending hardware) |
Project Status
Early planning phase — Architecture and technology decisions in progress.
License
MIT
Languages
Python
40.2%
Rust
28.6%
Svelte
25.6%
TypeScript
3.7%
Shell
0.9%
Other
1%