







iOS App
FrameRate
Track and rate the movies and shows you watch.


Rank, rate, and track everything.
Build a personal ranked list of every movie and show you've watched. Rate on a 0–10 scale, track rewatches, add notes. Browse cast, crew, trailers, and streaming availability across 13+ providers.
AI that knows your taste.
A conversational assistant powered by Gemini with full context on your watch history — ratings, genres, favorite directors. It recommends, adds to your watchlist, and never suggests something you've already seen.
Import from a screenshot.
Photograph any movie list. Vision OCR extracts text, Gemini parses titles and ratings, fuzzy matching resolves every entry against TMDB with confidence scores for review.
Episode-level TV tracking.
Track individual episodes as watched, rate them, mark favorites. Season ratings sit alongside episode averages so you can see how a show holds up across its run.
A closer look.
Rankings. Your personal top list with drag-to-reorder, color-coded ratings, and detailed movie pages.
AI Assistant. Chat with Gemini about your taste. It knows your ratings, genres, and never recommends repeats.
Episode Tracker. Per-episode tracking with season ratings, completion progress, and favorite markers.
Screenshot Import. OCR reads any movie list. Gemini parses it. TMDB matches it. You review and import.
Stats Dashboard. Genre breakdowns, rating distributions, top directors and actors, viewing streaks.
How it was built
Designed the backend without leaving the terminal.
Built a custom CloudKit MCP server with Claude Code, then used it to define and iterate on CloudKit record types — Rankings, Watchlist, Favorites, ShowProgress — testing queries against the development container without ever opening Xcode.
40+ endpoints. 13 streaming providers. Zero duplicates.
Wired up the TMDB API for metadata, cast, crew, and streaming availability. Built a deduplication layer that maps 50+ Netflix/Prime/HBO variants to canonical provider IDs.
An AI that actually knows what you like.
Integrated Google Gemini with context from the UserPreferenceAnalyzer — genre affinities, favorite actors and directors, rating distributions — to generate recommendations that reflect real viewing taste.
Photograph a list. Import everything.
Screenshot import using Apple's Vision framework for OCR, Fuse-Swift for fuzzy matching, and a significance score (vote average × popularity) to disambiguate same-title results.
Every movie gets a score. Every score tells a story.
9.5
2.0
5.0
7.0
9.0
3.5
9.5
6.0Built with
Swift · SwiftUI · CloudKit · TMDB API · Google Gemini · Sign in with Apple
Built with Claude Code — from CloudKit schema design to Gemini recommendation tuning.