Public
Upcoming movie/TV/game watchlist - Discord digest + ICS feed
calendardiscordrawgrelease-trackertmdb
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

Release Radar

Personal tracker for upcoming movies, TV seasons, and games. Search TMDB (movies/TV) and RAWG (games) to build a watchlist, then get notified two ways:

  • Discord digest — posted on the 1st of each month, listing everything on the watchlist releasing that month. A shorter day-of ping also fires on the daily sync whenever something actually releases that day — silent otherwise.
  • ICS calendar feed/ics serves a live calendar feed. Subscribe to it in Google Calendar (Settings → Add calendar → From URL) or any calendar app, and each release shows up as an all-day event on its date.

Items auto-remove from the watchlist (and therefore the calendar/digests) 3 days after their release date, so it stays a list of what's still coming rather than everything that ever was.

Structure

  • backend/index.ts — HTTP val (Hono). Serves the web UI, the /ics feed, and the /api/* endpoints used by the frontend to search and manage the watchlist.
  • backend/sync.ts — daily cron (06:00 UTC). Re-fetches release/air dates for everything on the watchlist, sends the day-of Discord ping if anything releases today, then drops items more than 3 days past their release date.
  • backend/digest.ts — monthly cron (1st, 08:00 UTC, after that day's sync). Posts the Discord digest for the current month.
  • shared/db.ts — SQLite watchlist table (val-scoped).
  • shared/tmdb.ts / shared/rawg.ts — API clients.
  • shared/ics.ts / shared/discord.ts — output formatters.
  • frontend/ — React UI for searching and managing the watchlist.

Required env vars

  • TMDB_API_KEY
  • RAWG_API_KEY
  • DISCORD_WEBHOOK_URL

👉 Manage them here: https://www.val.town/x/CAS98/release-radar/environment-variables

Adding items

Open the web UI, search by title (pick Movie/TV Show/Game first), and hit + Add. TV shows track the next known episode/season air date — renewals get picked up automatically by the daily sync once TMDB has a date for them.