mess

The full tour

Every feature,
and why it exists.

Nothing here was built on spec. Every feature below was demanded by a real shoot, and most were built the same evening something felt slow.

An infinite canvas that refuses to hitch

The one job: moving a picture over a pile of hundreds of others must never stutter. Everything else is negotiable.

Hundreds of photos, one surface

Pan and zoom over 500+ full-resolution imports. Off-screen photos are culled, on-screen ones render from right-sized previews: three tiers, swapped as you zoom, so overview never decodes more pixels than your screen can show.

Smooth zoom, anchored to your cursor

Mouse-wheel zoom glides instead of stepping; trackpad pinch is direct. Zoom out for the contact sheet, dive to a single frame, and photos stream in as the view widens.

Quality that steps aside

Decorations that cost frames (keeper glows, fine sampling) pause during motion and return the instant you stop. You get the pretty version exactly when you're looking, and speed when you're moving.

Boards that fly

Click anything in the sidebar and the camera flies to it. ⇧1 fits the whole board, ⇧2 fits the selection, ⌘0 snaps to 100%.

Import that meets your files where they are

Drop a folder

Drag an export folder from Finder and its pictures land in a tidy grid, in natural filename order, so shot-9 comes before shot-10 and the sheet reads in shooting sequence. Subfolders stay untouched on purpose.

HEIC, straight off the iPhone

iPhone photos convert on the way in using macOS's own engine, no exporting to JPEG first. Orientation metadata is honoured, so portraits land upright.

Video clips too

.mov and .mp4 files import as poster frames with a ▶ badge: draggable, croppable, cullable like any photo. The clip itself plays in the full-screen view, and exports hand you the original file.

Paste works

⌘V an image from anywhere and it lands at your cursor. Same photo imported twice? The vault stores it once.

Sorting, at thinking speed

Full-screen, three keys, no timer. Keepers and outs are just labels on the mess: nothing is deleted, everything is undoable.

  • Space or a double-click opens the lightbox; walk the shoot in reading order
  • 1 rejects, 2 keeps, 3 or U back to neutral; 1 and 2 advance automatically
  • The same keys work on the board: marquee five near-duplicates, press 1, done
  • Z or a click zooms to true pixels from the original file. Judge focus, not previews; drag to pan the frame
  • C compares 2–4 selected frames side by side (four go 2×2), with keep/reject under each
  • Keepers wear a soft glow, rejects dim to a whisper; marks survive quitting and every one is undoable
  • The sidebar reorganises itself live into Keepers · Unsorted · Rejected; click a group's count to select them all
  • Toolbar chips: ✓ selects all keepers, ✗ all rejects (one ⌫ clears them off the board), ⟲ wipes the marks
  • Right-click an empty spot → Gather here: scattered keepers fly into a tidy pile, still selected, ready to drag
culling · 1 reject · 2 keep · 3 neutral
2 · keep
1 · reject

Carousels as one object

Frames are viewports, not containers: they own nothing and clip nothing. You slide photos underneath until the crop reads right.

Create the whole strip

Press F, pick a ratio (4:5, 3:4, 9:16, 1:1, 5:4, 4:3, 16:9) and a slide count, and the strip appears abutting and selected, at true 1080px export dimensions.

Decks move together

Grab any slide's border and the whole carousel moves; resize a corner and every slide scales in step. Slides reorder by drag in the sidebar, taking their photos with them.

Magnet snapping

Frames snap flush to frames, photos to frame and photo edges, moving and resizing, with pink guides at the matched edge. S toggles it when you need freedom.

Fill or fit in one click

Right-click a photo overlapping a slide: Fill frame covers it exactly with an auto-crop, Fit in frame letter-boxes it. Works on a whole selection at once.

Slide backgrounds from the photos

Each slide can carry a background colour: typed as hex, or picked from ten swatches sampled from the photos actually sitting in that frame.

Badges and labels

Every slide shows its position; click the badge to rename it, renumber it, move it between carousels, or add the next slide.

Enough photo editing, and no more

This is a planning surface, not a darkroom, but framing decisions live here.

Non-destructive crop

Right-click → Crop: the full image ghosts behind a bright window with a rule-of-thirds grid. Drag edges to reframe (they snap to nearby frames and photos) or drag inside to slide the photo behind the window. Pixels never move on the board; Uncrop restores everything.

Rotate in place

↺ ↻ in the crop view turn the photo in 90° steps. The crop turns with it, and exports render the rotation from the original.

Photo frames

A solid border in any colour, drawn inside the photo's bounds so layout and snapping stay exact. The colour picker offers the photo's own dominant tones, sampled from the visible crop, not parts you removed.

Find the source

Right-click → Find in Finder reveals the original file in the vault. Export a selection and you get those originals back, byte for byte.

Collage maths, done for you

Exact gaps

Select photos, type a pixel gap, and pack them into a row (⇥) or column (⤓): every gap identical, heights untouched. Zero packs edge to edge.

Spread evenly

With three or more selected, Even pins the end photos and equalises every gap between. The "stop looking accidental" button.

Gather anywhere

Right-click a spot → gather the selection into a compact pile centred exactly there, sizes preserved, no overlaps, one undo.

Group resize

Any mixed selection gets resize handles; corner-drag scales the whole arrangement as one object, aspect held for photos.

Notes that behave like stickers

Instant text

N drops a note, you're typing immediately. Six colours, bold, italic, centred by default; the colour controls appear only while a note is selected.

Text scales with the note

Drag a corner and the type grows live with the box: headline-sized for section markers, small for caption drafts. Presets from 56 to 256px when you want exact.

They export too

Notes inside a slide render into the exported PNG, centred. Usable for text slides, not just margin scribbles.

Exports for every audience

  • Slides: each frame as a 1080px PNG (or 2× for 2160), named carousel-1.png onward in deck order, drawn from the untouched originals
  • Carousel as one image: the whole strip stitched wide, for seeing the swipe at a glance
  • Whole board: a moodboard PNG or JPEG of everything, frames as thin outlines
  • Picked photos: your keepers copied out as byte-identical originals with their real filenames; videos come out as the actual clips
  • Copy slide: ⇧⌘C puts the current slide straight on the clipboard
  • No silent overwrites: an existing filename prompts: overwrite, skip, or keep both (auto-numbered)
⌘E · export slides
post-1-1.png · post-1-2.png · post-1-3.png

A vault you can trust, and read

Boards are plain JSON in ~/Documents. Photos are content-addressed copies. Nothing phones home.

Autosave, atomically

Every change hits disk within a second, written to a temp file and renamed, so a crash can never leave a half-written board. Closing flushes first, and refuses to quit if a save fails.

Undo everything

Moves, crops, marks, deletions, whole gather operations: each one is a single ⌘Z step, coalesced sensibly.

Archive finished boards

One click releases a board's full-res originals but keeps it browsable from previews forever, with typically 90% of the space back. Archived boards live in their own menu, out of the way.

Trash with a way back

Deleted boards go to an in-vault trash. The Storage view lists them with a Restore button, shows exactly what everything weighs, and empties the trash only when you say so.

Space accounting

Storage… in the menu breaks the vault into originals, previews, boards and trash, with proportional bars, and Clean Unused Assets reclaims photos no board references.

Many boards, one switcher

⌘K opens a fuzzy-search switcher with live thumbnails; boards reorder by drag in the sidebar.

The whole keyboard map

Space lightbox on selected photo
1 / 2 / 3 reject · keep · neutral
← → previous / next photo
Z zoom 1:1, drag to pan
C compare 2–4 selected
N new note
F new carousel
S toggle snapping
[ ] z-order back / forward
arrows nudge 1px (⇧ 10px)
⌘Z / ⇧⌘Z undo / redo
⌘C ⌘X ⌘V copy / cut / paste
⌘D duplicate
⌘E export slides
⇧⌘C copy slide as image
⌘K board switcher
⌘N new board
⌘0 zoom 100%
⇧1 / ⇧2 fit board / selection
? cheatsheet in the app