IAC-099-module-1-recorder Svelte Themes

Iac 099 Module 1 Recorder

Privacy-first voice recording and transcription. Tauri 2 + Svelte 5 + Whisper.cpp. Works offline.

IAC-099 Module 1: Voice Recorder

Privacy-first voice recording and transcription for crisis support.

Purpose

Records voice locally and transcribes using Whisper.cpp with Metal GPU acceleration. No cloud dependencies. Works offline. Works when it matters.

Input/Output Contract

Input: User's voice (microphone) Output:

  • raw-audio.wav - Original audio recording
  • transcript.md - Transcribed text in markdown format

Tech Stack

  • Framework: Tauri 2
  • Frontend: Svelte 5
  • Transcription: Whisper.cpp (C++ core, Metal GPU)
  • Database: SQLite (local storage)
  • Platform: macOS (Apple Silicon M2)

Prerequisites

  • macOS with Apple Silicon (M2/M3)
  • Node.js 20 (via nvm)
  • Rust (latest stable)
  • Python 3.11+ with uv (for any Python utilities)

Installation

# Use Node 20
nvm use 20

# Install dependencies
npm install

# Set up database
npm run db:migrate

Development

# Start dev server
npm run tauri:dev

# Run tests
npm test

# Lint code
npm run lint

Building

# Build production app
npm run tauri:build

Usage

  1. Click "Record" button
  2. Speak into microphone
  3. Click "Stop" when done
  4. App transcribes using Whisper.cpp (local, GPU-accelerated)
  5. Outputs saved to configured directory:
    • raw-audio.wav
    • transcript.md

Configuration

  • Recording settings (sample rate, format)
  • Whisper model selection (tiny, base, small, medium)
  • Output directory path
  • Audio quality settings

Source Code References

Based on working implementation from:

  • /Users/kjd/01-projects/IAC-031-clear-voice-app/

Success Criteria

  • ✅ Records voice
  • ✅ Transcribes to markdown
  • ✅ Saves locally
  • ✅ Works offline
  • ✅ No cloud dependencies

Architecture

src/
├── components/      # Svelte UI components
├── stores/          # Svelte stores for state
├── lib/            # Shared utilities
└── tauri/          # Rust backend
    ├── audio/      # Recording logic
    ├── whisper/    # Whisper.cpp integration
    └── storage/    # SQLite operations

Privacy & Security

  • All processing happens locally
  • No data leaves the device
  • No cloud API calls
  • No telemetry or analytics
  • User data stored only on local filesystem

License

[To be determined]

Contributing

See main project repository for contribution guidelines.

Top categories

Loading Svelte Themes