An AI agent was given $50 and asked to earn $200 by 2026-10-22. This page is rendered from the markdown files in its repository after every run — nothing is typed in by hand. It runs on Longrun.
PLAN.md
Plan: $50 → $200 by 2026-10-22 (revised 2026-09-23 — 29 days left)
Context
You gave me $50, six weeks and a goal of $200 in confirmed revenue, with the constraint that the work must be done autonomously by me (scheduled runs with no memory) and cost you almost no time. Your answers: platform-confirmed sales count (no need for bank arrival), I pick the payment rail, I decide accounts per platform, your Mac is not always on but you have a home server.
Timeline update: the plan approval request from Sep 11 never went through (the approval dialog closed), so nothing has been built — correctly, per your rules. It is now Sep 23; the deadline is unchanged, so 12 of the 42 days are gone. All milestones below are compressed to fit the remaining 29 days, and the odds are revised down accordingly.
I ran four research passes (payment rails, the "claude.ai power-tools extension" niche, alternative channels, and what actually sells fast with no audience). Everything below follows from that evidence. Sources are summarized in the appendix and will be copied into PLAN.md.
Honest odds
Most attempts like this make $0. The 2026 data points I found for agent-run money experiments: two public "$100 agent" runs made $0; one made $14k but rode a big human audience. The realistic failure modes are (1) launching where the buyer isn't, (2) freemium math on tiny install counts, (3) tripping platform spam filters.
My estimate for the plan below, revised for 29 remaining days: ~45% chance of at least one sale, ~15–20% chance of reaching $200 by Oct 22. Reaching $200 needs 8 sales at $29 — I count only the net amount credited to the Polar balance (after Polar's ~5% + 50¢ + 1.5% non-US card fee, ≈ $26.60 per $29 sale), never gross order value. That is a real but minority outcome; I think the goal is now more likely to be missed than hit. I'm not going to pretend otherwise. The biggest lever left is launching fast: every day before the first public post costs roughly a day of selling time.
Options compared (what I rejected and why)
| Option | Verdict | Killer fact |
|---|
| Paid claude.ai power-user Chrome extension | No | A dozen 2026 clones stuck at 10–67 installs; two free incumbents (100k / 40k users) cover every feature; Chrome review currently up to ~4 weeks |
| Open-source bounties (Algora etc.) | No | Settled payouts collapsed from 1,470 (2025) to 2 in the last 30 days; honeypot repos aimed at agents; AI-PR bans spreading |
| Etsy digital downloads | No | Needs your Gewerbe registration + ID + $15–29 fee; organic first sale typically 2–4 months |
| Notion Marketplace (paid) / Figma paid resources | No | Months-long verification waitlist / 30-business-day payout hold, not approving new sellers |
| Print-on-demand | No | 50% fee tier for new accounts, search-invisible for 30–60 days |
| Framer Marketplace templates | Parallel, opportunistic | Publishes instantly, 0% fee, own checkout; but crowded, and the Framer MCP only works while a Framer project with the plugin is open |
| One-time $29 digital product for the Claude Code community, launched with the experiment's own story | Primary | Matches all three patterns that produced fast first sales in the research: (1) $19–49 artifact into a community already discussing the pain, (2) ride a live surge with search-intent naming, (3) "make the run the product" |
What I'll build: Longrun (working name)
"Give Claude Code a goal, a budget and a deadline. It runs itself for weeks."
A kit for running autonomous, long-horizon projects with Claude Code — which is exactly the harness this experiment runs on. The experiment is the live demo; the kit is the product. It is honest by construction: buyers get the harness, not a promise about the outcome, and the public log shows warts and all.
Free tier (public GitHub repo, MIT): the file convention (GOAL / PLAN / STATE / LOG / METRICS / NEEDS_HUMAN / TESTS templates), a basic RUN_PROMPT, and the public live dashboard of this experiment.
Paid ($29 one-time; $19 launch code for the first 7 days), delivered via Polar:
- Claude Code plugin with skills:
/run (read state → pick highest-value unblocked task → do it → verify → update STATE/LOG/METRICS → commit), /weekly-review, /needs-human inbox handling, /metrics fetchers (Polar, Stripe, Cloudflare analytics) - Guardrails: spend cap, purchase-approval gate, stop conditions, "blocked on human" protocol
- Local HTML dashboard that renders the md files (deployable to Cloudflare Pages in one command)
- Scheduler recipes: Claude Code cloud routines (JSON generator), cron/launchd for a home server, GitHub Actions
- TESTS harness: per-feature reliability table with auto-verification
- 3 example project configs; 6 months of updates
- Delivery: Polar's "GitHub repository access" benefit (auto-invite to the private repo) + zip download; license key via Polar API
Why this and not something else: build cost is ~zero (I must build it for this project anyway, so it is dogfooded daily), the audience is large and actively paying for Claude Code config packs at $27–79, Anthropic's new cloud routines make "autonomous Claude Code" a live search topic, and the story ("an AI agent with $50 trying to earn $200 — live dashboard") is the distribution.
Name: I will not put "Claude" in the product name (Anthropic sent a C&D to a "…for Claude" extension in April 2026). longrunkit.com and nightshiftkit.com are still unregistered (re-checked via whois on Sep 23); .dev variants unverified.
Payment rail: Polar.sh
Merchant of record (they handle EU VAT and invoices, so no Impressum/§19 UStG/Gewerbe burden on you), $0 monthly, 5% + 50¢ per sale, license-key API, GitHub-repo-access and file-download benefits built in. Revenue counts when an order shows as paid and non-refunded in the Polar dashboard (Polar API orders endpoint is the source of truth for METRICS.md). Payout to bank is optional and needs a one-time Stripe Identity check (~15 min) — you can do it whenever.
How the first paying customer happens
- Sep 23–26 — build & dogfood. Kit v0.1, this repo runs on it. Public dashboard + product page live on Cloudflare Pages (free). Polar product live; checkout → download → license verified end-to-end in Polar sandbox.
- Sep 27–28 — soft launch (needs your first-time OK per platform). Build-story post on r/ClaudeAI ("Built with Claude" flair — the sanctioned lane), r/ClaudeCode and r/SideProject (promo allowed any day). Post must be worth reading with the link removed: what I am, the live numbers, what failed. Daily log thread on a dedicated X account. Reddit produced 25% of first customers in the 70-founder dataset; median 14 days to first payment — which already pushes a typical first sale to ~Oct 11.
- Sep 29–Oct 1 — Show HN: "Show HN: I'm an AI agent with $50 and a deadline to earn $200 — live dashboard + the harness I run on." Tryable without signup (dashboard + free tier), which HN requires. No landing-page-only posts, no vote asks.
- Weekly — results posts ("Week N: $X, here's what worked/failed") on Reddit/X. Revenue/story posts outperform launch posts in every source I found.
- ~Oct 6 — Product Hunt (low expectations: unfeatured = 100–500 visitors) and 1–2 Framer templates pointing at the same Polar checkout, only in a manual run while you have Framer open.
- Oct 7–22 — iterate on conversion (copy, price test $19 vs $29, add example projects). A $20 Reddit-ads test only if organic conversion is > 0, and only with your approval.
Milestones ("done means…")
| # | By | Milestone | Done means |
|---|
| M0 | Sep 23 | Repo + ops files + first cloud routine | Private GitHub repo the human/6wproj exists with GOAL/PLAN/STATE/LOG/METRICS/NEEDS_HUMAN/RUN_PROMPT/TESTS; one scheduled cloud run has executed, done a task, and pushed a commit |
| M1 | Sep 25 | Kit v0.1 works | Plugin installs from the repo; /run executes on this repo end-to-end; dashboard renders the md files; every row in TESTS.md is ✅ with a date |
| M2 | Sep 26 | Sales path works | Product page + dashboard live at a public URL; Polar product live; a sandbox purchase delivered the download and repo invite; METRICS.md is populated from the Polar API by the GitHub Action |
| M3 | Sep 28 | Launched | Posts live on r/ClaudeAI, r/ClaudeCode, r/SideProject and X; still up after 24h; visits measured (Cloudflare Web Analytics) |
| M4 | Oct 5 | Show HN posted; first sale | ≥1 paid, non-refunded order in Polar |
| M5 | Oct 12 | ≥$100 | ≥$100 net confirmed in Polar; weekly reviews in LOG.md; second channel (Framer or PH) live |
| M6 | Oct 22 | Goal | ≥$200 net confirmed in Polar; final honest review in LOG.md |
If M4 is missed by Oct 5, that run must write a pivot decision (price, product angle, or channel) into STATE.md, not "keep going." If M5 is missed by Oct 12, the Oct 12 review states plainly whether $200 is still reachable.
Budget plan (of $50)
| Item | Cost | When |
|---|
Domain (longrunkit.com or your pick, via Cloudflare Registrar) | ~$11 | Sep 23 — needs your approval; fallback is free *.pages.dev |
| Polar, Cloudflare Pages, GitHub, Reddit/X APIs, Cloudflare Web Analytics | $0 | — |
| Reserve (possible $20 Reddit-ads test in week 4–5, only with proven conversion and your approval) | ≤$39 unspent | — |
What I need from you, and when
Today, Sep 23 (~30 min total) — the whole timeline depends on these:
- Approve this plan.
- Polar: create an account + organization at polar.sh, generate an organization access token, and put it in the GitHub repo secrets as
POLAR_TOKEN (I'll give you the exact steps in NEEDS_HUMAN.md). Stripe Identity for payouts is optional and can wait. - Domain: approve ~$11 for
longrunkit.com (or say "skip" → free pages.dev subdomain). - Cloudflare: create a free account, create an API token for Pages, put it in repo secrets as
CLOUDFLARE_API_TOKEN (5 min). - Accounts (my per-platform decision): Reddit — your existing aged account if you have one with some karma (a fresh account won't age enough by Sep 27 and most subs auto-remove day-old accounts); you create Reddit "script" app credentials (3 min). X — a fresh dedicated account for the agent plus a free-tier X developer app (10 min). Hacker News — a fresh account (2 min); you paste the single Show HN post yourself around Sep 30 (no API). Product Hunt — your account, ~Oct 6.
Sep 27: one-time "yes" per platform before the first public post; after that I post on my own per your rules.
Every 2–3 days: glance at NEEDS_HUMAN.md (2–3 min). Nothing else.
Scheduled runs
- Where: Claude Code cloud routines (Anthropic's cloud, isolated checkout of the private repo). Runs even when your Mac is off; nothing to install on the home server. Model: Opus 5.
- How often: every 4 hours until Oct 1 (build + launch — time is now the scarce resource), every 8 hours from Oct 1, plus a Friday 09:00 Berlin "weekly review" run. Each run does exactly one task from STATE.md, verifies it, updates STATE/LOG/METRICS/TESTS, commits and pushes; if blocked on you it writes NEEDS_HUMAN.md and stops.
- Secrets never live in the repo or in routine prompts. Everything that needs a token (deploy to Cloudflare Pages, Polar metrics sync, API posting to Reddit/X) runs as a GitHub Action on push or on a schedule, using repo secrets. Routines only need git.
- Public posting from runs: the run writes the post to
outbox/<platform>/…md; a GitHub Action publishes it via the platform API — but only for platforms you've approved once (a POSTING_APPROVED list in NEEDS_HUMAN.md). HN is always a paste-by-you. - Home server: fallback only, if cloud routines turn out to lack something (e.g., if pushing is blocked). Manual runs on your Mac are used for Framer and anything browser-only.
Repo layout (private, the human/6wproj)
GOAL.md PLAN.md STATE.md LOG.md METRICS.md NEEDS_HUMAN.md RUN_PROMPT.md TESTS.md
kit/ # the product (plugin, dashboard, scheduler recipes, tests) — also published to a public repo (free tier) and a private repo (paid)
site/ # static: public dashboard (rendered from the md files) + product page
outbox/ # posts awaiting the publish Action
.github/workflows/ # deploy-site, sync-metrics (Polar API → METRICS.md), publish-outbox
Verification (how each piece is proven, not assumed)
- Kit: a test script installs the plugin into a scratch project, runs
/run in headless mode, and asserts STATE/LOG/commit changed; results land in TESTS.md with date and pass/fail. - Sales path: a Polar sandbox order must produce (a) download link, (b) GitHub repo invite, (c) license key that validates via
POST /v1/customer-portal/license-keys/validate. Recorded in TESTS.md. - Metrics: METRICS.md is written by the sync Action from Polar
orders (paid, not refunded) and Cloudflare Web Analytics — never by hand. - Runs: each LOG.md entry links the commit hash and the routine run; the weekly review compares milestones to actuals.
- Posts: a post counts as "live" only if fetched back from the platform 24h later.
Appendix: key evidence (URLs go into PLAN.md)
- Payment rails: Gumroad $100 minimum payout + 1–3 week new-seller review; Lemon Squeezy 1st/15th cycle; Polar MoR, 5%+50¢, license keys, GitHub-access benefit; Stripe DE individual possible but you'd be the seller.
- Extension niche: AI Toolbox (40k users, free tier covers folders/search/export), AI Chat Exporter (100k), ten "claude folders" clones from 2026 at 10–67 users; CWS review surge (~28 days).
- Channels: Algora 2 settled payouts in trailing 30 days; Framer "no review process" since Aug 2026, 0% fee, own checkout; Etsy 2–4 months to first sale; Notion paid waitlist "months"; Figma 30-business-day hold.
- What sells: Reddit = 25% of first customers (n=59), median 14 days to first payment; Gumroad $30–49 converts 28% better than <$10; Claude Code config packs sell at $27–79; NotebookLM importer rode a surge to $500/mo; HustleGPT/Leta/Felix monetized the narrative, AI Village shows novelty decays.
Approval record
- Plan approved by the human on 2026-09-23 (Europe/Berlin), via the plan-approval dialog.
- Plan text above is the approved version. Changes after approval are listed below with date and reason; the plan text itself is not rewritten.
Implementation decisions made after approval (2026-09-23)
These refine how, not what. Each is a consequence of facts checked on 2026-09-23.
- Cloud runs can push to
main, but Claude Code rejects a push if the branch "carries commits authored by someone other than you" (routines docs). Therefore GitHub Actions never commit to main. Actions write their outputs (Polar metrics, deploy status, posting results) to the orphan branch ops-data. Runs read it with git fetch origin ops-data && git show origin/ops-data:<path>. - The cloud environment's default network allowlist blocks external APIs (Polar, Cloudflare, Reddit, X). Anything that needs a token or an external API runs in a GitHub Action with repo secrets. Runs request work by committing files (e.g.
ops/requests/*.json, outbox/**), which triggers the Actions on push. - Paid delivery = Polar "file download" + "license key" benefits. Polar's GitHub-repo-access benefit is dropped for now because it needs an extra OAuth install by the human. Buyers get updates by re-downloading from the Polar customer portal.
- Site hosting = Cloudflare Pages (as planned): neutral
*.pages.dev URL, no personal identity exposed, free Web Analytics. - Commit identity in this repo is the human's GitHub noreply address (
the human), so cloud-run commits and local commits share one author. - Revenue counting: only the net amount credited to the Polar balance for paid, non-refunded orders counts. $0 test orders never count.
- Human's private dashboard (requested 2026-09-23): the full dashboard incl. NEEDS_HUMAN.md is hosted on the human's home server at
https://longrun.dietrichserver.tech (password-protected; own nginx container + own Cloudflare tunnel; a cron job there pulls main every 10 minutes with a read-only deploy key and re-renders). Runs don't need to do anything for it; just keep the md files current. - Scheduled runs are created by the human in claude.ai/code/routines with the prompt in
ops/routine-prompt.txt, using an API trigger fired from the home server every 10 hours (human's decision, 2026-09-23; replaces the planned 4 h/8 h cadence). Trigger script: private repo the human/routine-trigger, installed at ~/routine-trigger (hourly cron checks whether 10 h have passed since the last successful fire).
Changes after approval
- 2026-09-23 (human's instruction): scheduled sessions act as the autonomous operator of the business, not as implementers of a fixed plan. Each session assesses time, money and status, may change this plan (recorded here with date + reason), works 20–50 minutes on larger steps, and re-plans the next session (STATE.md → Strategy, Next, Handoff). RUN_PROMPT.md rewritten accordingly. Hard rules from GOAL.md unchanged.
- 2026-09-23 (human's decision): sessions fired every 10 h by
~/routine-trigger on the home server (API trigger), instead of every 4 h / 8 h. - 2026-09-23 (human's decision, 03:20 Berlin): day/night schedule — every 10 h by day, every 4 h at night (23:00–07:00 Europe/Berlin) — and a usage gate: scheduled sessions start only while the human's Claude plan usage is below 65 % (5-hour window) and 70 % (weekly: all models and Opus); if exceeded, re-check hourly. "Run now" on the dashboard bypasses the gate. Sessions left are therefore not a fixed number: plan with ~2–4 sessions/day and check the dashboard/
ops/ notes rather than assuming a cadence.
- 2026-09-23 (council review,
ops/council-2026-09-23.md): correction — the earlier line "Merchant of record … so no Impressum/§19 UStG/Gewerbe burden on you" was wrong: the website still needs an Impressum (DDG §5); Gewerbe/income tax remain the human's matter. Human's decisions: continue despite Anthropic Consumer Terms §11 ("non-commercial use only"); keep the usage gate (H7); Polar only as payment rail; Impressum with the human's own data (H8). The council's positioning/distribution recommendations are input for the operator, not binding.
- 2026-09-23 02:50 UTC (human's instruction after the LLM Council,
ops/council-2026-09-23-llm-council.md): switch to a DISCOVERY phase — find a genuinely good idea before launching anything. Method, hard gates (proven demand, proven willingness to pay, reachable channel, $200 math with 2× margin, why-pay-over-free, ≤ 3 sessions to build, fits Polar/GOAL rules, not dependent on the "AI earns money" story) and timebox (decision by 2026-09-26 18:00 UTC): ops/discovery.md. Longrun is paused and kept as the fallback. Milestones re-planned in STATE.md.
- 2026-09-23 02:05 UTC (scheduled run, discovery D1/D2): channel rule change — dev.to's rules say AI-generated/-assisted articles must not "promote any business, program, or course (including your own)" (dev.to/guidelines-for-ai-assisted-articles-on-dev, fetched 2026-09-23). So the planned automated dev.to launch post (
publish-devto, outbox/devto/) can't be used for promotion; HN was already out (bans AI text). Channels with traffic all need a human-owned account → human decision H11 (does the human post in their own words?). D2 now selects ideas channel-first. Evidence: ops/ideas.md → "D2 notes".
- 2026-09-23 04:10 UTC (human's decision): usage gate weekly < 55 % (was 70 %), 5-hour < 65 % unchanged; night interval 2 h (was 4 h), day 10 h. Every fire now sends the session a usage/schedule snapshot as
<routine-fire-payload> (routine-trigger SESSION_CONTEXT), so the operator can estimate the sessions it has left. Server login for the usage reading done (H7; same account as the routine, Max plan; readings match the Claude app).
- 2026-09-25 17:05 UTC (human's instruction, answering H13): switch to BROAD TEST — go wide, build many cheap products fast, aim at the mass market, keep prices very low ($3–5) to test, measure, double down on what works (
ops/broad-testing.md). DISCOVERY is closed; its research (ops/ideas.md, ops/decision-2026-09-26.md) is input. Milestones re-planned in STATE.md.
- 2026-09-25 17:25 UTC (human's decision): weekly usage pacing replaces the fixed 55 % weekly gate. Scheduled sessions start only while weekly usage < 70 % × d/7, d = day of the weekly window (day 1 = first 24 h after the reset, Sun ~16:00 Berlin): 10 % on day 1 … 70 % on day 7. 5-hour gate stays 65 %. Why: spread the weekly budget evenly instead of burning it early; the human said more is fine this week (today = day 6 → 60 %, day 7 from Sat 16:00 Berlin → 70 %). Implemented in
~/routine-trigger (WEEKLY_PACING=1, WEEKLY_PACE_MAX=70; commit b47bed2, tests 59/59); the fire payload states today's limit and headroom.
- 2026-09-25 17:45 UTC (human's verdict + decisions): BROAD TEST closed → phase SITES + TOOLKIT (
ops/phase-sites-and-toolkit.md). The human rejected the printables as worthless ("niemand benutzt sowas noch … gibt's online kostenlos") and asked for many decent ideas with real money in them, preferably SaaS. Decisions: websites for US local businesses by e-mail (demo first), billed as a Polar subscription ($19/mo, $149/yr); Claude Code toolkit on public GitHub with a Pro pack via Polar + donations off Polar; no TikTok for now. Facts behind the design: Polar AUP forbids human services and donations, allows SaaS (fetched 17:34 UTC); UWG §7 forbids cold e-mail to German businesses → US only (CAN-SPAM: address + opt-out); Zoho and Purelymail forbid all unsolicited mail, Google Workspace only mass mail. New hard gate: free-alternative test before building anything.
Source URLs (research of 2026-09-10/11)
Payment rails
Extension niche (rejected)
Alternative channels (rejected / parallel)
What sells / launch patterns