Inspiration

Launching a physical product means months of errands: naming it, finding a factory, ordering samples, registering the company, building a store and taking the first payment. The AI tools we tried could explain each step, but none of them did any of the work. We wanted an agent that does the work, without handing it your bank account.

What it does

Operator is a workspace where a founder describes a product and an agent works toward launching it.

  • It acts, not just advises. A Mission Lead agent plans the launch and hands bounded tasks to specialist agents for brand, product spec, sourcing, commerce, compliance and demand testing. The specialists use tools to do the work.
  • Every action is checked in code. Each tool call goes through a deterministic policy engine. The engine checks the founder's mandates, which say what the agent may do and how much it may spend, before anything runs.
  • The founder approves what matters. Payments, messages and orders appear as decisions the founder can approve, edit or skip. Each question comes with a default answer, so the founder isn't filling in forms.
  • Progress comes from evidence. A readiness ladder (R0 to R5) tracks how close the business is to launch. Each number is tagged with how far it can be trusted: planned, performed, claimed, verified or founder-confirmed.
  • Decisions can be undone. The founder can change any approved decision later, and Operator shows what the change affects before making it.
  • PayPal takes the money. Operator creates a PayPal order, and the payer approves it on PayPal. Operator then captures the payment and reads the order back from PayPal before marking it as paid.

How we built it

The app uses Next.js, React and TypeScript. The agents run on OpenAI models. Every action an agent takes goes through a separate policy engine that decides whether it's allowed. The PayPal side uses the sandbox REST APIs: an OAuth token, Orders v2 to create and capture, and a final read of the order to confirm it. The local demo stores data in SQLite. The full version runs on PostgreSQL/Supabase.

Challenges

The main one was where to put the limits. A prompt that says "don't spend over $500" isn't a real limit, so we moved every permission check into code the agent can't bypass. Payments were the other: a capture can time out after PayPal has already taken the money. We send each capture with an idempotency key so a retry can't charge twice.

What we're proud of

The agent does real work, and it still can't go past the limits the founder sets. That boundary lives in code, not in a prompt.

What we learned

The hard part of an agent that acts isn't the AI. It's deciding which actions need a human and making the rest safe.

What's next

Next is a hosted version.


Built With

Share this project:

Updates

Submission history