Check the fit first
The agent guide explains what Gemmein covers and where your app needs its own services. Start there whether you’re building something new or changing an existing app.
Connect the customer lifecycle behind your app: identity, protected data, purchases, paid access and AI tools. Whether you start here or arrive with the app already built, Gemmein is the part that takes it to real customers. Give the business owner a dashboard for the customers who use it.
Maya buys a research pack in your mobile app. Here’s how that becomes a feature she can use—and a customer you can support.
Her session opens the records she is allowed to see.
02 / PURCHASEA verified RevenueCat event fulfils the configured product.
03 / PAID FEATUREGemmein checks her access and spends the tool’s credit cost.
04 / OPERATIONSHer purchase, access and AI usage are available in the dashboard.
Example configuration, with your app and RevenueCat connected to Gemmein. Web purchases can use the built-in Stripe flow.
Your coding tool builds the app. Gemmein gives it documented methods, explicit data rules, a local environment and actionable errors to work against throughout development.
The agent guide explains what Gemmein covers and where your app needs its own services. Start there whether you’re building something new or changing an existing app.
The MCP integration check probes your development environment for boundaries such as anonymous access and one customer reading another’s records.
Read the integration guideRead https://docs.gemmein.com/llms.txt and assess whether Gemmein fits my app. Explain any gaps first. Ask whether I’m building for web, mobile or both. If it fits, help me build and test sign-in, the right data rules, payments and the paid features my customers need.
npx gemmein devBuilding it yourself? Start with the getting-started guide Email-code sign-in identifies the person. Collections define who can read and change each kind of record. Gemmein enforces the selected rule on its servers, including when app code makes the wrong request. The same rules apply from your browser, Expo or Swift app.
Passwordless sign-in by email. The owner can inspect a customer, suspend access and end their sessions from the dashboard.
Keep customer images and documents with the records they belong to. Product downloads use their own paid delivery flow.
| Rule | Customer access | Example |
|---|---|---|
private | Read and write their own records | Notes or private projects |
shared | Signed-in people read; authors write their own | A shared activity board |
admin_write | Signed-in people read; owner writes | Member resources |
public_read | Anyone reads; owner writes | A public catalogue |
community | Anyone reads; signed-in authors write their own | Public text posts |
addressed | The named recipient reads; owner writes | A client-specific update |
direct | Sender and recipient read the exchange | Person-to-person messages |
These are customer-facing boundaries. The business owner retains administrative access; “private” does not mean hidden from the owner.
Shared, community and direct collections have their learned shape sealed at go-live. Unexpected fields are refused with an explanation. Additions reach live through an owner-approved promotion. See the full rule and promotion contracts before changing your data model.
Build for the browser, iOS, Android and the Mac against the same customer records, access rules, credits and AI tools.
Your existing frontend and coding tools.
@gemmein/sdkSecure session storage and streamed AI responses.
@gemmein/sdk/expoKeychain persistence for iOS 17+ and macOS 14+.
GemmeinSwiftMobile SDKs persist the session in the device’s secure store. The owner can revoke a customer’s sessions from the dashboard.
RevenueCat reports the purchase to a configured relay. Gemmein resolves the customer through an opaque account token and grants the product’s access or credits.
Email-code sign-in on every platform. Store billing uses RevenueCat; Gemmein does not process App Store or Google Play payments itself.
Read the mobile integration guideSell subscriptions and one-off digital products through your own Stripe account. Use RevenueCat with relays for mobile store purchases, or connect another compatible provider. A fulfilled product grants its configured access or credits to the customer.
The app waits for backend fulfilment.
The verified event grants access and adds the pack’s credits.
The app reads the updated balance before offering the paid tool.
Connect Stripe Payment Links to plans and protect the data or features each plan opens. Subscription changes update the associated access.
Sell a digital file, access to content or a prepaid credit pack. Deliver supported product files up to 100 MB each.
A full product refund reconciles the access granted by that purchase; a partial refund does not automatically revoke it. Other valid grants remain separate. Revoking file access prevents new delivery links; an already-issued short-lived link can remain valid until it expires.
Connect OpenAI, Anthropic or Google using your own provider key. Keep each tool’s instructions, prompt template, input rules and model on the server. Choose who can use it and what it costs in credits; your app sends the tool name and inputs.
Illustrative configuration. Changing these controls does not create a tool or call a provider.
A quick summary can cost 2 credits while a more expensive tool costs 20. You define the customer price per call; your provider bills its actual usage separately.
Gemmein validates inputs, identity, access and credits before the provider runs. A provider failure before the first output byte refunds the credits; a partially delivered stream does not.
const brief = await g.ai.runText("deep-research", {
question: "How can I improve client onboarding?"
});After you define the tool and its question input. Gemmein composes the provider request on the server.
See which tool ran, its credit cost, reported token usage and outcome. Retaining prompts and answers is opt-in per tool.
App code supplies the declared inputs. Your server-side definition owns the prompt and limits. Raw provider calls are disabled unless you enable them.
Built-in AI tools cover supported text and chat APIs. For image, audio, video or specialist processing, use your own compute around Gemmein’s identity and access checks.
Read the AI tool contractA relay turns a supported provider event, schedule or record change into a configured sequence of actions. Fulfil a purchase, change access, add credits, write a record, email a customer or call your own service.
A compatible payment provider signs the event. The relay verifies it and resolves the customer.
Example configuration. Provider verification must match a supported signature or authentication scheme.
Relays verify incoming requests using the configured authentication scheme. Map the provider’s event and customer fields to the actions your product needs.
Inspect deliveries and failures, let retries recover transient issues, and replay when appropriate. Your receiving service should handle duplicate delivery safely.
Relays support fulfil_product, refund_product, grant_access, revoke_access, grant_credits, write_record, email_person and call_url. Actions depend on the trigger context: a schedule has no resolved customer and supports write_record and call_url. Relays do not execute arbitrary code, loops or custom transformations.
For a video render, image pipeline or custom integration, run your code on your preferred host. Gemmein’s server API supplies identity and live access checks. Relays can start the work through your URL.
For an app request, verify the session and required access server-side. For a relay request, verify its signature and event identity.
Accept and queue long jobs on your infrastructure. Use your chosen models, libraries and external APIs.
Your trusted server writes the result to the appropriate customer record and can send a transactional update.
Relay URL calls have a 10-second response timeout. Acknowledge accepted work with a successful response, queue long tasks externally and deduplicate using the event identity. Keep your Gemmein secret key on the server.
Explore the server APIThe owner’s dashboard brings the customer record, access, commerce and conversation into one operational surface. The product keeps working after the initial build.
Inspect profiles, suspend access and end sessions.
Manage the information your app keeps under its selected rules.
See purchases, subscriptions and the access they grant.
Send transactional updates and reply to customer conversations.
See what ran, inspect a failure and replay a delivery.
Inspect tool usage per customer and refused requests with actionable context.
For an agency, the deliverable includes what happens after launch: customers signing in, paying, receiving access and getting help. Deliver a web or mobile app with those foundations and a dashboard the client can use after handover.
The billing individual is the account owner. Each client business has its own account, customer data, products and operating context.
Use the same documented platform across client portals, memberships, digital products and AI apps. Extend each project with the services its specific requirements call for.
The owner runs the Gemmein dashboard. Shared agency workspaces, staff accounts and team seats are not current features.
Live pricing follows monthly active customers in the previous month. A customer counts once on their first authenticated request, across web and mobile. Anonymous visitors do not count.
Build and test before you commit.
$50/month for up to 1,000 people.
Open GemmeinGemmein’s agreed live bands reach $150/month for up to 10,000 people. Beyond that, pricing needs an individual agreement. Payment processing, AI provider usage and your external compute are billed separately by those providers.
Your next month’s band follows the number of active customers this month, including people using an existing session. You can hold your band from the dashboard: neither your bill nor your capacity rises above that band until you release the hold, and both still follow your people down. Storage and other platform allowances still apply; review the current pricing details before going live.
The card is entered in the dashboard itself when you go live, handled by Stripe. Card changes, invoices and cancellation are managed in your Stripe customer portal, opened from Usage & billing.
Your coding agent or development team builds and hosts the frontend. Gemmein provides the backend services and the owner’s operations dashboard. The SDK and agent documentation connect them.
Start by asking your agent to inspect your code and check the Gemmein contract. It should explain which existing services would change, what data would need migrating and any gaps before making changes.
Stripe subscriptions and products have built-in support. Other providers can drive configured customer actions through a relay when their event format and verification scheme are supported. Check the relay documentation for compatibility.
Relays cover the supported customer actions directly. Your arbitrary code and heavy processing run on your own host, with Gemmein’s server API for identity and access checks. A relay can send a signed request to your endpoint.
Gemmein is for apps with email-code sign-in: on the web, on iOS and Android through the Expo entry, and on iOS and the Mac through the Swift package. Social login, dedicated Kotlin/Java SDKs, staff accounts and team seats are not available. Commerce focuses on digital products and subscriptions. Credits are prepaid with a configured cost per AI tool call; postpaid token-based invoicing is not included.
Your app code or a relay can email one customer at a time, with replies in the Inbox. Broadcasts and group sends are not available. Review the notification contract and sending limits when designing your app.
Start with the docs. Build locally for free.