Hapi

User guide · reference

How Hapi works

A practical reference for everything you can do inside Hapi — what to click, what to expect, and which settings change what. Skip the source code. This is the manual.

01

Getting started

Hapi runs as a menu-bar app on macOS 14.2+. There is no dock icon by default — open the main window from the menu-bar icon, or hit your record hotkey from anywhere. Settings is a single page inside the main window — Dictation, Meetings, AI, Appearance, Permissions, System — with People, Integrations, Automations, Knowledge, and License one click deeper under More.

Hapi Settings page with the Dictation section: hotkey, auto-paste, custom dictionary, hotkey mode, and the Screen & Memory Assistant toggle
Settings — open it from the ••• button in the top bar

First-launch checklist

  1. Microphone access. Required for voice notes and meetings. macOS will prompt the first time you record.
  2. Accessibility access. Required for the global hotkey and for auto-paste. macOS asks once; you may need to restart Hapi after granting it.
  3. Screen Recording. Required to capture system audio from meeting apps and browsers. The first meeting you join triggers the prompt.
  4. Calendar (optional). Lets Hapi link recordings to events and generate pre-meeting briefings.
  5. Tell Hapi about you. In Settings → More → People → Your profile, add your name, email, role, and any context you want Hapi to use when it summarizes meetings or drafts follow-ups in your voice.

Your Profile

Your Profile

Name

Rafa Romero

Email

rafa@example.com

Role

Founder

Company

Hapi

Free-form context

Based in Madrid (CET). Building Hapi — a local-first second brain for voice on macOS. Writing style: direct, lowercase, short paragraphs.
CancelSave
Settings → More → People → Your Profile. Used to identify you in transcripts and avoid extracting yourself as a separate entity.

Where to find things

  • Today: the home note — a daily brief, your next meeting, a note for the day where you can @mention meetings and people, and today's recordings.
  • Recordings: every meeting and voice note, grouped by date. Open it from the All recordings pill; start a new one with Record (⌘R).
  • Search: ⌘K finds people, meetings, and notes from anywhere.
  • Settings: one page — Dictation, Meetings, AI, Appearance, Permissions, System — plus People, Integrations, Automations, Knowledge, and License under More.

02

Voice notes

Hold the global hotkey, speak, release. Words stream back in under two seconds. By default the result is copied to your clipboard and pasted into whatever app you were in.

Changing your hotkey

Open Settings → Dictation, click Change next to the hotkey, and press the new combination. Modifier-only keys (⌘, ⌥, ⌃, ⇧) work too — Hapi defaults to Right ⌘ to keep your normal Command key free.

Hotkey

Enable hotkey

Use global keyboard shortcut

Current Hotkey:

Right ⌘Change

Click Change to record a new hotkey. You can use modifier keys (⌘, ⌥, ⌃, ⇧) with any key.

Mode

How the hotkey triggers recording

Hold to Record
Settings → Dictation → Hotkey. Click Change, then press the new combination — Hapi captures it for 2 seconds.

Output behavior

Below the hotkey block, the same panel exposes how transcripts get to your other apps. By default Hapi copies the cleaned text and pastes it where your cursor is.

Output

Copy to clipboard

Replace clipboard with the cleaned transcript

Auto-paste

Send ⌘V to the focused app after recording

Speech enhancement

Remove fillers, fix punctuation, capitalize

Settings → Dictation

Settings reference

Setting
Type · default
What it does
Global hotkey
shortcut·Right ⌘
The key you hold to record a voice note. Click the field, then press your new combination. Modifier-only keys (⌘, ⌥, ⌃, ⇧) are supported.
Hotkey mode
enum·Hold to record
Hold-to-record stops when you release the key. Toggle starts and stops on each press — useful for longer dictation.
Hotkey enabled
toggle·on
Master switch for the global hotkey. Disable when streaming or screen-sharing.
Copy to clipboard
toggle·on
Whether the cleaned-up transcript replaces your clipboard contents.
Auto-paste
toggle·on
After copying, Hapi sends a synthetic ⌘V to paste into the focused app. Requires Accessibility access.
Recording display
enum·Notch
Where the recording indicator appears: in the menu bar, around the notch, or as a floating pill.
Speech enhancement
toggle·on
Removes filler words, false starts, and repeated words; capitalizes and punctuates. Adds ~50 ms.
Transcription language
enum·Auto-detect
25 languages supported. Forcing a language is faster than auto-detect on short notes.
Custom dictionary
list
Words and phrases Hapi should always spell a specific way — names, acronyms, brand spellings, technical jargon. Edited as a plain list in Settings → Dictation → Custom dictionary.

