Vol. 01 · No. 01 · The playground · A faithful slice

The playground

The page is the app.

Below is a hands-on slice of the flexGrid surface. Click a tile to lock it. Press R to shuffle. Press A to cycle aspect-match strictness. Press E to drop into Editorial Layout. This isn't a video — it's the actual choreography, in the actual interactions, in your browser.

flexGrid
SmartShuffle · Seen 0/20
Grid
Aspect
0 locked0 picks9 cells visible
Click a tile

Locks it — it stays put while everything else shuffles.

Double-click a tile

Picks it for Moments. The badge appears; the drawer would open in-app.

Grid size

4 / 9 are Free. 12 / 16 require Plus — marked with the orange dot.

Editorial Layout

Press E. Hero + supporting cells. Cycles three of the fourteen templates.

Editorial Layout

Magazine pages from a folder.

Fourteen curated templates with two to six cells. Vision-aware hero placement. A density knob and a structure lock so auto-advance can cycle contents inside a layout you composed once.

Editorial Layout · Hero + three4 cells · 14 templates total
Hero · vision-picked

Editorial Layout · Plus

Magazine pages, from a folder.

Fourteen curated templates. Two to six cells. Vision-aware hero placement. A density knob to trade calm for variety. Lock the structure and let auto-advance cycle the contents inside it.

Landscape window. One hero cell, three supporting frames stacked.

  • Templates bias to your window shape automatically.
  • Vision tags decide which cell becomes the hero.
  • Structure lock keeps the layout while the contents cycle.

Keyboard-first, on purpose

flexGrid is a piano. Here are the keys.

Mouse work is fine. The keyboard is faster. The shortcuts on this page work on the playground above — they also work in the app exactly the same way.

R
Shuffle the grid
L
Lock the hovered cell
F
Fullscreen the hovered cell
P
Pick this one for later
1 + + 9
Set grid size
+ K
Command Palette
+ +
Present mode
+ + M
Open Moments
+ 1 + + 9
Recall a Moment
+ + I
Paneless mode
A
Aspect Match: Preferred
+ A
Aspect Match: Strict
B
Blackout the room
Z
Freeze every cell
Space
Play / pause
+
Step pages
+ E
Export current grid as PNG

Cold open

There is no loading screen. Just the wall.

The scanner is progressive. The cultivated first batch fires in about a second and a half on a folder of twenty-five thousand files. Hit Open, hit the folder, hit nothing else.

On the right is the four-phase animation the app performs every time — empty target, folder arrival, scanner ramp, playing. The whole sequence takes under two seconds for most folders.

Drop a folder. The grid starts playing.
Drop a folder anywhere on the window
1 · Empty2 · Drop3 · Scan4 · Play

The loop seam

A flaw you stopped noticing — and a fix that doesn't exist.

Most video players give you a tiny black flash at the loop boundary. flexGrid uses AVPlayerLooper under every cell, so the seam isn't fixed — it isn't there. Watch the two strips loop.

Most video playersStitched

Naïve looping seeks back to frame zero. The decoder catches up, the player blinks, the audio clicks. You stop noticing it; you never stop seeing it.

AVPlayerLooperSeamless

AVPlayerLooper keeps a second media replica running across the loop boundary. There's no seek, no rebuffer, no flash. The seam isn't fixed — it isn't there.

SmartShuffle

Multi-dimensional library coverage, in the background.

Every shuffle scores candidates against a sliding window of what just played. The radar at right is that scoring, animated. The highlighted axis is whichever dimension is currently most decisive.

Bag-draw guarantees that every item plays before any repeat. The result is a shuffle that feels hand-curated. The math is doing the curating.

File typeAspect ratioSource folderDateDuration
kind47
aspect68
folder66
date42
duration87

Smart cell display

One Smart mode. A decision tree per cell.

Aspect matches? Fit. Subject found? Frame around it. Center crop safe? Take it. None of the above? Zoom out so the edges stay visible. Cycles through the four cases on the left.

Vision saliency
Smart cell display
3 : 4 (cell 16 : 10)
Subject found

Per-cell, every frame

A small decision tree, not six toggles.

  1. 1
    Aspect matches
    Fit — no crop needed.
  2. 2
    Subject foundNow
    Frame around the subject.
  3. 3
    Center crop safe
    Subject survives a clean center crop.
  4. 4
    Safe fallback
    Crop would clip — zoom out to keep edges visible.

Tightness slider and Top / Center / Bottom anchor when you want the framing nudged further. Otherwise the cell sorts itself out.

Now do it for real.

The playground is a faithful slice. The app is the rest of it — bigger grids, more shortcuts, actual video, your folder, your wall.