ArtificialWatch
Alerts you the minute a new frontier AI model goes live
The core loop is a genuine one-sitting build: poll the model-list endpoint of every provider you hold a key for, diff the ids against a local table, push the new ones to your phone. What does not one-shot is the three things a launch alert is actually judged on. Coverage · your script sees only the labs you have accounts with, while the watchlist here runs to 48 models including Chinese labs, restricted previews and things that have not shipped at all, which no API returns. Telephony · a call that rings until you answer means Twilio, a purchased number and US A2P 10DLC registration, which is days of paperwork before a line of code. And uptime, which is the whole product · a poller on a laptop that slept through the drop is worth nothing, and the second-sweep debounce that keeps preview aliases from crying wolf is the part you only tune after it has already cried wolf twice.
Build verification: not recorded. How we judge buildability
What you give up
- coverage of labs you hold no key for · 48 tracked models including Chinese labs and restricted previews
- the phone call that rings until you answer, and SMS · Twilio plus US A2P 10DLC registration
- the pre-launch watchlist and live Polymarket odds on models that have not shipped, which no API can return
- debounce and alias filtering tuned so dated snapshots and -preview ids do not fire false alarms
- someone else owning the uptime · your poller sleeps when your machine does
Why people still pay
Because the failure mode is asymmetric. A launch alerter that works 95% of the time is not 95% as good, it is worthless on the one morning it matters, and that is exactly the morning your VPS got rate limited or your ntfy topic was muted. Paying moves the pager duty to someone else, buys the labs you have no account with, and buys a phone that rings instead of a notification that stacks under forty others. At $19.99 it is priced against the AI subscriptions it watches, which is the comparison buyers actually make.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- Runtime and tools: TypeScript, Node, SQLite, a bounded scheduled worker and a read-only status dashboard.
- Before starting: An always-on host, explicit allowed targets, an alert destination and synthetic healthy/failing response fixtures.
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Project rule — domain: Store Provider, PollResult, ModelObservation, Candidate and AlertReceipt; distinguish a failed poll from model removal and keep aliases/snapshots separate from a newly observed family.
Project rule — scope and recovery: Model-list visibility is account-dependent and does not establish launch availability. Keep provider-specific rate limits, alias filters and startup gaps visible; notification delivery is not guaranteed.
Project rule — acceptance: Seed twenty IDs, fail the next poll and then return one new ID twice; emit one alert for the confirmed candidate and none for the initial seed or outage.
Project rule — delivery: document real setup commands and permissions; do not claim a build, accuracy level, performance result or security certification that has not been demonstrated.
Recommended skill: sharp-edges — review configuration and API defaults against the app-specific invariants and recovery boundaries above; this is not a security certification. Follow the maintainer's installation instructions and match its requirements to the chosen runtime.
Recommended skill: copywriting — write clear, evidence-grounded draft copy or notifications without invented claims; sending/publishing remains separately approved. Follow the maintainer's installation instructions and match its requirements to the chosen runtime.
Implementation plan
Phase 1
Pin the working slice and create its example input: Poll the model catalogues accessible to the user's keys, seed a silent baseline and alert only when a new identifier survives the configured confirmation window. Confirm setup: An always-on host, explicit allowed targets, an alert destination and synthetic healthy/failing response fixtures.
Phase 2
Implement persistence and write-time invariants before decorating the UI: Store Provider, PollResult, ModelObservation, Candidate and AlertReceipt; distinguish a failed poll from model removal and keep aliases/snapshots separate from a newly observed family.
Phase 3
Connect the working view to real saved state. Persist samples, incident transitions and notification receipts. Missing samples are gaps rather than success; apply hysteresis and keep alert state across restarts. Run the checker separately from the monitored service.
Phase 4
Expose the app-specific limits and recovery path in context: Model-list visibility is account-dependent and does not establish launch availability. Keep provider-specific rate limits, alias filters and startup gaps visible; notification delivery is not guaranteed.
Phase 5
Walk through this concrete acceptance case and preserve its exported evidence: Seed twenty IDs, fail the next poll and then return one new ID twice; emit one alert for the confirmed candidate and none for the initial seed or outage. Finish the README and backup/restore instructions; report unfinished capabilities explicitly.
Build me a new-AI-model launch alerter to replace ArtificialWatch. Requirements: - Node 22 + node-cron + better-sqlite3, one process on a small VPS under pm2 with a supervised process; a sleeping or unavailable host misses observations. - Every 60 seconds, GET the model-list endpoints for the keys in .env: OpenAI /v1/models, Anthropic /v1/models, Google generativelanguage /v1beta/models, and OpenRouter /api/v1/models, which covers labs I have no account with. - Store every model id ever seen in SQLite. A candidate is an identifier newly observed in that table, not proof of a public launch · seed it on first run so the first sweep is silent. - Debounce: an id fires only after two consecutive sweeps, and ids matching a regex list in config.json (dated snapshots, -preview, -latest) never fire. - Alert by POSTing to an ntfy.sh topic: model id as the title, provider plus context window and per-token price as the body, link to the provider's docs. - Append each confirmed launch to launches.md as `YYYY-MM-DD · provider · id`. - One page on localhost:8080: last 50 launches, last good sweep per provider, red banner when a provider has errored 10 minutes · a silent poller is worse than none. - Out of scope: SMS and phone calls (Twilio plus US A2P 10DLC registration is paperwork, not code) and any watchlist of unshipped models. - README with the four .env keys and the pm2 command. EDITORIAL IMPLEMENTATION CONTRACT Working slice: Poll the model catalogues accessible to the user's keys, seed a silent baseline and alert only when a new identifier survives the configured confirmation window. Data and invariants: Store Provider, PollResult, ModelObservation, Candidate and AlertReceipt; distinguish a failed poll from model removal and keep aliases/snapshots separate from a newly observed family. Boundary and recovery: Model-list visibility is account-dependent and does not establish launch availability. Keep provider-specific rate limits, alias filters and startup gaps visible; notification delivery is not guaranteed. Acceptance walkthrough: Seed twenty IDs, fail the next poll and then return one new ID twice; emit one alert for the confirmed candidate and none for the initial seed or outage. Record actual dependency versions, permissions and provider access in setup instructions. Preserve originals, expose partial failures and document backup/restore. These are acceptance requirements, not a claim of a completed or production-certified build. Add the domain, recovery and acceptance rules to AGENTS.md so future edits preserve them.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy or download AGENTS.md
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
Alternatives to building your own
no votes, no pay-to-list · just what's real
ArtificialWatch pricing
| plan | monthly | annual (per mo) | what you get |
|---|---|---|---|
| free | $0/user | $0/user | Email and browser alerts delayed by about 15 minutes; 51 monitored AI models shown on the live page at verification.The monitored-model count can change as the watchlist changes. |
| signal | $12/user | — | Instant alerts plus SMS, routing and quiet-hour controls.Month-to-month. |
| the call | $19.99/user | — | Signal features plus phone-call alerts; charter rate remains locked only while the subscription stays active.Month-to-month. |
free tieremail and browser alerts delayed about 15 minutes; 51 monitored models shown at verification
billingmonthly only for currently purchasable paid tiers; no active annual checkout verified
hidden costsa cancelled charter subscription loses its locked rate; a $34.99 Watchtower tier is waitlist-only rather than currently purchasable
pricing sources checked 2026-08-13 · pricing source ↗
Questions about ArtificialWatch
Can you build your own ArtificialWatch with AI?
Partly. The core loop is a genuine one-sitting build: poll the model-list endpoint of every provider you hold a key for, diff the ids against a local table, push the new ones to your phone. What does not one-shot is the three things a launch alert is actually judged on. Coverage · your script sees only the labs you have accounts with, while the watchlist here runs to 48 models including Chinese labs, restricted previews and things that have not shipped at all, which no API returns. Telephony · a call that rings until you answer means Twilio, a purchased number and US A2P 10DLC registration, which is days of paperwork before a line of code. And uptime, which is the whole product · a poller on a laptop that slept through the drop is worth nothing, and the second-sweep debounce that keeps preview aliases from crying wolf is the part you only tune after it has already cried wolf twice.
What does the ArtificialWatch build prompt cover?
The prompt starts with this scope: Poll the model catalogues accessible to the user's keys, seed a silent baseline and alert only when a new identifier survives the configured confirmation window. Full-product capabilities excluded from the comparison include: coverage of labs you hold no key for · 48 tracked models including Chinese labs and restricted previews; the phone call that rings until you answer, and SMS · Twilio plus US A2P 10DLC registration; the pre-launch watchlist and live Polymarket odds on models that have not shipped, which no API can return. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the ArtificialWatch prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this ArtificialWatch project take?
The catalogue estimate is one sitting for the poller, a weekend to make it trustworthy for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing ArtificialWatch?
coverage of labs you hold no key for · 48 tracked models including Chinese labs and restricted previews; the phone call that rings until you answer, and SMS · Twilio plus US A2P 10DLC registration; the pre-launch watchlist and live Polymarket odds on models that have not shipped, which no API can return; debounce and alias filtering tuned so dated snapshots and -preview ids do not fire false alarms; someone else owning the uptime · your poller sleeps when your machine does. Because the failure mode is asymmetric. A launch alerter that works 95% of the time is not 95% as good, it is worthless on the one morning it matters, and that is exactly the morning your VPS got rate limited or your ntfy topic was muted. Paying moves the pager duty to someone else, buys the labs you have no account with, and buys a phone that rings instead of a notification that stacks under forty others. At $19.99 it is priced against the AI subscriptions it watches, which is the comparison buyers actually make.
What price is this guide comparing against?
The recorded The Call plan is $19.99/mo (monthly), checked 2026-07-30. Check the linked pricing source before buying. Building your own also has hosting, API and maintenance costs; the recorded amount is not a guaranteed saving.
What can I use instead of building ArtificialWatch?
modelalert.ai: The exact job: one terse email when a model appears, without pretending it is a platform. Check each option's license, hosting needs and feature limits.