Skip to content
jack in the loop

jack in the sandbox · launch pad

Launched.

Things I’ve built and put out there. More on the pad.

on the pad · scroll to launch ↓

the manifest

Live now.

Open any card for what it took and where to look.

The FlipperTools dashboard: store tools for sales and profit, store health, alerts and auto-offers, and the AI lister for bulk listing and review.launch 01liveFlipperToolsPhotos in, eBay listing out, plus free reseller tools and weekly price guides. My business, rebuilt in 2026 with an eval harness behind it.1,000+Users27Free tools~330Price guidesopen the case study +

worth knowing

  • Listings from photos: visual search, live comps and eBay taxonomy mapping feed a model that writes the listing, and nothing posts until you review it.
  • Every model call returns JSON against a schema, falls back to a second provider once if it fails, and logs its time, tokens and cost.
  • An eval harness grades each pipeline version against what users actually changed, and replays old inputs before a change ships.
  • A pricing bake-off across Gemini, Claude, GPT and the full pipeline on hundreds of real sold listings, with the bar written down first.
  • The free half: fee calculators for nine marketplaces, shipping calculators, label printers and about 330 price guides refreshed weekly.

what it took

  • AI pipeline
  • Evals
  • Model bake-offs
  • Structured output
  • Cloud Run
  • eBay APIs
The allbutnew homepage, laid out like a department store directory of secondhand shops.launch 02liveallbutnewA buyer's guide to secondhand, one shop per category. Built and kept up by a software factory of Claude Code skills, not by hand.39Shops live1,462Models priced$0Monthly hostingopen the case study +

worth knowing

  • The factory: a GitHub issue becomes a ticket, skills do the work, checks fail loudly, and every change is reviewed, merged, deployed and checked live.
  • A new shop is one skill run: port the category, collect eBay listings, write the picks, make the photos, check the voice, launch.
  • Prices only come from dated snapshots refreshed twice a week through the eBay API. Nothing is written from memory, and tests enforce it.
  • One 24-hour stretch: a homepage redesign and a Next.js upgrade across all 44 sites, each reviewed, merged, deployed and checked live.
  • All static on Cloudflare, so the hosting bill is $0, and every bug the QA loop finds becomes a permanent check.

what it took

  • Software factory
  • Claude Code skills
  • Agent pipelines
  • Static at scale
  • Data provenance
  • QA automation
A neighborhood landing page for the quote desk: "Backyard parties built for Fairwood".launch 03demoParty rental quote deskOne form, three quotes from local rental companies. A full-stack demo with fictional vendors: every email lands in a public outbox.0Real emails sent$8Monthly cost cap4QA passesopen the case study +

worth knowing

  • The round trip: a lead emails a vendor with a quote ID in the reply-to, and the reply comes back through a signed webhook and is filed against the lead.
  • Demo mode keeps it safe in public: fictional vendors, an in-memory database, blocked outbound calls, and an outbox in place of real email.
  • It can't run up a bill: rate limits, an origin lock, and a $5 budget alert that takes the demo private on its own.
  • Four QA passes at phone and desktop widths before it went up.

what it took

  • Full stack
  • Email round trip
  • Demo safety
  • Cost guards
  • Postgres
  • Claude API
The Made Up Merch homepage: "Merch for things that only make sense to you", with a mountain pillow, a house sticker and a knitted pet sweater.launch 04demoMade Up Merch27 small machines for making weird merch: design a flag, a sky map or a pet sweater, see it live, and get the exact print file. Ordering is closed.27Product lines$4/moAI spend cap4Days to buildopen the case study +

worth knowing

  • Every machine is a plug-in product line, so checkout, webhooks and fulfillment never change when a new one is added.
  • What you see is what prints: the browser preview and the print file run through the same rendering code, with bundled fonts.
  • AI actions (Gemini) are capped at $4 a month. Each one reserves its worst-case cost before it runs, with an hourly image limit per visitor.
  • Printed text is moderated on every line, and text meant for a later AI step is sealed on the server, so a visitor can't swap in their own prompt.
  • Photo uploads wait behind a consent box, and ordering is closed, so nothing is for sale.

