Product
Marquee
Folders of photos in, a single MP4 out. A notarized Mac app that turns the archive you never look at into a slideshow that plays on any screen.
Photos became a write-only medium
I have tens of thousands of photos, and I almost never look at them. They sit in folders on a drive, in an iCloud library, on an old memory card - captured with real intent, then never seen again. The devices that are supposed to display them make it worse: a digital picture frame chokes on six thousand images, and a computer stalls generating thumbnails for a folder that large. The scale of a modern photo library has outgrown the tools built to show it.
There’s a format every screen already handles flawlessly, though - video. A single MP4 loops all day on a TV, plays without crashing on a cheap picture frame, and travels as one file instead of thousands of loose ones. Marquee converts a photo archive into exactly that, and enriches each slide with the date and location the photos already carry in their own metadata.
I built it because I wanted it for myself. The rendering engine underneath - a Python CLI I’ve been running against collections of four thousand-plus images for years - was already proven. Marquee is the part I was missing: no virtualenv, no pip, no FFmpeg install, no command line. Just folders in, MP4 out.
What Marquee does
You point it at one or more folders. It scans them and shows you a summary before anything renders - how many images and videos it found, the date range, how many had GPS, and honest estimates for how long the slideshow will run, how large the file will be, and how long the render will take. A multi-hour render should be a choice you make on purpose, never a surprise.
Then you hit Render and walk away. When it finishes, the MP4 plays inside the app, with buttons to Reveal in Finder or Open in QuickTime.



The app MACOS · DIRECT DOWNLOAD · SHIPPING
- Drag-and-drop or pick folders. Point Marquee at one or more source folders; recursive scanning is opt-in, and it remembers your folders across launches.
- A pre-render summary you can trust. Image and video counts, duplicates removed, date range, GPS coverage, and estimates for duration, file size, and render time - before you commit to anything.
- Render settings that match the engine. Output resolution (1080p or 4K), slide duration, fade duration, FPS, output destination, and a background audio track with volume. Sensible defaults out of the box.
- Live progress, and a cancel button that cleans up. A phase indicator - discovery, image clips, batching, composite - with the current item, percentage, and a per-phase ETA. Cancel mid-render and Marquee clears its partial temp files.
- One bad photo doesn’t sink the render. An unreadable image is skipped with a logged warning instead of aborting the whole run.
- The result stays in the app. The finished MP4 previews right there, with Reveal in Finder, Open in QuickTime, and a re-render-with-the-same-settings shortcut.
The slideshows
- Ken Burns motion on every still, 4x supersampled so the edges stay clean.
- Automatic date and location overlays. Marquee reads each photo’s EXIF and renders the date and a readable place name - “Paris, France,” “Yosemite, California” - onto the slide, with zero configuration. No other consumer tool I’ve found does this by default.
- Offline reverse geocoding. GPS coordinates become place names from a bundled dataset. Your photos and their locations never leave your Mac.
- HEIC support, invisibly. Apple’s HEIC and HEIF images are converted on the fly before encoding. No setting, no action.
- Photos and video, together. Video clips are composited alongside stills, their audio preserved, and any background music ducks under them automatically.
- Crossfades and a consistent hardware encode using Apple Silicon’s VideoToolbox, with fast-start MP4s ready to stream.
Private by construction
Marquee makes zero network calls during a normal render. No account, no telemetry, no cloud. Even the reverse geocoding runs against bundled data, so a folder of GPS-tagged family photos never touches a server. The whole pipeline runs on the Mac in front of you - which is the point.
It’s signed with a Developer ID and notarized by Apple, so it opens without the “unidentified developer” block. This is a deliberate direct download, not a Mac App Store app: you own the binary, and it owes nothing to a sync service to do its job.
Get Marquee
Marquee runs on Apple Silicon Macs, macOS 12 or later.
- Download
Marquee_1.0.0_aarch64.dmgfrom the release page. - Open the DMG and drag
Marquee.appinto your Applications folder. - Launch it from Applications.
Because it’s notarized, macOS opens it normally. On first launch macOS may pause for a moment to verify the notarization ticket - that’s expected.
If macOS still warns on the very first open (for example, if your browser flagged the download), right-click Marquee in Applications, choose Open, then Open again in the dialog. You only need to do this once. Everything after that runs entirely offline.
Under the hood
Marquee wraps a Python rendering engine - slideshow-gen - that has been doing the actual work for years. The app is a Tauri shell that drives that engine as a signed sidecar, so the app and the command line share the same code and produce the same output. If you’d rather script it, automate it, or reach for the full flag set, the CLI engine is open on GitHub
.