Amical: Local-First AI Dictation for macOS and Windows
🎙️ AI Dictation App - Open Source and Local-first ⚡ Type 3x faster, no keyboard needed. 🆓 Powered by open source models, works offline, fast and accurate.
At a glance
- What is it?
- Amical is an MIT-licensed Electron desktop app that runs Whisper and Ollama locally to transcribe speech and format it per active app. It ships for macOS and Windows only, and there is no Linux build.
- Who is it for?
- Adopt Amical if you dictate on macOS 15 or later, want Whisper running on your own machine, and can live without Linux or a stable release channel: the newest tagged builds in the release list are v1.12.0 beta versions. Skip it if you work on Linux, if you need a signed stable desktop build rather than a beta, or if you expect real-time meeting capture today, because the README still lists meeting transcription as planned.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Amical Solves, and Who It Is Built For
Most dictation tools send your audio to a server. Amical's README describes the app as local-first and states that it runs entirely on your machine, with Whisper handling speech-to-text and open source LLMs doing the intelligent processing. That single design choice defines the audience: people who dictate often enough to care about latency and privacy, and who are willing to run a model on their own hardware rather than sign up for a cloud service.
The README frames the use case as context-aware dictation. The app detects the active application and formats your speech accordingly, and it names drafting an email, chatting on Discord, writing prompts in an IDE, and messaging friends as the situations it adapts to. That is a narrower and more concrete pitch than generic transcription. A tool that only converts audio to text still leaves you cleaning up punctuation and tone; Amical's claim is that the formatting step is where the active-app context matters.
The repository topics include meeting-notes and ai-note-taking-app, and the feature list marks smart voice notes as in progress and real-time meeting transcription as planned. So the note-taking identity is aspirational in the current tree. If you are evaluating Amical strictly as a dictation tool, the README supports that. If you are evaluating it as a meeting recorder, it does not yet.
Whisper, Ollama and the Electron Shell
The architecture visible in the repository is a Turborepo monorepo with apps/ and packages/ at the top level, and the desktop app is an Electron application written in TypeScript. The tech stack lists Whisper for speech recognition, Ollama for local LLMs, TailwindCSS and Shadcn for the interface, Better-Auth for authentication, Zod for validation, and Vitest for tests.
The part worth understanding before you clone anything is how Whisper is wired in. The repository has a .gitmodules file and a patches/ directory, and the local development instructions tell you to clone with --recurse-submodules so the Whisper sources are available. The install step compiles a native Whisper addon, which is why pnpm install can take several minutes, and it applies the repository's patches inside the whisper.cpp submodule. The README notes that seeing that submodule marked as modified in git status afterward is expected.
There is also a separate Node.js binary involved. The setup includes a download-node task scoped to the desktop package, described as downloading the Node.js binary used by the local Whisper worker. Taken together, the data flow is: audio is captured by the Electron app, passed to a local Whisper worker process, transcribed on-device, and then optionally processed by a local Ollama model before the text is inserted into the active application. No .env file is required for local transcription, which matches the local-first claim: the default path does not depend on a remote service. Cloud, authentication and telemetry integrations exist but are optional and configured separately.
Installing Amical and Dictating Once
For end users the README points at the GitHub releases page for macOS and Windows downloads, and gives Homebrew as the macOS path. The cask name is amical.
brew install --cask amicalAfter launch, the README says the first-run onboarding downloads a local model and requests the required microphone and OS permissions. That is the setup step: there is no API key to paste and no account required for local transcription.
If you want to build from source instead, the prerequisites are explicit. Node.js 24.x, pnpm 10.15.0 as pinned in package.json, and CMake 3.20 or later. On macOS you need Xcode or the Xcode Command Line Tools with Swift 5.9 or later, and the README states that local Whisper transcription requires macOS 15 or later. On Windows you need Visual Studio 2022 Build Tools with the Desktop development with C++ workload plus the .NET 8 SDK, and Git Bash is recommended because some development scripts use POSIX utilities.
git clone --recurse-submodules https://github.com/amicalhq/amical.git
cd amical
corepack enable
pnpm install --frozen-lockfile
pnpm --filter @amical/desktop download-nodeThe clone flag matters. Without --recurse-submodules the Whisper sources are absent, and the README gives a recovery command for that case. Once dependencies are in place, the desktop app starts through Turborepo:
pnpm turbo run dev --filter=@amical/desktopOne operational detail from the README: quit any installed copy of Amical first, because Electron allows only one Amical instance at a time. When you are done, quit the development app from its tray menu before pressing Ctrl+C, since stopping the terminal command alone may leave the Electron app running. Before opening a pull request, the repository asks for pnpm type:check and pnpm test.
Linux Is Not Supported, and the Release Channel Is Beta
The README is unusually direct about the platform gap: the desktop app currently supports macOS and Windows, and Linux is not supported because the app does not yet have a Linux native helper. That is not a documentation omission you can work around with a community build. The absence of a native helper is an architectural dependency, and the local development section repeats the macOS and Windows framing.
The second limitation is the release channel. The releases listed most recently are v1.12.0-beta.5, v1.12.0-beta.3 and v1.12.0-beta.2. The README's download section points at the latest release, and there is no stable-versus-beta guidance in the README itself. If you are deploying Amical to a team, the version you get from the releases page is the version the project last tagged, and the tags in the list are betas. Whether a stable channel exists is something the README does not document.
The feature list also carries honest status markers. Smart voice notes are marked in progress, MCP integration and real-time meeting transcription are marked planned. Anyone who reads the repository topics and expects meeting capture today will be disappointed by the README's own status column. The README does not say when those planned items will land.
How Amical Differs From Cloud Dictation Services
The obvious alternative is a hosted dictation service: you install a client, speak, and the audio is transcribed on the vendor's infrastructure. The difference in approach is not just where the compute runs, it is what the setup costs you. A hosted service usually means an account, a subscription, and a network dependency, but no local model download and no native toolchain. Amical inverts that: the README states no .env file is required for local transcription, and the first-run onboarding downloads a local model, so the recurring cost shifts from a subscription to disk space and CPU or GPU time on your machine.
That trade has a real downside. Compiling the native Whisper addon during pnpm install is slow, and the build prerequisites are heavy: Xcode with Swift 5.9 on macOS, Visual Studio 2022 Build Tools with the C++ workload and the .NET 8 SDK on Windows. A user who only wants to dictate and never intends to touch the source does not pay that cost, because the Homebrew cask and the release downloads skip it. A contributor does.
Against a plain local Whisper front end, Amical's differentiator is the layer above transcription: active-app detection and formatting, plus the optional Ollama step. The README does not quantify accuracy or speed, so the honest comparison is about workflow, not benchmarks. If you only need raw transcription and you already have a Whisper setup you like, the formatting layer is the only reason to switch.
Licence, Maintenance and What Upgrades Cost You
Amical is released under the MIT licence, and the LICENSE file sits at the repository root. MIT is permissive: it allows commercial use, modification and redistribution, provided the copyright notice and permission notice are preserved. That matters for a desktop tool you might bundle into an internal workflow. It does not, however, cover the licences of the components the app pulls in. Whisper, Ollama, Electron and the other stack entries carry their own terms, and the repository's pnpm configuration shows patched dependencies, including patches for macos-alias, fs-xattr and @electron/packager. If you redistribute a build, the dependency licences are your problem to check, not something the MIT file settles. This is a description of the licence text, not legal advice.
On maintenance, the repository is not archived, and the last push was on 2026-09-05, with the most recent tag v1.12.0-beta.5 published the same day. The commit and release activity are recent, but the tagged releases are betas, so treat the project as one whose release channel is still settling.
Upgrade cost has two parts. For an installed desktop app, upgrades follow the release you download; the README does not document a rollback path, so pinning a specific release is the only version control the documentation supports. For a source checkout, upgrades are heavier than a git pull. The Whisper sources live in a submodule, and the install applies repository patches inside it, so the README's recovery command for a missing submodule is also the command you will need when the submodule drifts. Budget for a reinstall of dependencies, not just a fetch.
Editorial conclusion
Adopt Amical if you dictate on macOS 15 or later, want Whisper running on your own machine, and can live without Linux or a stable release channel: the newest tagged builds in the release list are v1.12.0 beta versions. Skip it if you work on Linux, if you need a signed stable desktop build rather than a beta, or if you expect real-time meeting capture today, because the README still lists meeting transcription as planned. Before installing, verify two things on the machine you intend to use: that it is macOS 15 or later or Windows with the stated build tools, and that the release you download matches the channel you want.
Frequently asked questions
What is Amical and what does it do?
Amical is an open source, local-first AI dictation and note-taking app that runs on your machine. It uses Whisper for speech-to-text and open source LLMs for processing, and it adapts formatting to the active application.
What does Amical stand for?
The README gives no expansion or origin for the name. The repository presents it only as the product name for the dictation app.
Is Amical available for Linux?
No. The README states the desktop app currently supports macOS and Windows, and that Linux is not supported because the app does not yet have a Linux native helper.
How do I install Amical on macOS?
The README gives a Homebrew cask, brew install --cask amical, and also links to the GitHub releases page for a direct download. On first run, onboarding downloads a local model and requests microphone and OS permissions.
Does Amical work offline?
The README describes the app as local-first and states that it runs entirely on your machine, and it notes that no .env file is required for local transcription. Cloud, authentication and telemetry integrations are optional and configured separately.
What do I need to build Amical from source?
Node.js 24.x, pnpm 10.15.0, and CMake 3.20 or later, plus Xcode or the Xcode Command Line Tools with Swift 5.9 or later on macOS, or Visual Studio 2022 Build Tools with the Desktop development with C++ workload and the .NET 8 SDK on Windows. The README also requires cloning with --recurse-submodules so the Whisper sources are present.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/amicalhq-amical)