back

Scale

Scale epiphany paid . co-stanza . pwnlingo unattended . social sign-in fleet week of Sep 8-11 epiphany iOS approved, paid tier live co-stanza shipped with full auth pwnlingo ran unattended across three languages social sign-in wired across nine apps windgate shipped, five repos flipped public status 4 days covered Sep 8 - Sep 11 apps touched 18 2026-09-11 work commits by project pwnlingo 172 notes 153 monocode 91 conveyer 49 epiphany 29 lexly 21 nimble 21 nulljosh.github.io 20 commits per day, 5 days commits 887 projects touched 50 2026-09-07 to 2026-09-11

Monday

Fixed a broker sync loop in Epiphany burning through Workers quota, the dependency was recreating on every sync, 480k burned since Friday. Pulled the problematic line from useVisibilityPolling and deployed to Cloudflare Workers. Added a lost-cat listing to Homeward for Vinney, an orange tabby, last seen in Brookswood/Langley.

Sep 8

Flipped five repos to public, finished icon fixes on Lucarne and Plain, and deployed Epiphany’s broker-sync fix. Received the CRA Business Number and submitted it to App Store Connect, unblocking iOS revenue. The Duolingo breakthrough came through the React fiber: correct moves sit in the puzzle state, no board scanning needed, just memory reads and clicks, and the language solver reads answer pairs the same way, now verifying live against real Duolingo lessons; bundled js-chess-engine for the match node, found the live FEN in a useRef, and beat the bot in game one, unlocking the next league rank. The Greek course ran unattended through dozens of lessons, its study ledger growing past a thousand entries, after a tree-rendering timeout fix let it resume correctly from checkpoint. Ported the chess work into Seamark, a chart library on npm, extracting coordinate logic and DOM traversal as reusable modules, and deployed the solver landing page to pwnlingo.heyitsmejosh.com.

Sep 9

The language loop ran unattended overnight across Zulu, Portuguese, and Romanian with a Playwright chess runner driving real mouse clicks through puzzles via live position lookups, zero misses despite bot losses; the engine got rewritten from scratch to a single four-hundred-line runner replacing three loops, a Chrome extension, and a file server. Pruned a hundred dead wrapper layers, cutting code from 21.6k to 19k lines. Epiphany iOS got approved that morning, paid Daily Brief live, unblocking revenue since the Paid Apps Agreement activated, and got prepped further with a synced splash icon and prefetched Markets drawer news. Built and shipped Co-Stanza, a poetry network with iOS, macOS, and Kotlin ports on Supabase, and fixed voxprint’s landing page, tripwire’s subrequests, a Curbfind trailing-slash 404 loop, and Sparkjar’s iOS comment posting and pagination. Polished the Pwnlingo status app end to end: renamed it, swapped the track dropdown for icon buttons, added lesson counts and a misses counter, wired a live track-switch endpoint, and corrected stale chess stats to 1,700 puzzles overnight with zero misses.

Sep 10

Paid Apps shipped Voxprint at $1, NYC with icons, and Epiphany Premium via StoreKit 2; built /launch for Product Hunt across 12 apps. Wordroot’s macOS appeal won and the Duolingo solver evolved into a native iOS and macOS SwiftUI app with an HTTP bridge for LAN progress polling; fixed cheap-fix skill to enforce real delegation. Shipped Windgate to the App Store, hardened Pwnlingo’s runner with crash fixes and watchdog timers, added canvas editing to Blockframe, removed redundant h1s from 16 landing pages, and fixed Epiphany’s news drawer bug that was doubling latency past the 15s iOS timeout. Built launch kits for Litigate, Sparkjar, Blockframe, and Doorstock, got Curbfind App Store approval, and scheduled thirteen apps for Product Hunt starting the 11th. Tried Codex CLI for the first time: roost lazy-loads routes, fieldbook got a related-fields sidebar and PDF printing, weather shows hourly forecasts, and Pwnlingo gained full i18n, auto-advance, and menu bar uptime tracking, while Apple rejected a late submission on an automated binary check with no reason given yet.

Friday (2026-09-11)

