Amical is an open-source AI dictation tool designed for developers, writers, and professionals who want to type 4x faster using their voice — without sacrificing privacy. It runs entirely on your machine using local AI models like Whisper for speech-to-text and Ollama for context-aware text generation, eliminating cloud dependency. Unlike native OS dictation, Amical understands the context of your active app (Gmail, Jira, Discord, IDEs) and auto-formats your speech accordingly.
Built with Electron, Next.js, and TypeScript, Amical supports macOS, Windows, and upcoming mobile platforms. It integrates with local LLMs via Ollama, offers MCP-based voice workflows, and provides one-click setup for private, offline AI processing — making it ideal for users who prioritize data sovereignty and real-time, intelligent transcription.
What You Get
- Context-Aware Dictation - Automatically detects your active application (e.g., Gmail, VS Code, Discord) and formats speech output to match the tone and structure of that app — professional for emails, casual for chats, structured for Jira tickets.
- Local-First AI Processing - Uses Whisper for speech-to-text and Ollama for LLM-powered enhancements, all running offline on your device with no data sent to the cloud.
- Smart Formatting & Autocorrect - Auto-corrects grammar, fixes pronouns, adds contextual emojis, and structures raw speech into polished, readable text without manual editing.
- MCP Voice Workflows - Execute actions like ‘Hi to Jane on WhatsApp’ or ‘Create Jira ticket BUG-1234’ using voice commands powered by Model Context Protocol (MCP) for app integration.
- Custom Vocabulary Support - Train the AI to recognize your industry jargon, names, project codes (e.g., ‘SOC2’, ‘k8s’, ‘PostgreSQL’) for higher transcription accuracy in technical contexts.
- Floating Widget with Hotkeys - Launch and control dictation with a persistent floating panel and customizable keyboard shortcuts (⌘+Space, Ctrl+Alt+Space) for frictionless use across apps.
- Multi-Language Support - Transcribe and dictate in over 100 languages with native-level accuracy, including mixed-language input without switching models.
- Real-Time Meeting Transcription - Capture audio from your microphone or system audio to generate live transcripts during calls, meetings, or lectures — with plans for full implementation.
Common Use Cases
- Writing technical documentation - A software engineer uses Amical to dictate detailed Jira ticket descriptions and commit messages while coding, with auto-formatting for code terms like ‘k8s’ and ‘CI/CD’.
- Running a privacy-focused newsletter - A journalist dictates long-form articles in Amical, using local Whisper and Ollama to ensure no voice data leaves their machine before publishing.
- Managing remote team communication - A product manager uses voice commands to send WhatsApp updates, draft Slack messages, and log meeting notes in Notion — all hands-free via MCP workflows.
- Transcribing interviews or lectures - A researcher records and transcribes 2+ hour audio sessions offline, leveraging Amical’s high-accuracy Whisper engine and custom vocabulary for domain-specific terminology.
Under The Hood
Architecture
- Monorepo structure powered by Turbo with clear separation between desktop and web applications and shared utility packages, enforcing modularity through workspace dependencies
- Component-driven React/Next.js UI with reusable primitives like SIDEBAR and SETTINGS, integrated with Lexical for rich text editing
- Shared TypeScript interfaces and type definitions ensure consistency across domains, while dependency injection is achieved through encapsulated native and AI modules
- Native Electron integration paired with LibSQL for local-first persistence, enabling a unified data layer across platforms with platform-specific build targets
Tech Stack
- React 19 and Next.js form the core web frontend, enhanced with TypeScript for type safety and component-based architecture
- Electron powers the desktop application, leveraging custom native wrappers and embedded LibSQL for local AI transcription and data storage
- Turbo orchestrates a multi-package monorepo including shared configs, types, and database adapters, with Vite and Pnpm optimizing development workflows
- Lexical editor and DnD-Kit enable advanced text and interactive UI capabilities, while LibSQL replaces traditional ORMs for lightweight, embedded persistence
Code Quality
- Extensive test suite using Vitest with real database instances and comprehensive fixtures to validate business logic across services and tRPC endpoints
- Robust mocking of Electron and native modules preserves integration fidelity while enabling isolated unit testing
- Clear separation of test concerns via dedicated helpers and consistent naming, aligning test structure with production code layers
- Strong type safety enforced throughout, with defensive programming in utilities to prevent invalid states and ensure robust error handling
What Makes It Unique
- Unified AI provider integration (OpenRouter, Ollama, OpenAI) with dynamic configuration via a cohesive UI, eliminating external plugin dependencies
- Widget-level toast notifications with localized text, custom icons, and trace ID copying designed for embedded desktop use without external dependencies
- Reactive auth state management using TRPC subscriptions that eliminate polling and provide instant UI feedback in desktop environments
- Custom progress component built on Radix UI with precise animations, avoiding bloated libraries while maintaining accessibility and theming
- Dynamic localization system that resolves i18n keys at render time with parameters, eliminating hydration delays and enabling seamless multilingual support