Five Mac apps I've built.

Every screen here is rendered by the app's own tests, using demo content in place of my real files, rooms and messages.

01
Ledge

Shake while dragging and a shelf appears.

I move a lot of files between local folders, external disks and a NAS. Ledge gives them somewhere to wait while I find the destination.

Opens with
Shake or a held key
Focus
Never taken
Watches
Folders, shares, disks
The shelf floats above your windows without taking focus, so the app you were dragging from stays in front.
Show all 4 screens Collapse
Fig. β

Open the stack

A shelf points at files where they are, so nothing is duplicated until you copy it. Open the stack to see each name and size.

Fig. γ

Copying from the shelf

Copy or move straight from the shelf. Progress and Cancel show on the shelf, and the window you came from stays as it was.

The shelf shows the stack and little else. Actions sit behind one button, and anything advanced is in Settings.

Fig. δ

Watched folders

Ledge also watches favourite folders and puts new files on a shelf as they arrive. Each folder shows its real state: watching, checking a share, waiting for a disk, or missing. A share that is offline is a normal state, not an error.

02
Spoke

A radial menu for prompts.

People who work with AI assistants all day type the same prompts over and over. Spoke lets them aim at a prompt instead.

Trigger
One key, release to insert
Per ring
Up to 8 segments
Routing
One wheel per app
Press a key, move through the wheel, release. The text goes into whichever field has focus.
Show all 2 screens Collapse

Refactors in an editor and casual replies in a chat app need different prompts, so an app can have its own wheel. The frontmost app picks the wheel when you press the key.

Fig. ζ

Usage

Usage ranks entries by how often you use them, which shows what belongs on the wheel.

03
Habitat

Home Assistant readings on the desktop.

Home Assistant has the answer to most questions about the house, but you open a browser tab to get it. Habitat puts the answers on the desktop.

Source
Home Assistant
Widgets
13 configurations
Sizes
Small, medium, large
The widget is the main thing. It shows the reading, and lights and switches toggle with a tap.
Show all 5 screens Collapse
Fig. θ

Room colours

Each room keeps one colour on every chart, so you can tell the lines apart without reading the legend.

Fig. ι

Power

Whole-house draw sits above the larger consumers, so a short spike like the oven is easy to see.

Fig. κ

Gauges

Readings with a natural 0 to 100 range, such as humidity or battery level, are shown as rings.

Fig. λ

Air quality

Two readings, and only the one that needs attention is coloured.

04
Kinetip

Settings for a pen tablet.

A pen tablet is used all day and configured rarely. When it misbehaves, you want to know why before you touch a slider.

Changes
Apply or Revert
Reload
Exactly once
Hardware
Described by capability
The first screen says whether the tablet, permissions and mapping are working. After that, each change previews its effect, and Apply reloads the engine once.
Show all 7 screens Collapse
Fig. ν

Gestures

Pen buttons and motions map to pointer, drag, pan and scroll. Settings are grouped by what you want to do, not by the tablet's report layout.

Fig. ξ

Momentum

Scroll inertia is drawn as a decay curve, so you can see what changing the friction does.

Fig. ο

Reading the curve

The preview replays a flick using your current settings.

  1. 1Speed starts at the flick velocity and decays along the curve.
  2. 2Below the fade threshold, the softened tail takes over.
  3. 3The tail lets the coast settle instead of stopping abruptly.
Fig. π

Mapping

Pick the active area on the tablet and see where it lands on the screen before you apply it.

Fig. ρ

Reading the map

Proportions are preserved, so a circle drawn on the tablet is a circle on screen.

  1. 1The target display and its resolution.
  2. 2The mapped area: the part of the tablet that reaches the screen.
  3. 3Drag a handle to resize. The numeric fields below do the same from the keyboard.
Fig. σ

Usage insights

A heatmap of pen activity across the tablet surface.

05
EvoControl

An audio interface mixer in the menu bar.

Changing a level on the EVO 8 normally means opening the official app. Most changes should take a few seconds.

Interface
Audient EVO 8
Panel
300 pt, from the menu bar
Meter
32 segments per channel
Meter colours have fixed thresholds: amber from -18 dBFS and red from -6 dBFS, so a colour always means the same level.
Show all 6 screens Collapse
Fig. υ

Light and dark

The layout is the same in both. Meter colours don't change.

Light
Dark
Fig. φ

Reading a meter

Two rows, one per channel, 32 segments each.

  1. 1Green: below -18 dBFS.
  2. 2Amber from -18 dBFS.
  3. 3Red from -6 dBFS.
  4. 4The clip cell at 0 dBFS.
Fig. χ

Saved preset

When the panel differs from the saved preset, Save and Revert appear next to it. Save writes the preset back; Revert returns to it.

Fig. ψ

Channel groups

Outputs, inputs, playback and loopback are in one scrolling panel, and each group has its own meter toggles.

Fig. ω

Voice processing

Gate, EQ, leveler, compressor and de-esser, each with a live curve or meter.