Meetings stay on your Mac.
Notes stay in Markdown.
A quiet, local Markdown editor with on-device meeting transcription for macOS.
Apple Silicon · macOS 15+ · no account or subscription required
Note
Ulpaso is an early preview for Apple Silicon Macs running macOS 15 or later. Current release builds are signed, notarized, and delivered through GitHub Releases with in-app update checks.
| Your files | Your meetings | Your flow |
|---|---|---|
Ordinary .md files that open anywhere. |
Microphone and system audio transcribed on-device. | One quiet place to capture, organize, and keep writing. |
- Open a document. Write in a focused WYSIWYG editor without giving up portable Markdown.
- Capture a meeting. Ulpaso can notice supported calls, ask before recording, and organize local transcription for up to four speakers.
- Keep writing. The transcript lands in the same document as clean, editable notes.
The editor supports GFM tables, task lists, links, images, blockquotes, lists, and syntax-highlighted code blocks. Draft recovery protects unfinished work, while light and dark themes plus English, Korean, and Japanese interfaces keep the app comfortable for everyday use.
Document contents, meeting audio, and transcripts are processed locally and are not sent to Ulpaso servers. Documents remain files you choose on your Mac. There is no account, cloud workspace, proprietary document format, or telemetry pipeline.
- Meeting setup downloads approximately 1.8 GB in total: a 500 MB local runtime plus 1.3 GB of pinned speech and speaker models from Hugging Face. Later transcription runs from those local files.
- Temporary recordings are removed after successful completion or cancellation. Recovery audio is retained only when an unexpected stop could otherwise lose the session.
- Meeting detection can suggest starting notes, but recording begins only after you explicitly choose Start recording.
- GitHub is contacted for release and update metadata; Hugging Face is contacted for the disclosed model download.
Read Privacy and data flow for exact storage paths, network behavior, model sources, and deletion rules.
How automatic meeting detection works
Meeting notifications are enabled by default and can be disabled in Settings. Ulpaso looks for a supported frontmost meeting app—or a matching browser meeting title—while the default microphone is in use. Three consecutive high-confidence checks are required before a native macOS notification appears.
Supported apps include Zoom, Teams, Webex, FaceTime, Skype, and supported browser meetings. Detection does not inspect audio samples, bypass first-use model disclosure, or start recording by itself. Closing the window keeps detection available in the background; quitting with ⌘ Q stops it.
Download the latest signed build →
Ulpaso currently requires:
- an Apple Silicon Mac;
- macOS 15 or later.
Download the DMG, move Ulpaso to Applications, and open it normally. Current releases include checksums and a signed, notarized, stapled macOS build.
Before moving Ulpaso to the Trash, open Settings → Downloaded AI models and choose Remove twice. This deletes the downloaded runtime, speech-recognition and speaker-separation models, caches, and retained recovery audio. Markdown documents remain untouched in the folders where you saved them.
The editor UI can run in a browser on other platforms, but native saving, system-audio capture, meeting detection, and transcription require the macOS desktop app.
You will need Xcode command-line tools, Node.js 20.19+ (Node 22 recommended), pnpm 10+, and Rust 1.90.
corepack enable
pnpm install --frozen-lockfile
pnpm tauri:devFor frontend-only work:
pnpm devThe development app installs its pinned Python transcription runtime on first use. To assemble the production runtime ahead of an unsigned local build:
pnpm prepare:asr-runtime
pnpm tauri:build:unsignedRuntime and model downloads are intentionally excluded from Git.
pnpm check
pnpm buildpnpm check builds the reusable Markdown package, runs TypeScript and frontend tests, checks Rust formatting, runs Clippy and unit tests, exercises the lightweight Python suite, and validates benchmark manifests. After preparing the model runtime, you can also run:
pnpm test:python:workerKeyboard shortcuts
| Action | Shortcut |
|---|---|
| New document | ⌘ N |
| Open document | ⌘ O |
| Save | ⌘ S |
| Save as | ⌘ ⇧ S |
| Command palette | ⌘ K |
| Settings | ⌘ , |
| Toggle sidebar | ⌘ </kbd> |
| Focus mode | ⌘ ⇧ F |
| Start or stop meeting notes | ⌘ ⇧ M |
| Bold / italic / inline code | ⌘ B / ⌘ I / ⌘ E |
| Strikethrough | ⌘ ⇧ X |
Hover or focus the ? button in Settings for the complete in-app guide.
Project layout
src/ SolidJS editor and interface
packages/markdown/ Markdown ↔ ProseMirror JSON primitives
src-tauri/src/ Rust application and meeting controller
src-tauri/native/ ScreenCaptureKit/CoreAudio bridge
src-tauri/resources/asr/ Local transcription worker and frozen requirements
scripts/ Runtime, icon, release, and benchmark tooling
benchmarks/ Model-quality fixtures and aggregate results
docs/ Architecture, privacy, and contributor documentation
Issues and pull requests are welcome. Start with CONTRIBUTING.md, and report security concerns according to SECURITY.md. Notable changes are tracked in CHANGELOG.md.
Ulpaso source code is available under the MIT License. Bundled fonts, adapted editor portions, local inference packages, and downloaded models retain their own licenses; see Third-party notices.
한국어
Ulpaso는 일반 Markdown 파일을 직접 편집하고 회의 음성을 기기 안에서 전사하는 macOS용 로컬 에디터입니다. Apple Silicon과 macOS 15 이상을 지원하며, 계정·결제·구독·클라우드 문서 형식·텔레메트리 없이 사용할 수 있습니다. 회의 전사 설정 시에는 약 500 MB의 로컬 런타임과 1.3 GB의 고정된 음성·화자 모델을 내려받습니다.
Mac용 다운로드 · 웹사이트 · 개인정보 처리 방식