Fixed critical Pwnlingo bugs (SMAppService, auto-start trigger, language menu, crash recovery, tunnel unreachability detection, animated XP ticker); verified Cloudflare Web Analytics live; wired social sign-in to nine apps; and polished fleet landing pages with d3-force graphs, hero trims, Vercel-to-Workers migration, and CSP fixes across twelve repos. Extracted the mail skill to a standalone Gmail triage app with OAuth clients for web/iOS/macOS, Gmail API, Workers backend, and Outlook/iCloud support; created ASC distribution profiles (6811141466) and swept the rename across GitHub and domain. Finished Siftbox (submitted iOS/macOS); gave baseline docs to the fleet (CONTRIBUTING, LICENSE, SECURITY, WHITEPAPER); wired Pwnlingo’s tunnel to self-heal and added Tripwire’s auto-fix via Workers AI. Debugged Conveyer’s infrastructure (colima, model selection), got a real Factorio client spectating, built ASCII TUI and progress graphs from 20 session runs, renamed to match GitHub, and redesigned the hero with full-viewport video and terracotta branding.

Set up SketchyBar on macOS as a menu bar overlay polling pwnlingo’s status, added native watchOS companion apps to Windgate (breathing patterns with haptic phase cues), Numen (4-function calculator), and Sidewise (headline list with live API fetch), and locked down Doorstock with Face ID on launch plus Sign in with Apple and Google via the shared Spark project, all committed and pushed with iOS build green; ten other apps stayed put as deliberate mismatches since browsing, reading, OAuth flows, and internal tooling don’t work well on 40mm screens.

Saturday (2026-09-12)

Polished Conveyer with video background and zoom-pan; triaged Notes into roadmaps, cleaned Product Hunt spam, and debugged SketchyBar (added Claude usage indicator, fixed popup stacking). Fixed supply-chain issues across Voxprint’s landing, Healstack’s Face ID persistence, Epiphany’s Markets banner, and Quotestreak’s accent colors; rewired Tripwire to watch dynamically via GitHub API (committed missing test fixtures for Stripe webhook and checkout that were breaking Talli’s npm test), and finished Co-Stanza’s polish with emoji cleanup, README trimming, and an animated quote rotator. Debugged Pwnlingo’s crash loop (run.mjs was detached), added auto-restart on crash, and fixed the portfolio homepage flash by decoupling the GitHub API call.

Pwnlingo’s tunnel drifted to Korean and the watchdog stalled for 2.5 hours (recovery logic needs checking); fixed Epiphany’s landing geolocation precision and Inkpress’s article view. Noticed Wordroot’s shipped app lacked the photo-background feature, so bumped the version and resubmitted; also trimmed Epiphany’s CLAUDE.md from 630 lines down to 32, built pr-investigate and github-feed skills, polished Wordroot’s landing page, fixed Talli’s ship workflow (now submitted for App Review), and enhanced Tripwire’s CI watcher to generate patch PRs from failing job logs via Workers AI.

Apps

Epiphany: quota burn fixed, iOS paid tier live, Yahoo Finance retry-logic submitted, landing geolocation precision improved. Voxprint: landing redesigned (logo top-left). Healstack: Face ID fixed, iOS submitted (iPhone-only now). Tripwire: watch list dynamic via GitHub API, auto-fix PR generation from CI logs. Duolingo/Pwnlingo: engine rewritten, native SwiftUI, zero-miss chess. Lexly: real exercises, Klingon + Yiddish. Seamark: npm published. NYC, Windgate: Paid Apps shipped. Social sign-in across nine apps. Portfolio: d3-force graphs. Siftbox: iOS+macOS submitted with Gmail/Outlook/iCloud OAuth. Conveyer: FLE player at conveyer.heyitsmejosh.com with terracotta branding. Windgate/Numen/Sidewise: watchOS companions. Doorstock: Face ID and Sign in with Apple/Google. Quotestreak: accent color override fixed. Nimble: landing cleanup. Talli: PWD filing report hidden for approved applications; iOS and macOS both submitted for App Review; test fixtures committed.

Sep 15

Joshua Tree’s tag and release history got caught up. Backfilled 19 missing tags with their corresponding GitHub releases, stopping the drift between shipped versions and their git records. Added tag-release.sh to tools/gen/ to run automatically after each version bump, ensuring tags and releases stay in sync going forward.