Then he built it in fourteen days.
Then he took it apart. Twice.
The idea was simple.
The ambition was not.
What if anyone shaping a product had a small workshop of resident specialists, each brilliant at one part of the craft, sitting beside them as they work? Not a chatbot. Not an everything-tool. A few focused minds, each trained to think the way a senior practitioner thinks about their specific part of the work.
It didn't make thinking easier.
Anyone can generate output now. What stays scarce is the judgment to aim it: knowing what's worth building, what to cut, what "good" even means. So keya meets builders where they actually are. It doesn't ask for a brief. It starts at the thing you've already made. Show it what you're building, and it tells you what to fix.
Claude provides the intelligence. The intention comes from a quarter century of building products for real people.
March 14, 2026.
Everything starts.
The first commit lands at 10:49 AM. By noon, there's a monorepo, a database, authentication, and an API. By evening, the audit agent is alive. Streaming responses. Persisting to Postgres. Every thought traced.
Not a prototype. Not a mockup. A working product.
The first cut was ambitious to a fault. Five named agents (the original K·E·Y·A: Know, Explore, Yeah, Actualize), a workspace, a dashboard, credits, billing, a dark UI with every pixel considered. Fourteen days, five agents, zero shortcuts.
It was a lot of product. As it turned out, it was too much.
Five names
became three.
The roster of five (Mine, Frame, Plot, Crit, Tone) was neat on paper and blurry in use. Agents kept overlapping. Some had jobs that didn't repeat often enough to feel like a craft. The workshop was too crowded for the room.
The first version wasn't quietly buried. It was archived, honestly, to a branch named legacy/v1-five-agents, and a leaner one took its place. Three agents, each with a verb. Each a builder, not a chat partner.
Three is the right shape for the work most builders actually do: find what's wrong, decide what to do about it, build it.
The harder pivot
was taking things away.
The first pivot bought clarity by cutting agents. The second, over the weeks that followed, was harder, because it meant removing things that worked. One by one, they came out.
- −Credits and billing
- −The points and the rank ladder
- −Mode toggles
- −A menu of models to choose from
Everything that stayed had to earn its place. Most things didn't. on the second pivot
+ Three agents, one model chosen for you, and a surface with nothing to administer.
The app didn't get bigger. It got truer.
Every run
leaves something behind.
Here's the part that compounds. Every Crit, every Form, every Forge run ends in a named, versioned artifact: a clean Markdown file, and for a build, a self-contained page you can open. Human-readable. Machine-readable. Yours to keep.
Those artifacts aren't just output. They're memory. Feed one back into the next run and keya picks up where you left off: the decisions you made, the problems you fixed, the patterns you lean toward. After a few passes it understands your product, not just your prompt.
And every project carries an anchor: a screenshot, a URL, a PDF, a short brief, dropped once when you start and edited later from a small gear beside the project name. From then on, every run sees it. The agents never make you re-explain the work.
The handoff
that finally carried context.
For a while, the handoff worked like a sleight of hand. Finish a Crit run, click Send to Form, and a small chip appeared reading "Using crit-2026-05-10.md." It looked considerate. It was a label, not a payload. The report wasn't actually being sent. Form, predictably, kept replying "I don't see the Crit report you mentioned."
Fixing that was a turning point. The receiving agent now sees the source agent's full output, attached as a real reference, and the loop opens both ways. Form can send back to Crit; Forge can ask Form for a refinement before it builds. The agents stopped being three islands and became one workshop.
Forge was named
for what it does.
The first Forge prompts had it writing code reviews: severity ticks, findings, the kind of output you'd hand a reviewer on a PR. It was good work. It was also the wrong work.
I never asked for Forge to be a reviewer. It was always build. Even the name suggests that. the user, gently correcting the brief
The prompts were rewritten that afternoon. Forge now does the thing its name promises: a short plan, then the work itself, then the honest "still open", the decisions the brief left silent that it picked a defensible default for. Design comes in. Something you can ship comes out.
June 2026.
The doors are about to open.
Today keya is in private beta. Invite-only, a handful of builders, a magic link at the door. No fanfare. The point of a small beginning is the same as the point of the whole thing: get the judgment right before the scale.
Three agents. One workshop. Two honest pivots. The work is never quite done — and that's rather the point.
What it's built on.
Modern, boring, legible. Next.js App Router with Server Components by default. One model, Claude Opus 4.8 via the Vercel AI SDK, chosen for you and not picked from a menu. Drizzle ORM against Neon Postgres for the data, Vercel Blob for the files, Clerk for auth. TypeScript strict throughout. Tailwind for styling. No CSS-in-JS runtimes. No magic.
at IDYeah Studio
with Claude Code
Named after his daughter.
Built with care.