Documentation

How do I launch an AI-generated app?

Ellivate is a publishing platform for AI-generated personal software. You write the app with an LLM; we handle storage, auth, sharing, hosting, and the mobile super-app shell. You never write a Dockerfile, a vercel.json, or a deploy script.

Two ways in

Pick the door that matches where you are right now. They're the same product underneath; they meet you at different starting points.

If you don't have code yet

Open app.ellivate.ai (or the mobile app), tap New tool, describe what you want in English. The AI builds the first version and you get a live URL within a couple of minutes. Tweak by describing changes — never see a line of code. See Build your first tool.

If you already wrote your tool

You've been building with Claude Code, Cursor, Windsurf, ChatGPT, raw prompting, or your usual editor. Ship it:

npm install -g @ellivateai/cli
ellivate login
ellivate publish

Or drop the project folder in the dashboard, or have Claude Code publish it for you via the MCP integration. Three paths to the same place. See Bring your code.

Either way, the tool lands at <you>.ellivate.ai/<app> with storage, auth, sharing, and a mobile shell wired up. Ellivate inspects the code, rewrites persistence to our cloud, wires up shared-session auth, and deploys. If something doesn't fit our model you get a loud, specific error — never a silent misbehave.

What Ellivate is

A home for the long tail of personal software — the grocery list your kid and you both edit, the reading tracker only your book club uses, the internal tool your team needs but no SaaS ships. You vibe-code it with Claude / ChatGPT / Cursor / Windsurf / raw prompting (or you describe it to Ellivate and let it write the first version), then ship it without becoming a devops engineer.

Every tool you publish lands in three places: your web dashboard at app.ellivate.ai, the Ellivate iPhone super-app, and any Ellivate Desktop install you have on a Mac. Tools you share with someone else show up in their dashboard the same way — one home for everything across the household / friend group / team / company.

What Ellivate isn't

  • Not a product platform. If you're building a product — something you plan to sell, market, scale to strangers, or turn into a company — use Vercel, Railway, or Fly. Ellivate is explicitly for the personal tier: tools you make for yourself, your household, your team, or your friends. We make the tooling and the sharing feel great at that scale; we don't compete on the commercial-product axis.
  • Not Vercel-for-AI. Vercel and Railway are where developers deploy code for other developers to deploy. Ellivate is where a non-developer who prompted an LLM ships something real. You don't pick a region, you don't wire a database, you don't write env files.
  • Not an LLM wrapper. Ellivate doesn't generate code for you — your AI tool already does. We're the publishing layer that catches what the LLM produces and makes it real software that the people in your life can use.
  • Not an IDE. You build wherever you already build (Claude Code, Cursor, Windsurf, ChatGPT's canvas, your terminal). Ellivate meets your code where it is.

What you can publish today

Two axes — the framework your code is in, and the cloud capabilities Ellivate hooks into for you.

Framework shapes

These ship cleanly. Each has a walkthrough in the App shapes section of the nav:

  • Next.js — frontend-heavy web apps. Server components, server actions, API routes.
  • Flask — Python backends, CRUD, HTML-over-the-wire patterns.
  • FastAPI — async Python APIs with typed request/response.
  • Streamlit — data apps, internal tools, dashboards.
  • Vanilla HTML + JavaScript — plain index.html with script tags. Single-file apps an LLM emits in a chat window land cleanly.
  • Playwright agents — browser automation scripts deployed as always-on workers.

Cloud primitives

The SDK Ellivate writes into your project at publish time gives your code seven typed primitives. Same surface in JS and Python:

  • ellivate.kv — key-value persistence with personal / shared / public scopes.
  • ellivate.blob — binary storage for photos, audio, documents.
  • ellivate.collection — structured lists with where-filters; no SQL needed.
  • ellivate.reason — LLM calls. Provider/model picking handled for you.
  • ellivate.schedule — one-shot, cron, and delayed handlers.
  • ellivate.notify — push notifications via the mobile shell.
  • ellivate.viewer() — who's using the tool right now.

See the JavaScript and Python SDK references for full signatures.

Working with an AI coding tool

If you build in Claude Code, Cursor, or Windsurf, hook the Ellivate MCP server into your AI tool. Your LLM then knows Ellivate's conventions while it writes — it'll use our persistence SDK instead of localStorage, skip sign-in forms because identity is shared-shell, and structure the code to publish cleanly on the first try.

Easy path: Ellivate Desktop

Install Ellivate Desktop. It detects which AI tools you have on your Mac (Claude Code, Cursor, Windsurf) and offers to wire up the MCP server for you. One click. Recommended for anyone who hasn't set up MCP servers before — no config files, no terminal commands.

Manual path

Or run the install command directly in Claude Code:

claude mcp add ellivate \
  --scope user \
  --transport stdio \
  -- npx -y @ellivateai/mcp-server

See Bring your code → Claude Code for the Cursor and Windsurf equivalents.

Either path is optional — Ellivate's server-side translators catch most code shapes even if your LLM didn't know the conventions upfront. But pre-ingest refactor via MCP gives the builder a chance to see the diff first, and produces cleaner commits.

How sharing works

Every app has a single canonical URL: <your-username>.ellivate.ai/<app-slug>. Anyone you share that URL with lands on your app through Ellivate's shell.

  • Public apps anyone can open without signing in.
  • Private apps require an Ellivate account; you invite people by email. If they're not on Ellivate yet, they get a signup link scoped to your app — they sign up, the app is in their dashboard on first load.
  • Shared data modes let invitees either see the owner's data (one shared list everyone edits) or get their own copy (each user has their own state).

Where to go next

  • Build your first tool — for non-technical users; describe a tool, AI builds it, you tweak with English.
  • Bring your code — for builders who already wrote a tool; MCP, CLI, or dashboard publish.
  • The Ellivate contract — what "Ellivate-ready" means, and how loud failures keep you out of trouble.