# Show HN: Local AI for dictation, meetings, background tasks and more

> Source: <https://sideos.ai>
> Published: 2026-10-24 08:04:16+00:00

# Talk to your Mac. It actually does the work and tells no one.

Hold `Control` `Option`, say what you want, let go. sideOS reads your screen,

 decides what to do, opens apps, clicks, types — and tells you when it’s done.

## See it in 45 seconds.

## Seven things,

every single day.

The core of sideOS, playing itself. Pick any of them — or let it run.

### Talk to it

Say what you want. It reads your screen and does it for you.

- Hold, speak, let go `Control`` Option`The work starts the moment you release, and it tells you the result out loud.
- Draw on the screen while you talk The pointer becomes a laser. Circle something and that region travels with your question — “fix this” is a whole sentence.
- It reads the screen properly Through the accessibility tree in about 50 ms, knowing every button by name. Images are the fallback, not the method.
- It drives your apps Opens them, clicks, types, presses key combinations, runs AppleScript. Mail, Notes, Calendar, the browser — same road.
- Look-ups never hijack your screen Weather, news, rates and scores are searched in the background. No browser window opens on your behalf.

Listening · point at anything

Revenue · last six months

“Why is this month down? Draft a note to the team.”

### Dictation

What you say lands at your cursor, in any app. No key, no bill, no internet.

- Hold, speak, it types `Control`` fn`Let go and the text appears wherever your cursor is, whichever app you happen to be in.
- Hands free `Control`` fn``tap` Tap instead of holding and dictation stays on. Tap again, press the island button, or hit Esc to finish.
- Free, and it never phones home Recognition runs on macOS's own engines. Nothing reaches a cloud model, nothing is billed.
- Nothing gets lost No editable field in focus? The text goes to your clipboard and the island says so.
- Two engines, picked for you 62 languages on the classic engine, no time limit on the new one. Automatic uses whichever is ready.

Any app · at your cursor

Ship the beta on Friday and move the review to Monday morning

### Background tasks

Long jobs run in their own loop while you carry on. They never touch your screen or keyboard.

- Hand it the job and walk away “Research this market and write me a report.” Say it out loud and it becomes a task on its own.
- Its own toolbox Shell commands, files, web search, page reads, rendered PDFs, AppleScript — in a loop separate from the chat.
- Anything with teeth asks first When a command can't be undone the island opens by itself and asks. Some are blocked outright.
- Output lands in one folder Everything it makes goes to Documents › sideOS Tasks, and the finished page opens in one click.
- It tells you when it's done A notification on completion, another when it needs you. Meanwhile a coloured strip sits in the notch.

Running in the background

- `web_search` Q3 competitor pricing
- `read_file` ~/Notes/pricing.md
- `write_file` report.md
- `render_pdf` Q3-summary.pdf

`run_shell` needs your approval

### Meetings

It records, transcribes on-device, writes the summary and pulls out the actions.

- It notices the call A Zoom, Meet or Teams window opens and the island offers one-tap recording. It never starts on its own.
- Transcription never leaves the Mac Whisper downloads once and runs entirely here. No audio is sent anywhere, in any language.
- Who said what Speakers are split apart rather than lumped together — with real names when the call window shows them.
- Summary, decisions, actions Written the moment recording stops. Any action item becomes a reminder in one click.
- You decide how long audio lives Delete it the second it's transcribed, or keep it for a year. The transcript stays either way.

Recording · transcribed on device

- AyşeCan we push the launch to the 14th?
- YouWorks for me — I'll tell support today.
- MarcI'll redo the pricing slide before then.

### Reminders

They go off in the notch — and some of them finish the work before they do.

- Set them by voice “Remind me to send Maya the deck at two tomorrow.” Typing or the bell panel work the same.
- Reminders that do the job Ask for a news digest every morning and it runs before it rings — the finished page is waiting when it does.
- It rings in the island The island stays open until you deal with it. Hard to miss, and snoozed in one tap.
- Repeats that hold Once, daily, weekdays, weekly or monthly — and overdue ones stay marked until you clear them.
- Straight out of a meeting Action items from a call become reminders with the meeting attached, so the context comes with them.

