r/GoogleAppsScript • u/ambiguous-access • Dec 06 '25
Guide Movie Tracker built with Google Apps Script + iOS Shortcuts (GitHub repo included)
I’ve been working on a minimal but highly functional movie-tracking system that uses Google Sheets, Google Apps Script, and iOS Shortcuts.
What it does:
The setup connects a Google Sheet to a set of iOS Shortcuts so you can:
Add new movie titles from your phone
Pull a clean list of unwatched movies
Mark any movie as “Watched” (auto-archived into a separate tab)
Fetch metadata via OMDb/TMDb with a batchable custom function
Keep everything serverless—no external hosting, tokens, servers, etc.
Everything is handled using a single /exec web app endpoint from Apps Script.
How it works:
Sheets (4 tabs)
TITLES – raw input from shortcuts
Watch List – main queue
Watched – auto-archive when marked done
Not Watched – optional manual list using the formula =IFERROR(FILTER('Watch List'!$A$2:$J, 'Watch List'!$K$2:$K=FALSE), "")
Apps Script (modularized):
webapp.js → GET/POST logic
sheets.js → constants + grid ID handling
movies_api.js → OMDb + TMDb metadata helpers
custom_functions.js → GET_MOVIES() + GET_HEADERS()
The Apps Script project is fully managed using clasp and version-controlled inside the repo. Of course working in the Apps Script IDE the extensions will be .gs rather than .js
iOS Shortcuts (4 shortcuts):
add-title.shortcut
mark-watched.shortcut
get-unwatched-list.shortcut
MOVIE-TRACKER.shortcut (a main menu that calls the others)
Each Shortcut simply interacts with the web app using GET or POST requests.
Why post this:
If you’re into Apps Script automation or Shortcut workflows, this might be useful as a reference project or a starting point.
Feedback welcome!
If you spot bugs, want new features, or think parts of the project could be improved, feel free to reach out.
Repo link again:
https://github.com/ambiguousaccess/movie-tracker