$ show insidegui/WWDC
This repository builds 'WWDC', an unofficial macOS application for browsing, searching, and playing WWDC session videos. It provides a native experience with features like video playback via a custom PlayerUI framework, transcript viewing with full-text search, session scheduling, bookmarks, favorites, iCloud sync via CloudKit, and video downloading. The architecture is modular, comprising main app target with embedded frameworks (PlayerUI, ConfUIFoundation, ConfCore), an XPC service for transcript indexing, and a Swift package for transcript handling. Data flows from Apple's WWDC API through a sync engine into a local Realm database, with UI built using AppKit and SwiftUI, heavy use of Combine for reactive updates, and Sparkle for auto-updates. While primarily an application, it also includes JSON fixtures and test data for transcript processing, giving it a minor hybrid character.
The LLM identified 4 files worth highlighting for reuse:
A fully custom video player view built on AVPlayerLayer with advanced UI including playback controls, speed toggle, timeline with annotations/bookmarks, picture-in-picture, subtitle support, and a floating time bubble. Encapsulated in its own framework (PlayerUI) with minimal external dependencies beyond Foundation and AVFoundation, making it extractable for any macOS video playback app.
A singleton download manager that fetches images from URLs with memory and disk caching, deduplication of in-flight requests via operation identifiers, and a callback-based API. Self-contained and reusable in any app needing async image loading with cache, without dependency on the app's data layer.
Orchestrates content and user data synchronization from Apple's WWDC API and CloudKit. Manages fetch cycles, delta updates, conflict resolution, and provides Combine publishers for UI updates. Although tightly integrated with ConfCore models, the pattern of a centralized sync engine with pluggable data sources and reactive outputs is well-abstracted and could serve as a reference for similar apps.
Handles downloading transcript JSON files from a remote manifest using etag-based caching and request coalescing to avoid duplicate network calls. Provides both sync and async APIs, with a clean protocol/implementation split. Reusable as a generic pattern for downloading and caching structured text data with coalescing.