Splay
2026 · Fork, design, buildSimplify, then add lightness. How light can a voice dictation app for Mac and iOS be, and how native can it feel?
Splay (alpha) for Mac and iOS began as a fork of MacParakeet, a great open-source app for local voice transcription.
I love local transcription. It’s fast, it’s safe, and I genuinely love it when my hardware is put to work. Since I speak into my machine a lot, I was tempted to give my own version a go.
In the spirit of the old Lotus philosophy, “Simplify, then add lightness”, I set out to build an app that is as light, and feels as integrated into macOS, as the Dynamic Island does on the iPhone.
- Jun 1Fork

Upstream. MacParakeet by Daniel Moon, the app Splay started from.
- Jun 2First skin

Pick a green. First try: new colours on the same window.
- Jun 3Iteration

A quieter window. Two calmer layouts. Still a window.
- Jun 3Turn

The island. A small pill at the bottom of the screen. The big window stays closed.
- Jun 3No window

An ambient app. No main window at all. Transcripts are plain files in Finder.
- Aug 6Named

Splay. The island moves up to the notch and turns black and violet. It shows status and has no buttons.
- Aug 7Handoff

Nine states. Every state drawn to exact size, ready to build. Testing picked the fn key.
- Aug 8Theming
Seven accents. Seven colour themes. Red, amber and green keep their meaning in all of them.
- Aug 22Shipped
0.1.0. Signed, notarized and in daily use. No screenshot of it yet.
The fork’s north star. Where it disagrees with upstream, this document wins.
Upstream MacParakeet is a capable but broad app: dictation + file + YouTube + meetings + Transforms + calendar + Discover. For this owner’s actual use it carries weight that doesn’t earn its place. The fork keeps the engine, sheds the surface area, and re-themes.
Everything is capture → transcript document → export. The upstream split between “dictation” and “meeting recording” is artificial for this owner — they are the same intent (record a conversation) with a different audio source.
One key — Fn — two gestures, distinguished by audio source. Single tap: mic only. Double tap: mic + system audio. Both produce a transcript document. No push-to-talk.
Flagging preserves doubt; polishing hides it.
A borrowed engine in a big window,nine rooms he never walked into.He emptied them one by one,a hundred thousand lines of quiet.What stayed is a small black shape under the notch.Press fn and it listens.Red while you talk, violet while it thinks,green when your words are written down.Then it goes dark againand waits for you.
The upstream app was a full window: sidebar, library, dictations, settings, two competing entry points. Recording a meeting meant managing an application. The good part — local, fast, private — was buried under furniture.

One pill, docked, almost invisible. Press once to record; it morphs through recording, transcribing and done, then collapses. Not an overlay, not a window — the same object at different sizes.

The handoff file is the design: every lifecycle state at real dimensions, near-black surface, violet as brand and red as capture. Failure states are styled as failure — an incomplete capture is never dressed up as success.



The shipped 0.1.0 has no screenshot here on purpose — the last frame says so rather than faking one. Compared with upstream, the fork does less and gets used more: the test was whether anyone reopened the window. Nobody did.
- Fork point
- 2026-06-01
- Commits
- 50 · 11 threads
- Diff
- +15,103 / −137,760
- State
- 0.1.0 notarized · alpha
- Engine
- Daniel Moon · MacParakeet