how it works

Type an idea. Send it.

Frontier AI models write a real, hosted web app in front of you. Keep sending updates in plain English. When you love it, give it a pump.fun coin and it trades right next to the app.

AI models to pick from
18
to a first live version
~20s
lines of code to write
0
signature to launch a coin
1
usesendit.app/build/focus-pomo
  1. Describe
  2. Build
  3. Live
  4. Coin

Claude Sonnet 5.5Build
// waiting for your prompt
Preview appears here

the flow

From one sentence to a live, tradable app.

  1. 01 · Describe

    Say what you want. Or show it.

    Type an idea, drop a screenshot of something you like, and pick a model. The default is Claude Sonnet 5.5, picked from a real build benchmark.

    a pixel pet that gets hungry, with a global leaderboard of the oldest pets

    tamagotchi.pngBuild
    • Claude Sonnet 5.5Best for apps
    • GPT-6.1 SolNewest GPT
    • Gemini 3.8 FlashFast + visual
    • GPT-6 LunaVery cheap
  2. 02 · Build

    Watch it get written, live.

    The app streams into the preview token by token. If a long app gets cut off, the builder keeps going for up to three passes. Only a complete file is ever saved.

    Streamingpass 1 of 3
    <canvas id="pet" width="96" height="96">
    let hunger = 0, age = 0
    setInterval(() => { hunger++; age++ }, 1000)
    feed.onclick = () => { hunger = 0 }
    await sendit.scores.submit(name, age, {
    board: 'oldest' })
    Complete document saved as v1
  3. 03 · Iterate

    Keep sending updates.

    Ask for changes in plain English. Every prompt makes a new version you can compare or restore. Runtime errors get caught in the preview so one click can fix them.

    v4add a night mode and a sleep buttonlive
    v3Fix with AI: 1 runtime errorrestore · 2m
    v2make the pet bounce when fedrestore · 6m
    v1a pixel pet that gets hungry…restore · 9m
  4. 04 · Launch

    Give it a coin when it’s ready.

    Optional, and only when you like it. The AI drafts a name, ticker and icon. You sign once. The server re-checks every byte of the transaction before it goes on chain.

    P

    Pixel Pets $PETS

    website: usesendit.app/app/<mint>

    • You pay the fee and are the creator
    • Mint key co-signed
    • Every instruction matches the build
    • Program allowlist passed
  5. 05 · Trade

    The app sits next to its chart.

    People play the app and trade the coin on the same page. Creator fees go to your wallet. sendit never holds your coin or your SOL.

    Market cap

    $48.2K

    +22.4%
    BuySell

under the hood

A real build pipeline, not a chat box.

Your prompt is wrapped in a strict builder brief, sent to the model you picked, and streamed back live. Nothing reaches your app URL until it is a complete, working document.

  1. 01Your promptText, plus an optional screenshot and your last 6 prompts.
  2. 02Builder briefStrict output rules, a quality bar and the sendit SDK reference.
  3. 03AI GatewayVercel AI Gateway routes the request to the model you picked.
  4. 04Model streamsHTML arrives token by token. Cut off? It continues, up to 3 passes.
  5. 05Checked + savedOnly a complete document is saved as a new version. Never half a page.
  6. 06Live at its URLHosted sandboxed at /p/id, which is also the coin’s website.
  • One file, every time

    Models return one self-contained HTML document. That is why every app can be hosted, downloaded, sandboxed and remixed.

  • Never half a page

    Long apps can outgrow one response. The builder detects a cut-off file and continues, up to three passes, before saving.

  • Sees what you see

    Drop a screenshot and a vision model builds from it. Picked a text-only model? That turn goes to one that can read images.

  • Fixes its own bugs

    The preview catches runtime errors inside your app. One click sends the real error messages back to the model.

You write this

prompt
A tiny space shooter.
- Arrow keys or drag to move, auto-fire
- Enemies speed up every 20 seconds
- Neon on black, chunky pixel font
- Global leaderboard: ask for a name once, show the top 10

The model is briefed with this

builder brief (excerpt)
You are the app builder inside "sendit". You turn a user's idea
into ONE complete, working, beautiful web app delivered as a single
self-contained HTML file.

Output rules (strict):
- Reply with ONLY the HTML document, starting with <!doctype html>.
- Everything lives in this one file: markup, <style> and <script>.
- You MAY load Tailwind, Google Fonts, and libraries from jsdelivr/unpkg.
- Never use external images. Draw with CSS, inline SVG or canvas.
- The app MUST work immediately with no setup, no API keys.

Built-in cloud SDK (already loaded as window.sendit):
- sendit.db.get / set / incr / list   shared by every visitor
- sendit.scores.submit / top          global leaderboards
- sendit.coin(wallet?)                live coin + holder check

And this is what goes live

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Star Dash</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-black text-white">
  <canvas id="game" class="block h-dvh w-full"></canvas>
  <ol id="board" class="fixed right-4 top-4 font-mono text-sm"></ol>
  <script>
    async function gameOver(score) {
      if (!window.sendit) return
      const name = localStorage.getItem('pilot') || prompt('Pilot name?') || 'anon'
      localStorage.setItem('pilot', name)
      const { rank } = await sendit.scores.submit(name, score)
      const top = await sendit.scores.top({ limit: 10 })
      board.innerHTML = top
        .map((r) => `<li class="${r.me ? 'text-green-300' : ''}">#${r.rank} ${r.name} ${r.score}</li>`)
        .join('')
    }
    // ...game loop
  </script>
