Supabase gives developers full control: real Postgres, row-level security you author, edge functions, realtime, storage. Gemmein makes the opposite trade for people shipping AI products — seven plain-English access rules the server enforces by default, AI tools that run on your own OpenAI, Anthropic or Google key (the key never touches the browser), prepaid credits, Stripe payments and the access each purchase grants, your own trained model connected through a relay, and an admin console to run the business. Want to own a database? Pick Supabase. Shipping an AI product and don't want to build or secure the backend? Read on.
Read docs.gemmein.com/llms.txt. Does Gemmein fit my app? Tell me first, then set it up.
Paste it to the AI you already build with (Claude Code, Codex, Cursor, Bolt); it reads the guide and answers for your app.
Side by side
| Supabase | Gemmein | |
|---|---|---|
| Built for | Developers who want a full Postgres platform | Founders shipping AI products, and the AI that builds them |
| Data safety | Row-level security policies you (or your AI) write: powerful, and yours to get right | Seven fixed plain-English rules, chosen per collection and enforced on Gemmein's servers even when app code makes the wrong request; there is no security configuration in your code to get wrong. Shared, community and direct collections have their learned shape sealed at go-live, and the isolation is provable: the reaffirm script, which apps copy into CI, proves the boundaries on every deploy |
| Surface | Huge: SQL, functions, realtime, storage, vectors… | Narrow on purpose, and the same from a browser, an Expo app or a Swift app: email-code sign-in, collections, files under the same rules, live lists (watch(), by polling; websockets stay refused), subscriptions and products, AI tools priced in credits, relays, customer email from your own domain, founder alerts by email, and the admin console. If it's not in the guide, it isn't built |
| Sign-in | Many auth methods, configured per project | One: passwordless email codes, so no password database exists. Two abuse bounds hold on sign-in emails, and how many an app sends in a day is never capped |
| Payments & access | Bring your own integration | Built in on your own Stripe: subscriptions from Payment Links, one-off digital products, and the access or credits each purchase grants. A product can also be sold through a relay, or defined before it has a road at all. A full refund reconciles the access that purchase granted; a partial refund leaves it standing |
| AI in the product | Vector storage in Postgres | Named AI tools on your own OpenAI, Anthropic or Google key, which stays on the server and never reaches the browser. Native tools cover chat, image, speech, video and transcription; each carries the access it requires and its price in credits per call, set by the owner. A provider failure before the first output byte refunds the credits, and there is no server function of your own to deploy |
| Workflows | Edge functions you write and deploy | Relays: a verified provider event, a schedule or a record change runs up to ten actions in Gemmein's own verbs — fulfil or refund a product, grant or revoke access or a plan, grant credits, write a record, email the person, call your URL, or hand a run to your own pipeline. Receivers verify by hmac_sha256_header, stripe, svix or shared_token, and every event is logged, retried and replayable |
| Your own model & compute | Edge functions run on Supabase | Run your own trained model, pipeline or heavy job on your own host with the customer context intact: your server verifies the session, reads what the person holds, and grants access or spends credits through the server API. A relay can hand the run to your URL, and Gemmein wraps it in the same identity, access, credits and results |
| Running the business | A developer dashboard | An admin console: Customers, Subscriptions, Payments, Collections, Relays, AI, Inbox, Logs, Alerts and Usage & billing. Suspend a person, end their sessions, grant or revoke access, comp credits, replay a relay event, and read the activity record. Irreversible actions ask you to confirm |
| Problems | Raw logs, yours to query | Your live app's refused writes, grouped into plain-English problems on the Problems page, each carrying the exact refusal your app was told |
| Price shape | Generous free tier, paid plans plus usage | Development never bills. Live is one banded plan, $50–$150 a month by the people who used your app the previous month; a person counts once, on their first signed-in request, and anonymous visitors never count |
Their side is described from public pages as of August 2026, so check their site for current details. Ours is the product's own contract.
When Supabase is the better choice
- You're a developer, or you have one, and you want SQL, migrations, realtime, edge functions, and the freedom to model anything. That is exactly what Supabase is for. Gemmein refuses most of that surface on purpose: live lists exist by polling, websockets stay refused, and Gemmein runs its own relay verbs rather than your code.
- Your app needs shapes Gemmein doesn't carry: team workspaces, staff accounts, custom roles and permission lists, or social login.
- You enjoy owning the security model. Row-level security done well is excellent, and it is yours to do well.
When Gemmein is the better choice
- Nobody on the project wants to own a database, policies, or an auth configuration. The AI builds, the founder answers the business questions, and there is no rule syntax to get wrong.
- Payments and the customer relationship matter from day one: your Stripe, your customer, subscriptions, products, refunds and the access each one opens already wired.
- Your product sells AI operations. You name the tool, gate it by the access it needs, price it in credits per call, and your provider key stays on the server.
- The workflows around the product should be configuration: a verified provider event, a schedule or a record change runs Gemmein's own verbs, with every run logged, retried and replayable.
- You want the admin side to exist without building it. Customers, refunds, the Inbox and the activity record are part of the product, rather than an admin panel you write later.
- Your coding agent wants a defined platform: nine tools over MCP, a CLI, and a local rail that runs the same enforcement code as production.
Questions
Is Gemmein built on Supabase?
No. Gemmein runs its own engine: the contract-enforcement engine you run locally with npx gemmein dev is what runs in its cloud. The local engine and the cloud run the same enforcement code, so what your app proves locally is what production enforces.
Can an AI assistant really run the whole setup?
That's the design. The guide at docs.gemmein.com/llms.txt is written to the AI: it assesses fit first, asks the human only the business questions, builds against the local runtime, and hands back a tested app. Your agent works with nine tools over MCP and a CLI. A human signs up only at go-live, because the paid part is taking an app to customers; starting one is free.
Can Gemmein run my own code, or a scheduled job?
Gemmein runs its own relay verbs and never your code. A relay starts from a verified provider event, a schedule or a record change, and can fulfil or refund a product, grant or revoke access, grant credits, write a record, email the person, or call your URL. Anything that thinks — a model call, a render, a transform — runs on your own host behind that call, and your server asks Gemmein who the person is and what they hold before it acts. A chat call has a shorter road: a named AI tool on your own provider key, priced in credits.
Who handles VAT and sales tax?
You do, and that is by design. With Gemmein, every payment lands in your Stripe account and the customer is legally your customer. Merchant-of-Record platforms (Paddle, Lemon Squeezy) work the other way round: they become the seller of record, their name is on the card statement, your customer is contractually theirs, and in exchange they carry the tax filing. Both models are legitimate. Selling digital products to EU consumers can create VAT duties from the first sale, and at heavy international volume a Merchant of Record earns its cut. Most independent founders sit under the UK's £90,000 VAT threshold and can have Stripe Tax calculate what's owed, so the real choice is whether to hand over the customer relationship in return for paperwork you may not owe yet. Gemmein never holds, moves, or processes money either way. Stripe does that, inside your own account. Stripe is built in. Any provider that signs its webhooks, GoCardless, Paddle or Lemon Squeezy among them, drives access the same way through a relay.
What can't Gemmein do?
Gemmein is for apps with email-code sign-in: on the web, on iOS and Android through Expo, and on iOS and Mac through the Swift package. Social login, staff accounts and team seats are not available. There are no custom roles or permission lists, no carts or physical goods, and no multi-seller payouts. Credits are prepaid, at the price the owner sets for each AI tool call; postpaid token-based invoicing is not included. If something isn't in the builder guide, it isn't built, and the guide states its bounds so your AI doesn't invent a workaround.
Build anywhere. Launch with Gemmein.
Let your AI check the fit first. If Gemmein matches the app, it can wire it up from the docs.
Read docs.gemmein.com/llms.txt. Does Gemmein fit my app? Tell me first, then set it up.
How it's kept safe → · Building is free: no account, no card, no time limit.