09:00 · it already ran

“Every morning at nine, give me the news digest.”

08:52 — preparing in the background

Reminder · 09:00

Result ready — 6 stories

### Connections

Gmail, Calendar, Notion, Slack, GitHub — their tools join the ones it already has.

- Ready-made services, one click Hit Connect, sign in through your browser, and the tools land in the list. Nothing to install.
- They become its tools Once connected they sit beside the built-in ones, so “reply to that and put it on my calendar” is a single request.
- Anything that writes starts off Tools that send, delete or change something arrive flagged and switched off. Enabling them is your call.
- Paste anything else For servers outside the catalogue, paste their JSON — configs written for Claude Desktop work too.
- Secrets go to the Keychain Values from the config move into the Keychain; only the variable names stay in the file.

MCP · tools joining the toolbox

### Activity history

Switch it on and it can answer questions about your own past. Off by default — the call is yours.

- Ask about last Tuesday “Which film did I watch five days ago?” stops being a question only you can answer.
- Basic Every ten seconds, just the frontmost app and its window title. The processor barely notices.
- Detailed Once a minute the text on screen is read on-device. Only text is kept — no image ever hits the disk.
- You draw the line Retention and excluded apps are yours to set, and password managers are always excluded.
- It stays here The database lives on this Mac. Only what matches your question is ever sent anywhere.

Local log · never leaves the Mac

“Which film did I watch on Tuesday?”

- Tue 21:40TV · “Perfect Days”
- Tue 15:12Safari · Pricing teardown
- Mon 09:58Figma · Onboarding v3

“Perfect Days — Tuesday evening, about nine forty.”

Playing through all seven — click any tab to take over.

Works in every app on your Mac

1. You hold Control + Option wakes the notch.
2. Listening macOS transcribes on-device. No API call.
3. Thinking Reads the live screen in about 50 ms.
4. Acting Opens, clicks, types, scripts — for real.
5. Speaking Says what it did, out loud.

## It doesn’t just answer.

It acts.

Chatbots hand you a paragraph and leave the work to you. sideOS has hands — a toolbox that reaches straight into the apps already open on your screen.

### It reads the screen, not a screenshot

sideOS pulls the accessibility tree macOS already maintains for every window: real buttons, real labels, real text fields. Same understanding as a screenshot, a fraction of the time and tokens. Images are the fallback, not the default.

~50 ms

to read the screen

20 tools

in the agent's hands

### The toolbox

- `read_screen` Reads the live state of the screen
- `open_app` Launches or focuses an app
- `click_element` Hits buttons, links, menu items
- `click_at` Clicks exact coordinates when needed
- `focus_element` Puts the caret in a text field
- `type_text` Types into whatever is focused
- `press_keys` Sends any keyboard shortcut
- `run_applescript` Drives Apple apps directly
- `take_screenshot` Visual fallback for canvas & video
- `wait` Waits for the UI to settle
- `read_attachment` Opens files you drop into the chat
- `clipboard_history` Looks through your last 20 copies
- `paste_clipboard` Pastes a chosen clipboard entry
- `create_reminder` Sets reminders and scheduled tasks
- `list_reminders` Lists what is scheduled
- `cancel_reminder` Cancels a reminder
- `search_meetings` Searches your meeting notes
- `search_activity_history` Searches the opt-in activity log
- `forget` Deletes a remembered fact on request
- `start_background_task` Hands long jobs to a background agent

Things people actually say

A brake stops the agent if it starts repeating itself. Longer jobs belong in background tasks — press Esc at any moment and everything stops instantly.

## Point at anything

on your screen.

No more describing what you're looking at. Frame it, ask, and sideOS sees exactly what you see.

- Drag while you talk Holding the keys turns the cursor into a crosshair. Frame a chart, an error, a paragraph — anywhere on screen.
- Pixels and elements, together The accessibility tree can't see charts or video. An image misreads long numbers and code. sideOS sends both, so they cover each other.
- Cropped at native resolution Only the region travels, at full sharpness — clearer than a whole screenshot and a lot cheaper.