03

Meetings

When you join a meeting in Zoom, Google Meet, Teams, Slack huddles, WhatsApp, FaceTime, or any browser-based meeting on supported hosts, Hapi can detect it and offer to record. You can also start a recording manually from the menu bar for in-person meetings or phone calls.

H

Hapi

now

Meeting detected

Google Meet — “Q4 planning with Sarah”. Want to record?

RecordSkip
Notification banner — click Record to capture mic + system audio

What gets produced

  1. Transcript — full diarized transcript with timestamps and speaker labels.
  2. Title — short, factual title generated from the content.
  3. Summary — TL;DR plus a topic-by-topic breakdown.
  4. Action items — extracted with owner, due date when stated, and a link back to the moment they were said.
  5. Entities — people, companies, projects, and decisions mentioned, linked to existing profiles or queued for review.

Settings reference

Setting
Type · default
What it does
Meeting auto-detect
toggle·on
Watches for known meeting apps and browser tabs and prompts to record. Disable if you only want manual capture.
Capture system audio
toggle·on
Captures the other side of the call alongside your microphone. Requires Screen Recording access.
Speaker labeling step
toggle·on
Show a review screen after each meeting so you can confirm or correct who said what before saving.
Pre-meeting briefings
toggle·on
A few minutes before a calendar event, Hapi prepares a one-page briefing from past conversations with the same people.
Include action items in summary
toggle·on
Whether the summary text reuses the structured action-item list or generates a separate prose section.
Trusted participants
list
Calendar attendees and email addresses Hapi treats as known speakers. Used to constrain speaker labels and avoid hallucinated names.

Editing a finished meeting

Open any meeting from Today, Recordings, or ⌘K search to:

  • Edit the title, summary, or any topic.
  • Re-attribute lines to a different speaker.
  • Mark, snooze, or complete action items.
  • Turn the meeting into something else — a follow-up email, notes, or your own custom prompt.
  • Append a follow-up recording to the same meeting; Hapi re-runs summary and entities on the merged transcript.

04

People & entities

Every meeting and note feeds a private knowledge graph of people, companies, projects, and decisions. Profiles live on your Mac; nothing is published, sold, or shared.

How learning works

  1. Extraction. After each transcript, Hapi proposes new entities and links to existing ones.
  2. Review queue. Proposals land in a queue you can approve, reject, or merge. Nothing enters your graph until you approve it (unless you turn auto-approve on for high-confidence matches).
  3. Edit any time. Open a person or company and edit their name, email, role, company, notes, or relationships. Changes propagate to past meetings.
  4. Merge or split. If two profiles refer to the same person, merge them. If one was wrongly combined, split them.

Review queue

SC

Sarah Chen

Person

Mentioned in 3 meetings · sarah@northstar.io (proposed)

Merge…RejectApprove
PH

Project Helios

Project

Mentioned 7 times across 2 meetings

Merge…RejectApprove
NL

Northstar Labs

Company

Linked to 2 people · 1 meeting

Merge…RejectApprove
People → Review queue. Auto-extracted entities awaiting your approval. Nothing enters your graph until you approve it.

Settings reference

Setting
Type · default
What it does
Auto-extract entities
toggle·on
Whether new transcripts are scanned for people, companies, projects, and decisions.
Auto-tagging
toggle·on
Whether transcripts are tagged with the entities they mention.
Approval mode
enum·Manual review
Manual review queues every proposal. Auto-approve high confidence merges only when Hapi is highly confident. Auto-approve everything skips the queue (not recommended).
Your profile
form
Name, email, role, company, and free-form context (timezone, projects, writing style). Hapi uses this to identify you in transcripts and to write follow-ups in your voice.
Speaker enrollment
list
Voiceprints for people you talk to often. Improves diarization accuracy across calls. You can add a voiceprint from any past recording.

05

AI provider

Hapi is local-first by default: a quantized Qwen model runs on your Mac and handles summaries, action items, titles, and entity extraction. If your machine is below the recommended 24 GB of RAM, or if you simply prefer to use a frontier model, you can route part of the pipeline to a cloud LLM through OpenRouter.

Provider Mode

Cloud mode (hybrid)

Use cloud LLMs for selected features. Audio and embeddings always stay on this Mac.

Settings → AI

OpenRouter

API key

Stored in macOS Keychain. Never synced to iOS.

••••••••••••••••Save