</body>
</html>

the models

Pick the brain for every prompt.

Every model here passed a real build test. Draft fast, then polish with the strongest coder.

Model docs

Best for real apps

Frontier coders. Slower, far more complete apps.
  • AnthropicClaude Sonnet 5.5DefaultBest for appsanthropic/claude-sonnet-5.5
  • AnthropicClaude Fable 5.1PremiumSmartestanthropic/claude-fable-5.1
  • GPT-6 AstraPremiumDeep thinkeropenai/gpt-6-astra
  • AnthropicClaude Opus 5.5PremiumCarefulanthropic/claude-opus-5.5
  • GPT-6.1 SolNewest GPTopenai/gpt-6.1-sol
  • Z.aiGLM 5.3 PrimeStrong open modelz-ai/glm-5.3-prime
  • QwenQwen 3.8 Max PrimeBig + detailedqwen/qwen3.8-max-prime
  • Grok 4.7Boldx-ai/grok-4.7

Fast + cheap

Quick drafts and small tweaks.
  • Google DeepMindGemini 3.8 FlashFast + visualgoogle/gemini-3.8-flash
  • GPT-6 LunaFast, very cheapopenai/gpt-6-luna
  • Z.aiGLM 5.3 FlashCheapz-ai/glm-5.3-flash
  • DeepSeekDeepSeek V4.1 FlashCheapdeepseek/deepseek-v4.1-flash
  • CohereNorth Mini CodeFreeFreecohere/north-mini-code:free

Free

Always on, through Vercel AI Gateway.
  • Kimi K2.7 CodeMoonshot AI
    Default

    The default. Strongest at long, complete files: games, tools with real logic, careful layouts.

    moonshotai/kimi-k2.7-codespeedReads screenshots
  • Google DeepMind
    Gemini 2.5 FlashGoogle DeepMind

    Bold, playful visuals and reading screenshots. Great for "make it look like this".

    google/gemini-2.5-flashspeedReads screenshots
  • GPT-4.1 miniOpenAI

    Balanced and dependable. Clean structure, good at following detailed specs.

    openai/gpt-4.1-minispeed
  • Z.ai
    GLM 4.7 FlashZ.ai

    Quick drafts and small edits when you want to iterate fast.

    zai/glm-4.7-flashspeed
  • GPT-OSS 120BOpenAI

    Open-weight and the fastest of the set. Good for simple apps and rapid tweaks.

    openai/gpt-oss-120bspeed

built-in sdk

Every app gets a backend

Hosted apps load window.sendit automatically. The AI already knows it, so asking for “a global leaderboard” just works. Limits: 500 keys per app, 8 KB per value, 60 writes and 20 scores a minute per visitor.

Shared cloud storage

Every visitor reads and writes the same data. Guestbooks, polls, counters, shared canvases.

await sendit.db.set('poll:yes', 0)
await sendit.db.incr('poll:yes')
const votes = await sendit.db.get('poll:yes')
const notes = await sendit.db.list('guestbook:')

Global leaderboards

Each player keeps their best score. Use order "asc" for fastest-time boards.

const { rank } = await sendit.scores.submit('ava', 4200)
const top = await sendit.scores.top({ limit: 10 })
await sendit.scores.submit('ava', 9.81, {
  board: 'speedrun', order: 'asc',
})

Coin + holder check

Read the app coin’s live market cap, or check whether a wallet holds it.

const { coin } = await sendit.coin()
coin.marketCapUsd // 41250.12

const { holder } = await sendit.coin(wallet)
if (holder.holds) unlockGoldenMode()

launching a coin

You sign once. We check every byte.

Coins are real pump.fun coins on Solana mainnet. The coin's website is pinned to its app page, forever.

What you do

  • Approve one transaction in your own wallet
  • Optionally add a first buy in the same signature
  • Keep 100% of pump.fun creator fees

What the server checks before relaying

  • Fee payer and creator are your wallet
  • Every signature is valid and the mint co-signed
  • Every instruction matches what we built
  • Only allowlisted programs, anything else is refused

Anything modified after signing is refused.

faq

Questions

Still curious? The docs go deeper.

Do I need a coin to build?

No. Build, iterate and share as much as you like. A coin is optional and you can launch one any time from the studio, or never.

Which AI writes my app?

The one you pick, per prompt. There are 18 models. Claude Sonnet 5.5 is the default, picked from a real one-file app benchmark. Premium models like Claude Fable 5.1 and GPT-6 Astra are there for harder builds.

Who gets the creator fees?

You. The wallet that signs the launch is the coin’s creator on pump.fun, and pump.fun pays creator fees to it. sendit takes nothing and never holds your coin or SOL.

Does my app need a backend?

No. Every hosted app gets window.sendit: shared storage, global leaderboards and live coin data, with no keys or setup.

Who can edit my app?

Only you. Editing needs the private build key saved in your browser when you started the app. Anyone can remix it into their own copy.

Can I bring an app built somewhere else?

No. sendit is for apps built here, so every coin points at an app anyone can open, play and remix, with a public version history.

Your next app is one sentence away.