what it took

  • Generative AI
  • Spend caps
  • Trust and safety
  • Plug-in architecture
  • Print-exact rendering
The Slide Relay presenter screen: a sample slide reading "Your phone is the clicker", and a QR code for the phone to scan.launch 05liveSlide RelayPresent a PDF from your laptop and change slides from your phone, paired by scanning a QR code. Free, no app, no sign-up.852 billionPossible room codes5 minRejoin window$0Monthly hostingopen the case study +

worth knowing

  • Rebuilt an old Express and Socket.IO app as a Cloudflare Worker with one Durable Object per room, so it runs free and fails closed instead of billing.
  • The first phone to scan holds the room. Any other phone waits until the presenter lets it in, and joins are rate-limited per IP.
  • Both sides re-join after a network drop, and the room waits five minutes for a refreshed laptop.
  • Your PDF never leaves the laptop: pdf.js renders it there, and only the slide number crosses the network.
  • The built-in rate limiter let 80 joins in a row through when measured live, so a strict per-IP limit went in on top.

what it took

  • Realtime
  • Durable Objects
  • WebSockets
  • Abuse limits
  • End-to-end tests
The venue quote agent demo: a mock venue form filled in by the agent, beside counts of forms submitted and fields filled.launch 06demoVenue quote agentAn agent that fills wedding-venue inquiry forms, and a Claude step that turns the replies into comparable quotes. Shown end to end on mock venues only.6 of 7Mock forms submitted5Replies through Claude$0.04Cost of the runopen the case study +

worth knowing

  • The form agent reads labels, names and placeholders, so it handles split names, split phone numbers, guest-count dropdowns and month, day and year selects.
  • It finds the form on /contact when the homepage only has a newsletter box, and stops at a captcha instead of trying to get past it.
  • Claude turns each reply into the same structured quote: price range, what's included, deposit, lead time and a confidence score. Auto-replies are dropped before any model call.
  • A real finding from the run: on a vague reply, Claude merged a weekday floor and a weekend range into one band. The page shows it rather than hiding it.
  • Never run against real venues: the original persona posed as a couple, and that's not outreach worth automating.

what it took

  • Browser agents
  • Claude structured output
  • Zod validation
  • Responsible agent design
  • Playwright
Sunrunner gameplay: Kit leaps over a spear trap toward a row of gold coins, temple ruins at sunset behind her.launch 07liveSunrunnerA pixel-art jungle-temple runner on a game engine I wrote for it. Four stages, playable on a phone held either way or with a keyboard.4Stages94Engine tests60 fpsFrame rateopen the case study +

worth knowing

  • The engine is written from scratch in TypeScript: a fixed-timestep loop, tile physics with coyote time and jump buffering, scenes, parallax, particles and a synth for the music.
  • A search bot proves every stage can be cleared without taking a hit, and a second bot with human-like timing errors checks it's fair.
  • Plays on a phone in landscape or portrait, with big touch pads, or with a keyboard on desktop.
  • Backgrounds were generated with Codex, then snapped to one shared palette by a script. Kit and the hazards are drawn in code.
  • Holds 60 fps on a phone emulated at a quarter of its CPU speed.

what it took

  • Game engine
  • Canvas 2D
  • WebAudio
  • Touch and keyboard
  • Playwright bots
  • Codex art
The Sheets Academy homepage with a live SUMIFS formula running against a sample sales table.launch 08liveSheets AcademyA Google Sheets reference with 61 formulas you can run live against sample data, 46 shortcuts, and a daily formula puzzle.61Formulas30Puzzles, all verified751 linesEngineopen the case study +

