Install
This page takes a fresh Mac to a running Echo in about ten minutes, plus download time. Every command runs in Terminal.
1. Install the developer tools
xcode-select --installFollow the dialog, then confirm it worked with xcode-select -p.
2. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAccept the defaults, then open a new Terminal window (or run source "$HOME/.cargo/env") and check cargo --version.
3. Install Node.js and pnpm
Echo needs Node.js 22.18 or newer. With Homebrew:
brew install node pnpmnode --version # v22.18.0 or newerAny other Node installer works too (nvm, fnm, the nodejs.org package). For pnpm, corepack enable is an alternative to Homebrew.
4. Get the code
git clone https://github.com/samarthmn/echo-voice-web.gitcd echo-voice-web5. Build everything
./scripts/setup.shsetup.sh checks the prerequisites, then:
- adds the
wasm32-unknown-unknownRust target, runspnpm install --frozen-lockfile, and installs thewasm-bindgen-cliversion pinned inCargo.lock; - builds the browser assets and the extension (output in
extension/dist); - builds the Dioxus web app to WebAssembly;
- builds the release server,
target/release/echo-server.
The first run takes a few minutes. It never downloads speech or Ollama models. To rebuild after a change without reinstalling tools, run ./scripts/setup.sh --build-only.
6. Start Echo
./scripts/start.shIt checks the build outputs and that the port is free, then runs the server in the foreground. Open http://localhost:3000. Press Ctrl+C in Terminal to stop it.
The first time Echo opens its library, macOS asks to let echo-server use the Keychain. Choose Always Allow: the library key lives there.
To start Echo automatically at login instead, see auto-start.
7. Install the browser extension
- Open
brave://extensions(orchrome://extensions) and turn on Developer mode. - Choose Load unpacked and select the
extension/distfolder inside your checkout. Echo shows the exact path under Settings → Browser extension. - Pin the extension and choose Connect to Echo in its popup. Approve the request in the Echo tab that opens.
Details are on the extension page.
8. Protect your library
Before recording anything important, open Settings → Storage → Protect your library and save the 24-word recovery phrase. It is the only way back in if the Keychain key is lost. See backups and recovery.
Next
- Your first recording
- Optional: local notes with Ollama and Google Calendar
- If something fails: troubleshooting