Spark Docs
Everything you need to go from idea to a live app — and to run your AI team.
Quickstart
- 1. On the homepage, pick a project type (Full Stack, Mobile, Website, Extension).
- 2. Describe what you want — plain English or Arabic both work. Attach a screenshot or mockup if you have one.
- 3. Spark writes the files and shows a live preview. Keep chatting to refine — every change is versioned, so you can roll back.
- 4. Hit Publish to get a live link (
spark.s3eidat.com/apps/your-name), or download the zip.
Project types
| Type | What you get | Preview |
|---|---|---|
| Full Stack App | Frontend + Spark Cloud database, accounts, and AI | Desktop frame |
| Mobile App | Installable PWA with offline service worker | Phone frame |
| Website | Multi-page static site with real design | Desktop frame |
| Chrome Extension | Manifest V3 project, zipped for chrome://extensions | Popup frame |
Models
| Model | Best for | Plan |
|---|---|---|
| Spark Lite | Quick tweaks, simple pages | Free |
| Spark 2 | Real apps, balanced speed | One Pro |
| Spark Vision | Building from screenshots & mockups | One Pro |
| Spark 5.5 | Next-gen quality, quick thinking | One Ultimate |
| Spark 5.6 Max | The strongest builder we have | One Ultimate |
Spark Cloud SDK
Full Stack apps automatically include spark-sdk.js. The global window.spark gives your app a database, user accounts, and AI — no keys, no servers.
Database
await spark.db.set('todos', { text: 'Ship it', done: false }) // create → {id}
await spark.db.set('todos', id, { done: true }) // update
await spark.db.get('todos', id) // one doc
await spark.db.list('todos') // newest 100
await spark.db.query('todos', { done: false }, 20) // filter
await spark.db.del('todos', id) // delete
Accounts
Every project gets its own user table. The people who sign up to your app are your users — they never see Spark, never need an s3eidat account, and are invisible to every other project on the platform.
const user = await spark.auth.user() // {id, email, name, avatar} or null
await spark.auth.requireLogin() // built-in sign-in dialog, resolves with the user
await spark.auth.signIn() // same dialog, closeable → user or null
await spark.auth.signup(email, pass, name)
await spark.auth.login(email, pass)
await spark.auth.logout()
spark.auth.onChange(u => render(u)) // fires now, and on every sign in/out
await spark.auth.update({ name: 'Omar' })
await spark.auth.has('pro') // did they buy something granting 'pro'?
Passwords are hashed with bcrypt, sessions are stored as hashes so a database dump can't be replayed, and repeated failed logins are throttled per app.
Access rules
Each collection has a read and a write level, set in the Backend tab:
| Level | Meaning |
|---|---|
| Anyone | Open to every visitor — good for public content |
| Signed in | Any account in this app |
| Only its owner | Each user sees and edits just their own rows |
Owner-scoped collections are enforced in SQL, not in your app code, so a hand-crafted request can't read someone else's rows.
Payments
Connect your own Stripe account in the Backend tab and your app can charge money. Every charge is created directly on your account: the funds, refunds and payouts are yours, and Spark only takes a small fee on top (nothing at all on One Ultimate).
const items = await spark.pay.products() // what you listed in the Backend tab
await spark.pay.checkout('pro') // → Stripe Checkout, then back to your app
await spark.pay.orders() // this user's purchases
if (await spark.auth.has('pro')) unlock() // 'pro' is whatever the item unlocks
AI
const res = await spark.ai.chat('Suggest 3 blog titles about coffee')
console.log(res.content)
Limits: 10,000 docs per app, 64KB per doc, AI calls rate-limited per visitor and billed to the app owner's plan.
AI Employees
Hire named specialists from the roster. Each employee:
- Runs on a schedule (hourly / daily / weekly, Jordan time) and posts deliverables to their feed.
- Can email each deliverable to you.
- Is DM-able — ask follow-ups, redirect their focus, or just chat.
- Talks — every employee has their own voice. Tap on any deliverable or turn on auto-speak in DMs.
Give good standing instructions when you hire: who you are, what your business is, what great output looks like. They follow those instructions on every run.
Limits
| Plan | Generations/day | Models | Employees |
|---|---|---|---|
| Free | 5 | Lite | — |
| One Pro | 50 | Lite, 2, Vision | 2 |
| One Ultimate | 300 | All + 5.5 / 5.6 Max | 10 |
FAQ
Can Spark edit an app I built elsewhere? Not yet — projects start in Spark. You can paste existing code into the chat and ask Spark to rebuild around it.
Is my published app private? Links are unlisted (and no-indexed pre-launch) but public to anyone with the URL. Don't publish secrets.
What about custom domains? On the roadmap. For now apps live under spark.s3eidat.com/apps/.