Design & Engineering

How a folder becomes a
living mosaic.

FlexGrid isn't a video player with a bunch of novelty appendages zip-tied to it. It's a composition engine built around one question: what if your whole library could play at once, gracefully, on the Mac you already own, without the interface looking like a hostage note?

Principles

Six rules that keep the whole thing from becoming embarrassing.

Native, not Electron

SwiftUI, AVFoundation, Vision, VideoToolbox, CoreImage, Metal, Accelerate, ScreenCaptureKit, AppIntents, FoundationModels, StoreKit 2. The actual macOS stack, not a browser in costume.

Private by default

No accounts, no analytics, no telemetry, no network calls for features. AI captions and super-resolution run on your Mac, not in a server farm with trust issues.

Free is a real tier

Not a demo. Not a teaser. Not the first hit free. Free is a complete media grid player; Plus and PRO just make it stranger and more powerful.

Concurrency, but the strict kind

Swift 6 strict mode. Actors guard caches, @MainActor guards UI, and data races get caught at compile time instead of during somebody's gallery opening.

Built for the Mac you have

Adaptive cache sizes, bounded concurrency, off-screen player pooling. Whether you're on a MacBook Air or a Mac Studio, the app adjusts instead of getting theatrical.

Calm, not loud

Breathing indicators instead of spinners. Time-aware greetings. Reduce Motion respected everywhere. VoiceOver labels on the obvious bits and the sneaky bits too.

Under the hood

The systems doing the work while the UI pretends this is effortless.

01

Smart Layout Engine

FlexGrid analyzes every file's aspect ratio, orientation, type, and metadata before painting a single tile. SmartLoad reads the folder and recommends the right grid size. Layout suggestions appear after the first scan with recommendations tailored to your media mix.

02

Borrowed Player Architecture

Double-click a cell and it goes fullscreen with zero buffering. FlexGrid hands the already-playing AVPlayer from the grid cell to the fullscreen view — no reload, no poster frame, no loading state. Close fullscreen and it slides back into the grid, still playing.

03

Adaptive Performance System

FlexGrid reads memory pressure and CPU load at the kernel level — the same data Activity Monitor uses — and tunes itself in real time. It trims caches, recycles off-screen players, and skips expensive operations when the system is under load. You don't configure it.

04

Four-Tier Caching

Hot in-memory caches for what's on-screen, warm caches for nearby pages, cold disk caches for known folders, and a persistent metadata cache that stores relative paths only. Re-scans of known folders are instant.

05

Multi-Dimensional Shuffle

SmartShuffle is a bag-draw that tracks every item you've seen across shuffles, page flips, and auto-advances. It simultaneously balances by date, file type, aspect ratio, and duration. Every shuffle feels diverse because it is.

06

GPU-Efficient Filter Pipeline

Video filters, image tinting, ambient padding shaders, and AI export effects all share a Metal-backed CoreImage pipeline. Filters compose without re-decoding; the GPU does the work the CPU shouldn't.

07

Zero-Waste Design Philosophy

Off-screen players are recycled into a pool. Caches respond to memory pressure. Metadata is reused across sessions. Concurrency is bounded — 4 concurrent image loads, 2 palette computations — so the app stays responsive even on a MacBook Air.

08

File Relinker

Move a folder, rename a file, reorganize your drive — FlexGrid notices and quietly resolves the references. It fingerprints each file by name and size, infers sibling folders, and reconnects broken paths without asking. Productions and collections survive the kind of reorganization that breaks most media tools.

09

Composable Modes

FlexGrid is one app composed many ways. Art Gallery + Kiosk + Auto-Advance becomes an installation. VJ Mode + Beat Reactivity + MIDI becomes a performance instrument. Siri & Shortcuts chain it with other apps. Same primitives, different combinations, no plugins.

Performance

Measured, not manifested.

0
Maximum simultaneous video tiles (5×5 grid, PRO)
0
AI Super Resolution upscaling for export
0
Network calls FlexGrid makes for any feature
0
On-device. Vision, VideoToolbox, CoreImage all run locally.

UX philosophy

Calm software knows when to shut up.

FlexGrid replaces loading spinners with breathing indicators — concentric pulsing rings for major states, a quiet pulsing dot inline. The loading text says what it's doing, so you aren't left staring at a little wheel like it's trying to contact the mothership.

The startup greeting is time-aware. Good morning, good afternoon, good evening — followed by a randomized sub-greeting with just enough personality to suggest the app has seen cable after midnight.

Per-cell overrides mean any tile can have its own folder, filter, speed, and scale mode while everything else follows the grid. Power lives one click away from the defaults, not in some cursed inspector panel from 2004.

Quick Hide makes the entire app vanish with a global hotkey. Playback stops, the screen goes dark, and anyone walking by learns absolutely nothing. Tap again and you're back exactly where you left off.

The fastest way to understand it is still to use it.

Bring a folder of media. You'll know within a minute whether this is your kind of weird.