whyc v0.1.0 — preview build

while yc hires, we ship

A YC-roast you invoke from the terminal.

Everyone’s racing to build a sleek web dashboard for their agent demo. We disagree. whyc is a curlable HTTP endpoint that streams the agent loop to stdout and emails you the deployed Cloud Run URL when spec-fit converges. No SPA. No login. No spinner. Just a pipeline you can tee into a logfile and forget about until your inbox pings.

surface: cli + email backbone: gemini adk orchestrator: agent builder traces: arize phoenix mcp deploy: cloud run artifact: next.js

The visible window is ~10 min and lands on the first live URL with a real spec-fit number. The judging loop keeps running for hours; you don’t babysit it.


[ delivery: plaintext email — no html, no tracking pixel ]
  mutt   INBOX   1 new From: whyc <ship@whyc.sh> To: sejun@example.dev Subject: [whyc] r-20260506-7f3a2b converged @ 0.96 Date: Wed, 06 May 2026 18:41 -0700 your preview is live. url https://whyc-r-20260506-7f3a2b-uc.a.run.app spec-fit 0.96 (started 0.71, 4 iterations, 5h 53m) flows onboard 0.94 / evidence 0.97 / review 0.95 / ship 0.98 source https://github.com/<you>/whyc-r-20260506-7f3a2b traces https://phoenix.<you>.dev/projects/whyc/r-20260506-7f3a2b what we shipped while they were still posting "hiring junior eng (unpaid intern ok)": - 1 spec graph extracted from a job url - 4 named user flows - 1 next.js app, 0 todos, 0 lorem ipsum - 1 cloud run service - 4 self-improvement iterations, judged against the spec by an llm-as-judge reading our own openinference traces reply STOP to never hear from us again. reply MORE and we'll roast another url. -- whyc(1)
[ what just happened, in 8 lines ]

   url ──┐
         ▼
      ┌─────────┐  gemini adk
      │ extract │  spec graph (title, surfaces, flows)
      └────┬────┘
           ▼
      ┌─────────┐  next.js codegen + design tokens
      │ build   │  cloud run deploy (first url ~10min)
      └────┬────┘
           ▼
      ┌─────────┐  phoenix mcp ── reads OUR traces
      │ judge   │  llm-as-judge scores per flow
      └────┬────┘
           ▼ (only weak flows)
      ┌─────────┐
      │ regen   │ ──┐
      └────┬────┘   │ loop until spec-fit ≥ 0.95
           ▼        │ or 8 iterations
        email ◄─────┘
      

whyc(1)   man page — the only docs we shipped
NAME
       whyc — turn a yc job posting into a working preview while they're
              still interviewing the intern.

SYNOPSIS
       curl -N https://whyc.sh/run -d url=<url> [-d email=<addr>]
       whyc tail <run-id>
       whyc open <run-id>

DESCRIPTION
       Submits a workatastartup-style job url. Streams the agent loop as
       text/event-stream. Emails the deployed cloud run url when spec-fit
       converges. There is no web ui for whyc itself; the artifact is
       a next.js app, that's where the design budget went.

EXIT CODES
       0   converged.
       2   spec-fit ceiling at < 0.80 after 8 iterations (we tell you).
       7   refused: input looked like a real yc company. categorical only.

SEE ALSO
       phoenix(1), gcloud-run(1), shame(7)

[ unfashionable choices, on purpose ]
surface
curl + email, not a SPA
auth
api key in a header. that’s it.
state
run-id is the primary key. no accounts.
delivery
plaintext email. mutt-readable.
docs
a man page. one screen.
analytics
none on whyc. phoenix on the agent.
design
budget spent on the generated preview, not on us.
[ what stays sleek anyway ]

The generated Next.js preview on Cloud Run is finished work — pixel-tight, real flows, real api routes. WhyC’s own surface is text because the joke only lands if the artifact looks shipped and the tool looks cheap to operate. That’s the contrast: their hiring page, our 200-line shell pipe.

spec-fit gauge
0.96

try it. it’s one line.
$ curl -N whyc.sh/run -d url=$URL -d email=$YOU
arize track 2026-06-11 14:00 PT team of 2

whyc is a categorical satire of a shipping pattern, not of any individual company. No yc names or logos appear in the demo video or in this preview. Generated previews use synthetic or anonymized job descriptions only.