Ninoo

Ninoo Builder

Supabase, Stripe and AI

Connect the services a real app runs on, from More → Integrations in your project. Keys you add there go straight to where your app reads them, and Ninoo never shows them again.

Supabase: database, sign-in and server functions

Supabase gives your app a Postgres database, user sign-in, file storage and server functions. You connect your own Supabase account, so the project and its data are yours, and Supabase bills you under your Supabase plan. Ninoo sets it up from your app's code.

  1. 01

    Connect your account

    Owner only. Press Connect Supabase, sign in on supabase.com and allow Ninoo to manage your projects.
  2. 02

    Pick or create a project

    Use one you have, or let Ninoo create an empty one. Creating takes about two minutes.
  3. 03

    Ninoo points the app at it

    Your .env gets VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY and VITE_SUPABASE_PROJECT_ID. These are safe to show in a web page. Secret keys never go there.
  4. 04

    Apply the backend changes

    Tables live in supabase/migrations and server functions in supabase/functions. When they change, a Backend changes bar appears above the chat box. The owner presses Apply to put them live.
Who can do whatThe owner connects, applies backend changes and publishes. Editors build and see the Backend changes bar, but the owner puts the changes live: they run with the owner's Supabase sign-in and keys. Viewers only see whether it's connected.
Database changesNinoo writes each change as a new migration file and applies them in order. If one fails, it stops there and offers Fix it.
UndoUndo and Restore change your files, not the database. A table that was added stays until a new change removes it.
Preview and liveThe preview and the published app use the same Supabase project, so the preview works with real data.
Sign-in linksNinoo allows sign-in links to return to <your-app>.ninoo.app and to previews, and sets the site address when you publish.
PublishingPublish waits until waiting database changes are applied, so a new front end never goes live without its tables.
DisconnectingNinoo stops managing the project. The project and its data stay in your Supabase account.

Moving an app off Lovable Cloud

An app imported from Lovable still talks to its Lovable Cloud backend, and the Builder shows a warning: anything you do in the preview changes real data. The Move from Lovable checklist moves it to your own Supabase step by step, data, users and files included. See Move a whole app from Lovable.

Stripe: take payments

Use your own Stripe account. Paste a key from Stripe → Developers → API keys. A restricted key (rk_…) with only what the app needs is safest; start with a test key.

Apps on SupabaseA Supabase function secret named STRIPE_SECRET_KEY. Ninoo keeps no copy.
Apps with a Python backendStored encrypted and added to the published backend. A test key also goes in the preview's .env; a live key never does.

Tick Set up the webhook and Ninoo creates the endpoint in your Stripe account and saves its signing secret as STRIPE_WEBHOOK_SECRET. Apps that use Stripe Connect can add a second endpoint for connected accounts. The agent builds payments with Stripe Checkout, checks each webhook's signature and never stores card numbers.

AI inside your app

Turn on Nicrron AI to let the app call AI models. Ninoo creates a key on the owner's Nicrron account with a total spend limit ($10 to start, up to $1000) and gives it to the app as NICRRON_API_KEY. Usage comes out of the owner's balance. The key stops once the app has spent that much in total; raise the limit to keep going. It shows on your nicrron.ai Keys page, and turning AI off stops it within a minute.

Apps from Lovable

Lovable apps call Lovable's AI service, which only works on Lovable. Ask Ninoo to switch them to Nicrron: the request format is the same.

Secrets

The Secrets list shows the keys your server code reads that aren't set yet, like an email or maps API key. Add a value and it goes to your Supabase project, or to your published Python backend. Only names are shown back. For a Python backend, .env plus secrets must fit in 4 KB.

More about the Python option on Python backends and data.