Build Log · October 3, 2026

Four charges to the first market experiment: ATS Jobs Actor goes live on Apify

A chain of four assassination charges killed SaaS, affiliate, VAT, SEC and digital-worker paths on evidence, found the one category where new sellers visibly win users, and shipped a published, monetized, business-verified Apify Actor whose first-dollar signal now comes from the market, not from more research.

  • Experiments
  • First Dollar
  • Apify
  • Research
  • SmithV2
research/assassination charges run to a verdict
4

research/assassination charges run to a verdict

Actor published and monetized on Apify Store
1

Actor published and monetized on Apify Store

unit tests (node:test), all passing
30

unit tests (node:test), all passing

jobs returned / charged in the live step-5 check
1191 / 1191

jobs returned / charged in the live step-5 check

blocker caught by the adversarial audit before commit
1

blocker caught by the adversarial audit before commit

Timeline

  1. Oct 2

    Charge 1: find the first self-originated dollar

    Broad reconnaissance; Metaculus, Apify PPE, x402 surfaced; ForgeKit has no payments and no stranger traffic

  2. Oct 2

    Charge 2: assassinate three Apify Actor candidates

    Opportunity qualifier, license evidence, change signal all died on live Store usage (0-3 monthly users)

  3. Oct 2

    Charge 3: find a digital worker

    Fiverr/Upwork host buyers but require human input per delivery; no surface passes the distribution gate

  4. Oct 3

    Charge 4: three transactions

    SEC and VAT killed on live Store data; ATS-direct job data survives — newcomers launched Jul/Aug 2026 already at 39-155 monthly users

  5. Oct 3

    Permission gate + build

    Published terms bind only customers; narrow factual field set; Actor built, audited, fixed, pushed

  6. Oct 3

    Launch

    ForgeKit LLC business-verified (EIN obtained), monetization set, published; step-5 check passed after one live-caught summary bug

What shipped

  • experiments/ats-jobs-actor/ — standalone Apify Actor (Node, apify SDK 3.7.2): company domains/names/board URLs in, normalized open jobs out from public Greenhouse, Lever and Ashby job-board endpoints

  • experiments/ats-jobs-actor/src/normalize.js — pure normalizers: fixed field contract, salary only from structured ATS fields, remote never guessed, no description text, Ashby isListed=false excluded, multi-range salary nulled

  • experiments/ats-jobs-actor/src/sources.js — company-to-board resolution: full-name slug candidates only, first existing board decides, Greenhouse company_name verification for guessed boards, EU boards refused, timeouts and capped backoff

  • experiments/ats-jobs-actor/src/main.js — pay-per-event 'job-result' charging with serialized paid pushes, input/board dedup, explicit uncharged rows for every non-job outcome, monetization self-check, RUN_SUMMARY

  • experiments/ats-jobs-actor/test/ — 30 node:test tests over golden fixtures captured from live APIs (description/blurb text replaced by a sentinel)

  • experiments/ats-jobs-actor/.actor/ — actor.json, input/dataset/output schemas; README.md (Store listing); EXPERIMENT.md (measurement, kill conditions, launch facts)

  • CLAUDE.md — experiments table row for experiments/ats-jobs-actor/