## Dictation that costs nothing.

Hold `Control` `fn` and talk. What you say is typed exactly where your cursor is — a note, an address bar, a form field, a terminal. It never touches the model.

Four gestures

- Hold, speak, release Push-to-talk. The text lands the moment you let go.
- Tap once (under 400 ms) Hands-free. Let go of the keys — the island keeps listening.
- Tap again Wraps up and types everything you said.
- Press Esc Cancels. Nothing gets typed.

Dictation on

On-device
Ship the beta on Friday, tell the team we are moving the review to Monday

- Zero API requests
- Works without an API key
- 62 languages, including yours

No API, no bill

Dictation never reaches a cloud model. It runs on macOS's own engines and works without an API key.

Your clipboard survives

Text is pasted at the caret, then whatever you had copied is put right back.

Nothing gets lost

No editable field in focus? The text waits on your clipboard and the island tells you so.

### Two engines, picked for you

Automatic by default — the newer engine when your language is supported, the classic one otherwise.

Classic

`SFSpeechRecognizer`
- Languages
- 62 languages
- Length
- ~1 minute per take

Available on every macOS version.

New

`SpeechAnalyzer · macOS 26`
- Languages
- 30 languages
- Length
- No time limit

Fully on-device. We fed it 7 min 10 s of audio in one pass — about 50× faster than real time.

## A whole workspace,

folded into a notch.

The voice loop is the front door. Behind it sits everything you'd expect from a real assistant — and it all stays on your Mac.

### Hand it a job and walk away

Background tasks run in their own loop while you get on with something else. They can search the web, read and write files, run shell commands and render a finished PDF. Anything with teeth asks you first.

Running · step 12 of 60

- `web_search` Q3 competitor pricing
- `read_file` ~/Notes/pricing.md
- `write_file` report.md
- `render_pdf` Q3-summary.pdf

`run_shell` needs your approval

### Meetings, handled

It notices when a call window opens and offers to record. Afterwards it transcribes on-device, writes the summary, works out who said what — and turns every action item into a reminder.

### It remembers

How you write, what you're working on, who matters. Ask what it knows, edit it, or just say “forget that”. Switch memory off and nothing is stored or sent.

### Reminders that nudge

“Remind me to send this at five.” It lands in the notch at five — overdue ones stay marked until you deal with them.

### Or just type

Double-tap Control and a chat field opens in the island; answers stream down as bubbles. Drop in images, PDFs or text files and it reads them.

### Bring your own tools

Connect any MCP server — HTTP or stdio, OAuth included — and those tools join the toolbox the assistant already has.

### Searchable history

Every run is logged locally, so “what did I do about that invoice last Tuesday?” is a question it can actually answer.

Prefer the keyboard? `Control` `Control` opens the chat field. Move the pointer to the notch and the island unfolds into a full control menu.

## Everything else, quietly.

The parts you'll find on your second day: the things that shape how it talks, what it remembers and where any of it lives.

### Type instead

The same assistant, in a chat field inside the island.

- Double-tap Control to open it
- Voice and text share one thread
- Chats are kept and searchable

### Hand it a document

Drop a file on the notch and ask your question about it.

- Drag from Finder onto the notch
- PDF text, image OCR, plain text read once
- Images, PDFs, Markdown, CSV, JSON, code
- Files are referenced, never copied

### Memory

It gets to know you, and all of it stays on your Mac.

- Learns from your conversations
- Worked out afterwards, never in your way
- See every entry, edit it, delete it

### Personalisation

How it addresses you and the tone it speaks in.

- Tell it your name and your work
- Nine personalities, or write your own
- Short, balanced or detailed answers

### Your choice of model

Claude, OpenAI, Gemini or Grok — the same assistant behind any of them.

- Three tiers each: top, balanced, light
- Every provider keeps its own key
- Switch without pasting anything twice

### Offline mode

Run the model on your Mac: no internet, no API key.

- On-device models, 4B to 30B MoE
- One of them reads screenshots too
- Not a byte leaves the machine

### Voice & language

How it sounds, and which language it answers in.

