# Planning a new product on Cloud Run

> Planning a new product on Cloud Run before the first line of code: SaaS tenants, an AI agent backend, Stripe webhooks and the bill as it grows.

<https://exodus.elim.io/blog/topic/new-product>

These guides are for a product that does not exist yet. They lay out the services, the database and the jobs a new app needs on Cloud Run, then go through two common shapes, a SaaS with tenants and sign-in and an AI agent backend, plus Stripe webhooks, and price each design at launch and as the number of customers grows.

- [An AI agent backend on Cloud Run: the loop, the stream, the state, and the bill](https://exodus.elim.io/blog/an-ai-agent-backend-on-cloud-run.md): An AI agent's backend on Cloud Run: the model-and-tools loop as a streaming service, sessions in Firestore, keyless access, tools as MCP servers, and why tokens are most of the bill.
- [A SaaS architecture on Cloud Run: tenants, sign-in, data, domains, and the bill as it grows](https://exodus.elim.io/blog/a-saas-architecture-on-cloud-run.md): A SaaS product on Cloud Run: one service and one database, a tenant id on every row under Postgres row security, sign-in, customer domains, and the bill at 5, 50 and 500 customers.
- [Stripe webhooks on Cloud Run: verify, record, queue, answer, and never charge twice](https://exodus.elim.io/blog/stripe-webhooks-on-cloud-run.md): Stripe webhooks on Cloud Run: verify the signature, record the event id, queue a named Cloud Task, answer 200; a private worker does each event once. The traps, catching up after an outage, the cost.
- [Planning a new product for Cloud Run before you write it](https://exodus.elim.io/blog/planning-a-new-product-for-cloud-run.md): The decisions to make before writing a product for Cloud Run: where state lives, the database, background work, payments, live updates, the region, and the bill at launch, in a year and busy.