Require zero-retention

Only models with contractual no-logging are dispatched. Requests carry data_collection=deny.

Settings → AI → Advanced → OpenRouter (visible when hybrid mode is on)

Routes

Summary

Meeting summaries and TL;DR

Claude Sonnet 4.6

Action items

Owner, task, due date extraction

GPT-4o mini

Title

Short factual meeting titles

Local · Qwen 0.8B

Entities

People, companies, projects

Local · Qwen 4B
Settings → AI → Advanced → Routes. Pick local or cloud per pipeline step.

Usage this month

Spent

$3.20 / $25.00

Resets on the 1st. Click a route above to see per-route token counts.

Settings → AI → Advanced → Usage. Auto-falls back to local if the budget is hit.

Settings reference

Setting
Type · default
What it does
Provider mode
enum·Local only
Local only — nothing ever leaves your Mac. Hybrid — summary, action items, briefings, entities, and speaker labels can route to the cloud; raw audio and transcription always stay local.
Local model tier
enum·Auto
Good (1.7B) on under 24 GB Macs, Best (4B) on 24–31 GB, Pro (8B) on 32 GB and above. Auto picks based on detected RAM.
Cloud model per route
enum
Pick a model for each pipeline step (summary, action items, title, entities, speaker labels). Defaults to a strong general model; override individually.
Require zero retention
toggle·on
When on, Hapi only dispatches to providers that contractually commit to no logging, and adds data_collection: deny on every request. Models without that commitment are filtered out.
Monthly budget
currency
Optional cap on cloud spend. Hapi tracks tokens per route and falls back to local if the budget is hit.
OpenRouter API key
secret
Stored in the macOS Keychain — never in plain settings. Bring your own key; Hapi does not proxy your traffic.

What never leaves your Mac

  • Raw audio recordings.
  • The Parakeet speech-to-text model and its output.
  • Diarization embeddings (ECAPA, WeSpeaker, Pyannote).
  • Text embeddings (GTE) used for search.
  • The SQLite database with your transcripts, entities, and history.

In hybrid mode, only the text Hapi chooses to send — the cleaned transcript or summary chunks for a given step — leaves the device, and only to the provider you authorized.

06

Integrations

Obsidian

Point Hapi at your vault and it will mirror new transcripts, summaries, and action items as Markdown files. You choose the folder, file naming, and which outputs to sync.

Claude Code

Hapi exposes an MCP server (search meetings, get a meeting, list action items, search entities, semantic search) so Claude Code can answer questions about your knowledge base from any project. See the MCP server page for setup and the full tool list.

Mail

Optional. When enabled, Hapi reads recent threads from a connected mailbox to link people to their email addresses, detect out-of-office replies, and flag decisions that have drifted between meeting and email. No mail content is sent to the cloud.

Calendar

Read-only access to your macOS Calendar so Hapi can label meetings with the event title, link recordings to invitees, and generate briefings.

Webhooks

Configure URLs to be called when a transcript is finished, when an action item is created, or when an automation sends to it. Useful for pushing into Notion, Linear, Slack, or your own pipeline.

07

Automations

Automations let you fire actions when something specific happens, without opening Hapi.

Triggers

  • Transcription end — fires whenever a meeting or voice note finishes processing.
  • Scheduled time — fires at a chosen time, daily or on specific weekdays. Useful for end-of-day digests.
  • Keyword match — fires when a transcript contains a chosen word or phrase.
  • Speaker detected — fires when a specific person is heard in a recording.

Actions

  • Run a custom prompt against the transcript.
  • Send the result to a webhook.
  • Write a Markdown file to your Obsidian vault.
  • Show a notification.

09

Your data

Where it lives

  • ~/Documents/Hapi/Recordings/ — audio files.
  • ~/Library/Application Support/Hapi/transcripts.db — transcripts, summaries, action items, entities, and embeddings.
  • ~/Library/Application Support/com.hapi.transcription/ — local models (Parakeet, Qwen).

Export

From any meeting or voice note: Export as TXT, Markdown, SRT, JSON, or CSV. From Settings → More → Integrations → Export All Transcripts you can dump your full library at once.

Delete

Delete a single transcript from its detail view, a person from their profile, or everything by removing the folders above. There is no remote copy to clean up.

iOS companion

The iPhone app records and transcribes locally on the phone, then syncs through your private iCloud account to your Mac. Recordings never touch our servers.

Still have questions?

Read the privacy policy, check the roadmap, or email hi@speakhapi.com.