- Answers read aloud, or not at all
- Pick the voice, hear it first
- 32 interface languages

### The island

Nothing on screen when idle — the island is the notch itself.

- Move the pointer to the notch
- Drag the edges to resize it
- Pin it so it stays open
- Permissions in plain sight

### Privacy & updates

Where everything lives, and how new versions arrive.

- API key in the Keychain, never a file
- Recordings, memory and history stay local
- Screenshots only when nothing else works
- It updates itself, signed and notarised

## Your Mac stays yours.

An assistant that can see your screen and press your keys has to earn that. So the design starts from the other end: keep everything local, and send only what the request cannot do without.

- Speech recognition and dictation run on macOS's own engines, on your Mac
- Your API key lives in the Keychain — never written to a file
- Meeting recordings, transcripts, memory and history stay in local storage
- No account, and no server of ours between you and the model
- Nothing you say or show is used to train anything
- Screen data is read only for the request you just made
- Usage statistics are anonymous counters only, and you can turn them off

Your key, your bill

The only paid part is the model — Claude, OpenAI, Gemini or Grok — billed to you by that provider directly. We never see it.

Screenshots are the exception

The accessibility tree covers almost everything. Images are captured only when a request truly needs one.

Or go fully offline

Point sideOS at a local MLX model — Gemma, Mistral, Llama, Qwen and more — and not a single byte leaves your Mac.

What we do count

Once a day the app sends a random install id with counters: version, macOS, which provider you picked, how many runs, which tools fired, which errors hit, how long runs took, how many tokens your model calls used, and whether a licence is active. No text, no prompts, no screen data, no file or app names, no IP stored. Switch it off in Settings and nothing is sent.

The id is yours to hand over

That install id is shown in Settings as your support code. We cannot connect it to you — send it with a bug report and we can look up your counters, or send it to have them deleted. Without it we have no way to find your rows, which is also why the code exists.

## Buy it once. Keep it.

One payment, one Mac, every future update. No subscription, no seat, no expiry — and you can move the licence to a new machine whenever you like. The only other cost is the model you point it at, and you pay that provider directly, or nothing at all if you run it on your own machine.

The app

Most used
A lifetime licence. Buy it once, keep it forever — no subscription, no expiry.

- Reads the screen, clicks, types, scripts
- Region select, background tasks, meetings
- Memory, reminders, MCP servers
- No account to sign into — one key, pasted once
- Moves to a new Mac in one click when you upgrade
- Every future update included

[Buy a licence](https://sideos.ai/api/checkout?src=pricing)

The model

The agent needs a model to think with. Bring your own key and pay that provider directly, or run one locally and pay nothing.

- Claude, OpenAI, Gemini or Grok — switch whenever you like
- Roughly 2–5¢ per command on the default models
- Or an on-device model via MLX (Gemma, Mistral, Llama, Qwen…): no key, no cost, no network
- Turn thinking depth down, or pick the light model, for about a fifth

[See the providers](https://sideos.ai/#features)

Dictation

Runs on macOS's own speech engines, on your Mac. Nothing metered, nothing per word.

- Push-to-talk and hands-free modes
- 62 languages on the classic engine
- Types wherever your caret is
- No API key of its own

[Download for macOS](https://sideos.ai/download?src=pricing)

A typical command — read the screen, think, act, answer — lands around two to five cents on your own Anthropic, OpenAI, Google or xAI bill. Dictation costs nothing either way.

## Questions, answered

Everything people ask before they hand an assistant the keyboard.

- Only for the agent. Dictation runs entirely on macOS's own speech engines, so it needs no key and no account of its own. For the agent you paste a key from Anthropic, OpenAI, Google AI Studio or xAI, whichever you prefer; it is stored in your Keychain. Each provider keeps its own key, so switching back and forth costs you nothing. The app itself is a separate, one-time purchase.

## Hold two keys.

Start talking.

`Control` `Option` for the agent, `Control` `fn` for dictation. One licence, every future update — bought once, not rented.

- Apple Silicon
- macOS 14 or later
- Accessibility · Mic · Speech
