Open Tools

The tools I actually use — all built in public.

110+ Python scripts running right now on my machine. None are products themselves — they’re the operational layer behind 4 iOS apps, 6 Gumroad SKUs, and 80+ dev.to articles. Every script was written by one autonomous Claude Code agent. Every script actually runs.

This page is build-in-public evidence. Not a product catalogue — an engine room tour.

Note on access: Scripts operate against my own ASC API keys and Gumroad account. Code is private (credentials baked in). Patterns, architecture decisions, and lessons are all published openly on Substack and dev.to — that’s where you extract the playbook.

📱 ASC / iOS Submission Tools

The layer that talks directly to App Store Connect API v1/v2 — age ratings, IAP creation, review submissions, screenshot padding, diagnostics.

asc_diag.py 8-class diagnostic runner for any TestFlight install failure — the engine behind the TF Debug Bible LIVE
asc_submit_for_review.py Submits an app version for App Store review via reviewSubmissions 3-step API (replaces deprecated endpoint) LIVE
asc_screenshot_padder.py Auto-pads screenshots to exact Apple device resolutions with letterbox bands — zero manual Photoshop LIVE
asc_create_iap.py Creates in-app purchase records via ASC API with correct productId, reference name, and price tier LIVE
asc_iap_resubmit_full_flow.py Full IAP resubmit cycle: create → price → localize → submit for review in one unattended run LIVE
asc_b3_readiness_cleanup.py Pre-submission health check for all 4 apps: clears rejected states, verifies territory coverage, confirms EULA LIVE
asc_altitude_now_submit.py Final CDP-driven submission flow for Altitude app: navigates ASC SPA, clicks through medical declaration, submits LIVE
asc_set_privacy_no_collection_cdp.py Sets Privacy Nutrition Label to “no data collected” for all apps via CDP browser automation LIVE

💰 Gumroad Automation

SKU creation, affiliate enablement, bundle management, and PDF regeneration — all unattended.

gumroad_create_sku_tf_debug_bible.py Creates the TF Debug Bible product on Gumroad: sets price ($29), description, cover, PDF attachment LIVE
gumroad_create_sku_asc_toolkit.py Creates the ASC Toolkit SKU with correct content type, affiliate eligibility, and preview snippet LIVE
gumroad_enable_affiliate_tf_bible.py Enables 30% affiliate commission on TF Debug Bible via Gumroad API and verifies the affiliate link LIVE
gumroad_enable_affiliate_other_skus.py Batch-enables 30% affiliate on all remaining prompt packs in one run LIVE
regen_tf_bible_pdf.py Regenerates the TF Debug Bible PDF from markdown source and replaces the Gumroad attachment atomically utility
gumroad_add_bundle_products.py Adds all 5 prompt packs into a discounted bundle product automatically LIVE
gumroad_sales_pull.py Pulls daily sales data from Gumroad API and appends to local revenue ledger (feeds dashboard) LIVE

📡 Distribution & Publish

Cross-platform publishing to dev.to, Substack, LinkedIn, Twitter/X, and Hashnode. CDP-driven where API is blocked.

devto_publish_77_80.py Publishes articles 77–80 to dev.to via REST API with canonical URL, tags, and series metadata LIVE
devto_crosspromo_77_80.py Appends cross-promotion footer to articles 77–80 pointing to Gumroad SKUs relevant to each article LIVE
substack_publish_29.py Publishes Substack issue #29 via CDP (TipTap editor): pastes body, sets subject, clicks Send LIVE
substack_schedule_25_27.py Schedules Substack issues 25–27 for future send times with correct UTC→JST offset LIVE
linkedin_substack_note_tf_bible.py Posts a LinkedIn update announcing the TF Debug Bible launch with screenshot and Gumroad link LIVE
twitter_post_tf_bible_launch.py Posts launch thread on X (Twitter) for TF Debug Bible: thread of 4 tweets, auto-threaded LIVE
hashnode_syndicate.py Syndicates dev.to articles to Hashnode with canonical link via Hashnode GraphQL API LIVE

📊 Dashboard & Observability

The operational control layer — Flask API backend, audit crons, linters, and revenue tracking. All wired to a local dashboard at localhost:5000.

app.py Flask dashboard API: /api/health, /api/revenue, /api/asc-status, /api/audit — the hub for all local tooling LIVE
url_audit_cron.py Crawls all published URLs (dev.to, Substack, site) nightly and flags 404s or redirect chains LIVE
lint_no_sleep_wait.py Scans all Python scripts for banned sleep()/time.wait() patterns before any commit LIVE
weekly_briefing.py Generates a weekly status brief: revenue delta, new articles, ASC state, open TODOs — Markdown output LIVE
release_checklist_gen.py Generates a per-app release checklist from template: privacy, pricing, territories, IAP, screenshots utility
asc_submission_monitor.py Polls ASC API every 5 min for submission state changes across all 4 apps and logs transitions LIVE
verify_all_live_urls.py End-to-end HTTP 200 check for every public URL listed in the site — run before any deployment LIVE

🧹 Stewardship & Hygiene

The scripts that keep the system clean: doc lifecycle enforcement, stale-doc detection, Substack note cadence, and lead follow-up.

substack_notes_day61_3pack.py Publishes 3 Substack notes in one batch for day-61 milestone — CDP-driven, one unattended run LIVE
cleanup_old_done.py Moves DONE items in INBOX/ older than 14 days to archive/YYYY-MM/ to enforce doc lifecycle rules LIVE
add_frontmatter.py Adds YAML frontmatter (title, date, category, status) to any script missing it — feeds manifest scanning utility
daily_briefing.py Generates a one-page daily brief: what ran overnight, what needs action, current revenue snapshot LIVE
lead_webhook_pdf_responder.py Listens for Gumroad webhook, sends the correct PDF fulfillment email within 5 s of purchase LIVE
affiliate_outreach_dm_engagement.py Identifies top-engagement replies to affiliate posts and queues personalised DM drafts for review utility

Want the playbook behind all of this?

Two ways to go deeper: