Proving account access at the boundary that owns the claim
A small login comparison became a real public beta with durable accounts, recovery, passkeys, email, parent-managed teen profiles, and an installable phone companion.
ResultFour login methods reach one account system, and physical phone approval and denial pass in production; camera-based QR reopening and deliberate offline recovery remain open.
Carry forwardName evidence as proved, covered, inferred, or open; a successful UI, build, or provider request only proves the boundary it actually exercised.
From manual ADB commands to one-click local control
A fragile IP-dependent screen-control workflow became a universal Mac launcher plus a narrow Fire TV discovery companion, packaged in one versioned repository and release.
ResultBoth Macs recovered from intentionally bad saved state and opened a controllable window; companion 0.2.1 also repaired the soft 4K artwork with a physically verified high-resolution asset.
Carry forwardAutomate discovery and recovery without bypassing physical authorization, and verify the running artifact and real display—not only metadata.
Making unread state clear without making everything urgent
The Frontend Mentor notification challenge became a focused study of read hierarchy, filtering, browser-local continuity, and an honest caught-up state.
ResultA private responsive release now supports individual and bulk read actions, All and Unread filters, refresh persistence, keyboard focus, and a clear reset path.
Carry forwardNotification state should communicate what still needs attention through redundant hierarchy and explicit scope—not urgency styling or implied server state.
The parts are separated so a later project can reuse one lesson without importing the whole Private Reel architecture.
Gallery & federation
Operational
One gallery without centralizing private media
Combine titles from reachable Macs without uploading catalogs, thumbnails, paths, or media to the hosted application.
Decision
Let the browser federate direct agent responses, discover remembered peers, and retain the last good catalog through transient refresh failures.
Result
The gallery presents one browse surface while each Mac remains the owner and data plane for its library.
LessonA hosted interface can coordinate private systems without becoming their storage or proxy layer.
Series & watch
Verified with Mac1 offline
Playing kept series after the source sleeps
Kept videos were correctly typed as series on Mac2, but playback still depended on the original source-library label.
Decision
Route and play by media meaning, preserve series grouping through Keep paths, and stop treating one folder name as the product contract.
Result
Mac2 browsed and played multiple kept episodes while Mac1's agent was offline.
LessonConsumers should depend on semantic type and capability, not the name of the system that first produced the file.
Cooking
Production fix verified
Recovering recipes through capability-aware peer fallback
The connected Mac could answer discovery while an older Cooking endpoint returned 404, leaving a blank page even though another Mac held the recipes.
Decision
Try the connected, discovered, and remembered peers directly; use the first reachable Cooking catalog and keep every asset request on that selected Mac.
Result
Production loaded recipe families, images, variants, and video from the capable peer without sending the catalog or files through Vercel.
LessonReachability is not capability; fallback must verify the specific job a peer can perform.
Keep & Mac2
77 transfers verified
Making selected categories survive a sleeping source
Mac2 needed Series and Recipes to remain available when Mac1 slept, without confusing Keep with a same-device download or unsafe deletion.
Decision
Use receiver-specific category preferences, verified peer pulls, resumable state, and an optional source-removal choice that stays off by default.
Result
Mac2 retained 77 completed transfers with zero failures, and Mac1-off Series and Cooking verification passed.
LessonCopying, verifying, and removing are separate state transitions; the interface should never collapse them into one ambiguous action.
Mac companion
0.1.6 operational
Removing the repository from normal operation
The local agent originally required repository commands, while a standalone app also had to preserve folders, Keep history, private networking, and safe updates.
Decision
Bundle the runtime and agent, keep Tailscale separately approved, and make agent restarts visible, version-checked, transfer-aware, and recoverable.
Result
Mac2 installed through the signed updater, reported the correct Tailscale state, and restarted a healthy versioned agent without losing Keep history.
LessonA companion app should own repeated local operations, but every operating-system and vendor boundary still needs exact-artifact testing.
iPhone live sharing
Shipped in repository
Sharing live phone media without inventing cloud storage
Let the gallery browse current phone photos while keeping the phone temporary, foreground-bound, and separate from persistent Mac preferences.
Decision
Model the phone as an ephemeral peer whose catalog and media exist only while sharing, with no hosted storage and no automatic Saved-state ownership.
Result
The live-peer protocol, restore path, and privacy contract are implemented without turning the phone into a second gallery database.
LessonTemporary sources need honest availability and ownership semantics instead of pretending to be always-on servers.
Books
Available
Keeping reference reading separate from the media library
Saved reading needed a stable home without becoming another media filter or competing with the primary library task.
Decision
Give books a focused destination with one primary reader action and keep source access secondary.
Result
The reference shelf remains easy to find while the gallery's browse controls stay about personal media.
LessonA destination with a different job should be navigated to directly, not disguised as another filter in an unrelated collection.
Projects
Four projects curated
Publishing an index without publishing the vault
Bring active projects together in the gallery without exposing Obsidian notes, repository paths, private URLs, or automatic vault contents.
Decision
Maintain a small reviewed manifest containing only public-safe purpose, status, focus, destination, and case-study links.
Result
Private Reel, Playport, Fire TV Remote, and Pings share one launcher while their working notes remain local.
LessonAn index is a deliberately reviewed publication surface—not a synchronization shortcut.
Shared experience
Gallery-wide pass
Treating reliability and accessibility as page design
Independent pages accumulated different navigation, focus, loading, polling, and recovery behavior even when they shared the same private-agent model.
Decision
Review the complete human journeys, reuse shared navigation and states, preserve last-good data, and verify semantic structure at desktop and phone widths.
Result
Gallery, Keep, Cooking, Series, Watch, Books, and companion surfaces now share clearer recovery and navigation expectations.
LessonA page is not complete when its happy-path content renders; interruption, return, keyboard use, and stale data are part of the interface.