iOS client
SwiftUI app with shared stores, native navigation, StoreKit subscriptions, and offline state.
Follow Korean actors, find their new shows, and get notified when they are released.
A native iOS product that follows actors, maintains a living watchlist, infers taste without star ratings, and sends carefully timed release notifications.
View on the App StoreThe product
DramaPing helps people keep up with Korean actors they enjoy. Users follow actors instead of memorizing names, and the app connects those follows to current and upcoming shows, personal recommendations, a maintained watchlist, and release notifications.
Technical
SwiftUI app with shared stores, native navigation, StoreKit subscriptions, and offline state.
Supabase Edge Functions sit between the app and TMDB, normalize data, enforce limits, and return app-specific responses.
Postgres stores device identities, follows, library state, dismissals, cached media, credits, and notification history.
Ranks shows from watched titles, manual saves, and followed actors, then adjusts for relevance, freshness, confidence, and repetition.
Scheduled jobs compare new TMDB data with stored state, classify events, remove duplicates, and send APNs in controlled batches.
Memory and disk caches, stale-data refreshes, bounded network work, and optimized remote-image loading keep the app responsive.
Highlights
The algorithm learns from behavior, keeps long-term preferences, reduces repetitive results, and explains why each show was selected.
Casting, release, episode, renewal, ending, and cancellation alerts each have separate timing, deduplication, and retry behavior.
Automatic additions, manual saves, watched titles, filters, sorting, notification settings, and subscription limits remain consistent and reversible.