Skip to content

Submission Watcher Agent

Overview

Monitors literary magazine submission windows and emails the moment they open. Some of the best magazines have brief, unpredictable reading periods — miss the window by a day and you wait six months. This agent watches the Submittable pages on a twice-daily cron and fires a single notification per open window.

Distributed as a Claude Code plugin that includes a setup agent — it walks the user through deployment to Vercel, environment variable configuration, and adding new magazine watchers.

How it works

  • Watchers: Each magazine is a module that exports a run() function returning { agent, open, checkedAt }
  • Parser: Fetches the target Submittable page and filters out workshops, conferences, and teen programs to isolate magazine submission links
  • Dedupe: State stored in Upstash Redis so each opening triggers exactly one email, even across concurrent cron invocations
  • Alerts: Email sent via Resend with a branded sender address
  • Schedule: Vercel cron at 9 AM and 5 PM; endpoint is CRON_SECRET protected
  • Status API: GET /api/status returns last check result and notification state per watcher

Adding a watcher

Create a directory, implement run(), register it in api/cron.mjs. Deploy. The setup agent automates all of this, including initial Vercel deploy and env var scaffolding.

Stack

JavaScript · Claude Code · Vercel Cron · Upstash Redis · Resend

View on GitHub →

← All projects