An iOS app that automatically organizes your screenshots of music, movies, books, and memes using on-device AI.
ScreenSort scans your photo library for screenshots and intelligently categorizes them:
- Music - Screenshots from Spotify, Apple Music, Shazam, etc. are identified and songs can be added to your YouTube Music playlist
- Movies/TV - Screenshots from Netflix, IMDb, streaming apps are detected and matched with TMDb for metadata
- Books - Screenshots from Kindle, Goodreads, Apple Books are recognized and matched with Google Books
- Memes - Meme screenshots are detected and organized separately
All processing happens on-device using Apple Intelligence - your photos are never uploaded anywhere.
- Uses Apple Intelligence (Foundation Models) for semantic understanding of screenshot content
- Falls back to keyword-based classification on older devices
- High accuracy detection of content type from OCR text
- Creates dedicated albums for each content type (Music, Movies, Books, Memes, Flagged)
- Adds captions to processed screenshots with extracted metadata
- Logs processing results to Google Docs for record keeping
- YouTube Music - Automatically adds detected songs to a playlist
- TMDb - Fetches movie/TV show metadata and posters
- Google Books - Retrieves book information and covers
- Review and correct misclassified screenshots
- Filter by category (All, Flagged, Music, Movies, Books, Memes)
- Corrections move photos to the correct album and update captions
- OCR snapshots stored for potential future learning
- iOS 18.1+ (for Apple Intelligence features)
- iPhone 15 Pro or later recommended (for on-device AI)
- Xcode 17.0+
-
Clone the repository:
git clone https://github.com/mitgor/screensort.git cd screensort -
Create your secrets configuration:
cp Config/Secrets-Template.xcconfig Config/Secrets.xcconfig
-
Fill in your API keys in
Config/Secrets.xcconfig:YOUTUBE_API_KEY- YouTube Data API keyYOUTUBE_CLIENT_ID- YouTube OAuth client IDTMDB_BEARER_TOKEN- TMDb API bearer tokenHARDCOVER_TOKEN- Hardcover API token (optional)
-
Open
ScreenSort.xcodeprojin Xcode -
Build and run on your device
ScreenSort/
├── Models/ # Data models (Metadata, Correction, etc.)
├── Services/ # Business logic and API integrations
│ ├── Protocols/ # Service interfaces for DI
│ ├── AIScreenshotClassifier.swift
│ ├── ScreenshotClassifier.swift
│ ├── MusicExtractor.swift
│ ├── MovieExtractor.swift
│ ├── BookExtractor.swift
│ ├── PhotoLibraryService.swift
│ ├── YouTubeService.swift
│ ├── TMDbService.swift
│ └── ...
├── ViewModels/ # Observable state management
├── Views/ # SwiftUI user interface
│ └── Components/ # Reusable UI components
├── Design/ # Design system and theming
└── Config/ # Build configuration
- All screenshot analysis happens on-device
- Photos are never uploaded to external servers
- Only metadata (song titles, movie names, etc.) is sent to third-party APIs for matching
- Photo library access is used only for reading screenshots and organizing into albums
MIT License
Built with Claude Code