worth knowing

  • A formula engine written for the browser runs 24 functions live against sample data, so you can edit a formula and watch the result change.
  • The engine re-computes every challenge answer in a test, so a wrong puzzle fails the build.
  • Built by the factory's agents in spring 2026, killed for no traction, then brought back: 38 of 61 formula pages were opening on an error, and now none do.

what it took

  • In-browser formula engine
  • Autocomplete
  • Self-checking content
  • Agent-built
The 1980s reveal: $1,000 of Apple in 1980, shown at about $2.14 million today.launch 09liveWhat If I BoughtPick a decade, fall through a period terminal's wormhole, land on what an old purchase is worth today. Illustrative numbers.5Decade terminals11Scenarios0Ads and trackersopen the case study +

worth knowing

  • Each decade gets its own period terminal and wormhole, and the reveal lands with a stamped multiplier.
  • Before it went up, the crypto figures were checked against cited sources and corrected, and every reveal says what its numbers are.
  • Chrome passed text that Safari smeared, so the QA loop now runs both engines.

what it took

  • Motion design
  • Social cards
  • Sourced numbers
  • Safari QA
launch 10on the padMore coming soon.

The Cemetery

Do step softly, dear visitor. Every soul in this yard was launched with high hopes and buried with a lesson. They are restless, but quite harmless. Mostly.

  1. Here lies

    The ten-loop factory

    Apr–Aug 2026

    Here lie ten loops that never slept.
    They shipped and shipped; one idea was kept.

    Read the full inscription

    Ten scheduled Claude Code agents that took ideas to live sites with no one at the keyboard: 4,782 merged PRs and 144 sites deployed.

    Cause of death. Volume was never the problem. Most of what it built was programmatic SEO, and its kill switch judged sites on traffic data nobody had wired in. Paused in August.

    What it left us. Picking what to build is the job. Its one idea worth keeping became allbutnew, built one verified job at a time.

    Read the full story
  2. Here lies

    Local service cost guide

    Apr–Jul 2026

    Seven hundred fifty pages, priced with flair,
    and it never once knew if anyone was there.

    Read the full inscription

    750 pages answering "how much does a plumber cost in my city?" for 15 services in 50 cities.

    Cause of death. No traction. A script killed it on schedule, and it couldn't even find the site's URL: nobody had set up analytics. The prices had no source either.

    What it left us. Decide how you'll measure it before you launch, and don't publish a number you can't source.

  3. Here lies

    Car maintenance intervals

    May–Jun 2026

    It cited a manual it never had read.
    Take no oil-change advice from the dead.

    Read the full inscription

    Oil, timing belt and coolant intervals for 27 popular cars, across 2,455 pages.

    Cause of death. Left unmeasured after launch. When I reviewed it for this page, its first example gave the 2010 Camry an oil spec that doesn't match Toyota's, citing a manual section nobody had opened.

    What it left us. A fact from model memory needs a source someone actually checked. That's now a written rule in allbutnew.

  4. Here lies

    Garage sale day map

    Jun 2026

    It mapped every sale with diligent care,
    a month too late: the sale wasn't there.

    Read the full inscription

    Every stop on West Seattle's garage sale day on one map, filled by an AI pipeline reading the organizer's list.

    Cause of death. Built in June for a sale held in May, and the pipeline never read the real list. 364 tests, every one on data I wrote.

    What it left us. Point the pipeline at the real source on day one, and build for the next date on the calendar.

    Read the full story
  5. Here lies

    Profession Gifts

    Jun–Jul 2026

    Mugs for the nurses, tees for the trade,
    a shop with no checkout, so nothing was paid.

    Read the full inscription

    A gift store for specific jobs, NICU nurse to electrician: 189 pages and code-drawn crests, built by the factory's agents in a week.

    Cause of death. It was a store that couldn't take an order. Checkout stayed a stub, so it could never meet its own kill rule of one sale, and it passed its July kill date with the decision box still unticked.

    What it left us. Wire the money path before the hundredth page. The crests were the fun part; the store was the point.

    Visit the remains