
ProjectsPrivate Reel
Private Reel
V1 operational
Stack
- Next.js
- React
- TypeScript
- Tailwind
- Zod
- TanStack Form
- TanStack Query
- TanStack Pacer
- Drizzle
- Postgres
- WebAuthn
- SwiftUI
- Sparkle
Download Private Reel for Mac (opens in a new tab)
Private Reel repository (opens in a new tab)
What it is
A signed-in gallery for media, recipes, and series kept on reachable Macs. The public host is the door: sign in, create account, companion.
Why it exists
A public finder is not a private library. Those files stay on machines I reach.
How it works
Web app and Mac companion. Signed updates. History holds the door, the signed-in library, cooking, Keep, projects, and account. The record study is the updater lesson, not the whole product.
Case studies
- Making the Mac companion update itself safely
- The signed-in gallery is the library, not the public host
- Movies are a filter on the same library
- Series stay on the same gallery as films
- Photos are in the library and off by default for Keep
- Saved items stay in this browser until identity sync exists
- Recipes stay on the Macs
- Books are another library on the same session
- Keep copies titles onto a chosen receiver
- A curated launcher, not a vault browser
- Learning records are a reviewed list, not a vault import
- Identity lives on this host. Media does not.
- The public host is the door, not the library
- Signup is invite-only, then email verification
- The Mac companion is the library side
History
Showing still 1 of 3Library
Those files stay on machines I reach. The signed-in gallery is the library, not the public host.
- Added A signed-in gallery for all media kept on reachable Macs.
- Showing still 1 of 1

Movies
The library has to filter to films without becoming a second app.
- Added A Movies filter on the same gallery.
- Showing still 1 of 1

Series
Episodes have to stay findable beside films.
- Added A Series filter on the same gallery.
Showing still 1 of 3Photos
Photos and screenshots belong in the library without becoming the default Keep category.
- Added A Photos filter on the same gallery.
- Showing still 1 of 1

Saved
Saved, resume, and recent stay browser-local until identity sync exists.
- Added A Saved items filter on the same gallery.
Showing still 1 of 5Cooking
Recipes stay on the Macs. The hosted app never receives cooking catalogs or files.
- Added Cooking, recipes, and courses as their own routes on the same session.
Showing still 1 of 2Books
Courses and documents need their own shelf without leaving the session.
- Added A Books destination on the library rail.
Showing still 1 of 2Keep
Keep copies titles onto a chosen receiver. It replaces Download.
- Added Keep for Movies, Series, Recipes, or Courses on an explicitly chosen receiver.
Showing still 1 of 3Projects
A curated launcher is not a vault browser.
- Added A /projects hub of reviewed public-safe project cards.
Showing still 1 of 3Case studies
Learning records stay a reviewed public-safe list, not an Obsidian sync.
- Added A /case-studies index of public-safe learning records.
Showing still 1 of 2Account
Identity lives on this host. Media does not.
- Added Invite-only hosted login, passkeys, and account security on this host.
Showing still 1 of 3Sign in
A public finder is not a private library. The public host is the door.
- Added A public host that is the door, not the library: password, passkey, email code, and phone approval.
Showing still 1 of 3Create account
Accounts are invite-only. After the six-digit code, this browser gets a session.
- Added Invite code, username, password, and recovery email, then email verification.
Showing still 1 of 2Mac companion
The Mac companion is the library side: signed updates, Keep, and the agent on reachable machines.
- Added A signed Mac companion with automatic updates for Apple silicon and Intel.