Docs-driven
Define your business objects once. Rowly generates schema, API, and UI.
defineDoc({ name: 'Customer', fields: [ { name: 'name', type: 'text' }, { name: 'email', type: 'email' }, ], })
What it is
Define your business objects once. Rowly generates schema, API, and UI.
defineDoc({ name: 'Customer', fields: [ { name: 'name', type: 'text' }, { name: 'email', type: 'email' }, ], })
Every doc is exposed to Claude, Cursor, and ChatGPT via the MCP protocol.
Workers + D1 at the edge. Sub-50ms responses anywhere in the world.
How we compare
Rowly is built for AI agents from day one, not retrofitted.
| Feature | Rowly | Supabase | Frappe | Lovable |
|---|---|---|---|---|
| AI-first | Partial | |||
| Built-in agent tools | ||||
| Doc metadata | ||||
| MCP transport native | ||||
| Time to first value | < 5 min | ~ 30 min | hours | ~ 15 min |
See it in action
See Rowly drive a real business workflow end-to-end.
Add a customer named Acme and send them an invoice for ฿5,000.
→ rowly.customers.create({ name: "Acme" })
created → cust_8a3f
→ rowly.invoices.create({ customer: "cust_8a3f", amount: 5000 })
sent → acme@example.com
✓ Invoice INV-0042 issued for ฿5,000.
Interactive demo coming soon — see issue #35
Get started
A small TypeScript snippet describes your business objects.
defineDoc({ name: 'Customer', fields: [ { name: 'name', type: 'text' }, { name: 'email', type: 'email' }, ], })
One curl command wires your AI agent to your Rowly backend.
$ curl rowly.ai/install | sh
Ask in plain language. The agent calls the right tools and writes back.
Pricing
Pay nothing while we build. Paid tiers come later.
Free tier
฿0 / month
For everyone, while we're building.
No credit card. Paid tiers coming later.